Lidar com o ip variável do docker em iptables

Lidar com o ip variável do docker em iptables

No meu ambiente de produção, tenho alguns aplicativos no Docker que precisam se conectar a serviços de apoio, por exemplo, o banco de dados no mesmo host. Descobri que precisava abrir uma exceção no iptables para aceitar essas conexões.

No entanto, o intervalo de IP da rede docker varia entre as reinicializações. No início era 172.18.0.0/24, depois 172.17.0.0/24 e 172.20.0.0/24, agora os ips são 192.168.172.2 e 192.168.192.3.

Como você pode aceitar o tráfego do Docker de dentro de um contêiner para dizer mariadb de maneira confiável e segura?

EDIT: Uma resposta parece serespecificando a configuração do IPAM, mas anexar a uma interface parece mais elegante

Responder1

Duas opções:

Primeiro

Permita o acesso a partir da docker0interface em vez de um intervalo de IP específico.

iptable -A INPUT -i docker0 -dport 3306

Segundo

Mova o banco de dados para um contêiner.

Crie uma janela de encaixe chamada rede

Certifique-se de que todos os contêineres estejam conectados à rede nomeada. Você poderá então acessar o contêiner do banco de dados pelo nome de qualquer outro contêiner (na mesma rede).

Se você precisar acessar o banco de dados externamente, você pode mapear a porta e configurar as regras do iptables que deseja protegê-lo.

informação relacionada