TL; DR tentando mascarar tudo, desde Docker com firewalld manualmente.
Eu apenas comecei a usar firewalld na minha máquina Debian 10 desde que eu quero aprender como funciona.
Eu tenho Docker instalado no host e quero gerenciar o firewall sozinho para saber mais sobre o que o Docker faz, quais regras etc. aplica-se quando os contêineres são criados e como o firewalld funciona.
Como o Debian 10 usa nftables por padrão e usar algum tipo de iptables wrapper para poder usar iptables comandos para criar regras de firewall. Docker funciona muito bem quando --iptables está ativado.
No entanto, eu quero usar firewalld com nftables backend e pular tudo o que tem a ver com iptables já que é apenas confuso. Então em /etc/systemd/system/multi-user.target.wants/docker.service Eu adicionei --iptables=false portanto, o Docker não mexe com o firewall.Eu corei todas as regras iptables etc. e tudo é bom até agora.
Agora para o meu problema.
Todos os contêineres podem acessar o host e uns aos outros, mas não a internet.Como todos eles estão sendo executados em 172.17.0.0/16 e meu host está em 192.168.9.0 / 24, preciso mascarar o tráfego dos contêineres.
Não consigo encontrar muitas informações sobre como gerenciar o firewall manualmente ao usar o Docker e, como sou novo no firewalld, estou apenas supondo.
Minhas interfaces são as seguintes:
eno1 (main interface)docker0 (docker bridge)veth******* (one for each container)todos os veth as interfaces estão no docker0 ponte.
Então eu pensei que poderia criar uma nova zona chamada docker e mascarar tudo, desde o docker0 ponte.
~# firewall-cmd --permanent --new-zone=docker~# firewall-cmd --permanent --zone=docker --change-interface=docker0~# firewall-cmd --permanent --zone=docker --add-rich-rule='rule family="ipv4" source address=172.17.0.0/16 masquerade'~# firewall-cmd --reloadListar as zonas ativas me dá isso:
~# firewall-cmd --get-active-zonesdocker interfaces: docker0public interfaces: eno1Ainda não consigo acessar a internet a partir dos contêineres.Não tenho ideia se esse é o caminho certo ou o que estou perdendo.Qualquer ajuda é apreciada.