UFW não está bloqueando conexões com a instância do docker

5

Eu tenho um webservice em execução em uma instância do Docker que foi executada usando o seguinte comando:

sudo docker run -d -p 4040:4040 ....

As regras do meu UFW são assim:

~ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
4040                       DENY        Anywhere
22                         ALLOW       Anywhere (v6)
4040                       DENY        Anywhere (v6)

Quando eu acesso a caixa diretamente através do seu IP, eu posso acessar a porta 4040. Por que a regra ufw não está bloqueando isso?

Nota: como parte da instalação do docker, alterei

DEFAULT_FORWARD_POLICY="DROP" para DEFAULT_FORWARD_POLICY="ACEITAR"

em / etc / default / ufw conforme as instruções do dockers aqui ( link )

    
por mrwooster 05.02.2014 / 20:48

3 respostas

3

Eu tive o mesmo problema e o resolvi usando IPTABLES.

Exemplo para permitir somente 3306 do ip de origem xxx.xxx.xxx.xxx:

Adiciona uma aceitação para a fonte que corresponde ao nosso ip para a linha 1 da cadeia FORWARD

iptables -I FORWARD 1 -p tcp -i eth0 -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT

Solta todas as outras conexões na cadeia FORWARD dessa porta

iptables -I FORWARD 2 -p tcp -i eth0 --dport 3306 -j DROP

O uso dos números de linha (1 e 2) força as regras a serem adicionadas acima das criadas pelo docker, como:

-A AVANÇAR -d 0.0.0.0/32! -i docker0 -o docker0 -p tcp -m tcp --dport 3306 -j ACCEPT

    
por andyg5000 14.05.2014 / 05:21
2

Há um problema conhecido relacionado a isso. Basicamente, o docker está configurando o Iptables atrás do UFW.

Mais informações:

A resposta curta possível:

Set DEFAULT_FORWARD_POLICY="ACCEPT" in /etc/default/ufw
Set DOCKER_OPTS="--iptables=false" in /etc/default/docker
    
por angelcervera 06.03.2016 / 12:11
0

Tente executar o contêiner com um IP específico.

docker run -d -p 127.0.0.1:4040:4040 ...
    
por Anonymous 02.04.2014 / 17:04