Я хочу к явно открытым портам на моих песнях 7 машин, таким образом, я настроил firewalld с отбрасыванием как зона по умолчанию и моя внешняя зона в моем общедоступном интерфейсе. Когда я работаю python -m SimpleHTTPServer 8000
и поражает поле на порте 8000, это перестало работать. Но если я добавляю порт к внешней зоне.Работает. Все как ожидалось.
Однако, когда я запускаю контейнер докера на порте 8000, и я поразил поле внешне, я могу добраться до сервиса. Который не является тем, что я хочу произойти. Я хочу, чтобы это только было доступно, если я открываю порт 8000 на внешней зоне.
Даже если я связываю контейнер докера с общедоступным адресом поля, это все еще обходит брандмауэр. Я могу предоставить больше информации в случае необходимости как таблицы маршрутизации и соединить интерфейсом с конфигурацией, но я не вполне знаю то, что полезно. Надеясь учиться.
Поле имеет два физических интерфейса на нем, eth0, которому присвоили общедоступный IP ему и eth1, который подключен к частной сети, и я хочу иметь доступный.
РЕДАКТИРОВАНИЕ, РЕШЕННОЕ добавленный --iptables=false
к опциям докера.
Помните, что Docker открывает порты в брандмауэре, если вы явно не сказали ему этого не делать. -
Просто нужно было добавить --iptables=false
в опции докера.