Ajuda por favor.
Iptables em POSTROUTING não reconhecem a ponte docker0. Pode haver algum outro problema, mas parece que os pacotes não passam pelas regras nas quais a ponte docker é a fonte dos pacotes.
1) net.ipv4.ip_forward = 1
2) Rede do host. interfaces:
docker0 172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 #docker bridge eno1 z.z.z.186 #real interface
3) Rede de contêineres Docker. interface:
eth0 172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
4) Tabela de roteamento do host:
Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 z.z.z.185 0.0.0.0 UG 0 0 0 eno1 10.10.49.0 0.0.0.0 255.255.255.0 U 0 0 0 eno2 z.z.z.184 0.0.0.0 255.255.255.248 U 0 0 0 eno1 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
5) Tabela FILTER Iptables:
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- any docker0 anywhere anywhere 3145 264K ACCEPT all -- docker0 any anywhere anywhere
e tabela NAT
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 MASQUERADE all -- * eno1 172.17.0.0/16 !172.17.0.0/16 0 0 MASQUERADE all -- * eno1 172.17.0.1 0.0.0.0/0 0 0 MASQUERADE all -- * eno1 172.17.0.2 0.0.0.0/0 0 0 MASQUERADE all -- * eno1 172.17.0.0/16 0.0.0.0/0 105 6769 MASQUERADE all -- * eno1 0.0.0.0/0 0.0.0.0/0
Portanto, o contêiner do docker (172.17.0.2) pode se comunicar com o host (z.z.z.186), mas não com a Internet. Não recebe resposta de ping do gateway padrão do host (z.z.z.185).
Eu ficarei feliz em ter idéias.