Jak skonfigurować firewallD Centos 7, aby umożliwić kontenerom dokerów bezpłatny dostęp do portów sieciowych hosta?


32

Mam dokera zainstalowanego na CentOS 7 i korzystam z firewalla D.

Z wnętrza mojego kontenera idę do hosta (domyślnie 172.17.42.1)

Przy włączonej zaporze ogniowej

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

z zamknięciem zapory ogniowej

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

Przeczytałem dokumenty na firewalld i nie do końca je rozumiem. Czy istnieje sposób, aby po prostu zezwolić na wszystko w kontenerze dokera (chyba na adapterze dokera0) nieograniczony dostęp do hosta?

Odpowiedzi:


31

Może lepiej niż wcześniejsza odpowiedź;

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

6
Uważam, że add-portjest to zbyteczne. Jeśli docker0zostanie oznaczony jako zaufany, port ten i tak zostanie przepuszczony.
Matt Hughes,

6
@MattHughes To działało dla mnie bez add-port. Musisz także zrestartować okno dokowane .
rdupz

1
Pracował po ponownym uruchomieniu firewalla, a nie
dokera

10

Te polecenia załatwiły sprawę:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.