Назад | Перейти на главную страницу

firewalld не блокирует порты контейнера докеров

Я хочу явно открывать порты на моем компьютере с centos 7, поэтому я настроил firewalld с drop в качестве зоны по умолчанию и мою внешнюю зону в моем общедоступном интерфейсе. Когда я бегу python -m SimpleHTTPServer 8000 и ударил коробку на порт 8000, это не удается. Но если я добавлю порт во внешнюю зону. Оно работает. Все как положено.

Однако, когда я запускаю контейнер докеров на порту 8000 и нажимаю на коробку извне, я могу получить доступ к службе. Этого я не хочу. Я хочу, чтобы это было доступно только в том случае, если я открою порт 8000 во внешней зоне.

Даже если я привяжу докер-контейнер к общедоступному адресу ящика, он все равно обойдет брандмауэр. При необходимости я могу предоставить дополнительную информацию, например, таблицы маршрутов и конфигурацию интерфейса, но я не совсем понимаю, что полезно. Хотите учиться.

На коробке есть два физических интерфейса: eth0, которому назначен общедоступный IP-адрес, и eth1, который подключен к частной сети, и я хочу, чтобы он был доступен.

EDIT SOLVED добавлен --iptables=false к параметрам докера.

Помните, что Docker открывает порты в брандмауэре, если вы явно не сказали ему этого не делать. -

Просто нужно было добавить --iptables=false к параметрам докера.