Não permitir acesso à Internet do docker

5

Estou procurando uma maneira simples de limitar os contêineres do Docker para que eles tenham acesso local e não acesso à Internet.

Eu tentei usar o IPtables para fazer isso e os seguintes trabalhos:

iptables -I FORWARD -i docker0  -j DROP

mas se o serviço de encaixe for reiniciado, o host local não poderá mais acessar os contêineres.

    
por I Am User 09.04.2016 / 04:45

1 resposta

4

Suponho que por "acesso local" você quer que os contêineres possam se comunicar entre si e com o host do sistema de encaixe, mas não conseguir acessar a rede fora do host do sistema de encaixe?

Você tem algumas opções.

1.

Use o iptables para descartar todos os pacotes de / para o seu externo interface de rede na cadeia DOCKER.

iptables -I DOCKER -i eno1 -j DROP

( eno1 pode ser diferente no seu caso; é o nome da interface de rede no meu host do docker).

2.

Desative o encaminhamento de ip no host do docker.

echo 0 > /proc/sys/net/ipv4/ip_forward

Nota: isso também restringirá qualquer máquina virtual da mesma maneira, mas é a abordagem geral e segura para os mais conscientes da segurança.

FONTE:

Veja link "Comunicação entre containers e o mundo em geral" para mais informações.

    
por 09.04.2016 / 09:17