Як налаштувати Centos 7 firewallD, щоб док-контейнерам було надано вільний доступ до мережевих портів хоста?


32

У мене встановлений докер на CentOS 7 і я працюю firewallD.

Зсередини мого контейнера, перехід до хоста (за замовчуванням 172.17.42.1)

З брандмауером увімкнено

container# nc -v  172.17.42.1  4243
nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host

з відключенням брандмауера

container# nc -v  172.17.42.1  4243
Connection to 172.17.42.1 4243 port [tcp/*] succeeded!

Я читав документи на firewalld і не цілком їх розумію. Чи є спосіб просто дозволити все в контейнері докера (я думаю, на адаптері docker0) необмежений доступ до хоста?

Відповіді:


31

Можливо, краще, ніж раніше відповідь;

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
firewall-cmd --reload

6
Я вважаю, що add-portце зайве. Якщо docker0позначено як надійний, цей порт все одно буде пропущений.
Мет Х'юз

6
@MattHughes Це працювало для мене без цього add-port. Вам також потрібно перезапустити докер .
rdupz

1
Працював після перезапуску firewalld, не докер
cybersoft

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.