web-dev-qa-db-fra.com

UFW ne bloque pas les connexions à l'instance de docker

J'ai un service Web qui s'exécute dans une instance de docker à l'aide de la commande suivante:

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

Mes règles UFW ressemblent à ceci:

~ Sudo ufw status
Status: active

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

Lorsque j'accède à la boîte directement via son IP, je peux accéder au port 4040. Pourquoi la règle ufw ne la bloque-t-elle pas?

Remarque: dans le cadre de l'installation du menu fixe, j'ai changé

DEFAULT_FORWARD_POLICY = "DROP" à DEFAULT_FORWARD_POLICY = "ACCEPT"

dans/etc/default/ufw selon les instructions des dockers ici ( http://docs.docker.io/en/latest/installation/ubuntulinux/#docker-and-ufw )

5
mrwooster

J'ai eu le même problème et l'ai résolu en utilisant IPTABLES à la place.

Exemple pour autoriser uniquement 3306 à partir de l'IP source xxx.xxx.xxx.xxx:

Ajoute un accept pour la source correspondant à notre ip à la ligne 1 de la chaîne FORWARD

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

Supprime toutes les autres connexions sur la chaîne FORWARD pour ce port

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

L'utilisation des numéros de ligne (1 et 2) force l'ajout de règles au-dessus de celles créées par docker, telles que:

-A FORWARD -d 0.0.0.0/32! -i docker0 -o docker0 -p tcp -m tcp --dport 3306 -j ACCEPTER

3
andyg5000

Il y a un problème connu lié à cela. Fondamentalement, docker configure Iptables derrière UFW.

Plus d'information:

La courte réponse possible:

Set DEFAULT_FORWARD_POLICY="ACCEPT" in /etc/default/ufw
Set DOCKER_OPTS="--iptables=false" in /etc/default/docker
2
angelcervera

Essayez d’exécuter le conteneur avec une adresse IP spécifique.

docker run -d -p 127.0.0.1:4040:4040 ...
0
Anonymous