¿Cómo configurar Centos 7 firewallD para permitir que los contenedores Docker tengan acceso libre a los puertos de red del host?


32

Tengo docker instalado en CentOS 7 y estoy ejecutando firewallD.

Desde el interior de mi contenedor, yendo al host (predeterminado 172.17.42.1)

Con el firewall activado

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

con apagado del cortafuegos

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

He leído los documentos sobre Firewalld y no los entiendo completamente. ¿Hay alguna manera de simplemente permitir que todo en un contenedor acoplable (supongo que en el adaptador docker0) tenga acceso ilimitado al host?

Respuestas:


31

Quizás mejor que la respuesta anterior;

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

66
Creo que add-portes superfluo. Si docker0se marca como confiable, ese puerto se dejará pasar de todos modos.
Matt Hughes

66
@MattHughes Me funcionó sin el add-port. También debe reiniciar la ventana acoplable .
rdupz

1
Trabajó después de reiniciar Firewalld, no
Docker

10

Estos comandos hicieron el truco:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.