Taula de continguts

Docker, restricción IP

Docker manipula iptables directamente y sus reglas se evalúan antes que las de UFW. Si publicas el puerto con -p 2222:22 (o ports: «2222:22» en compose), el puerto quedará abierto a todo Internet aunque UFW diga lo contrario. La regla de arriba no restringe nada por sí sola en ese caso.

enfoques

iptables + ipset

iptables

1 IP

+ 1 IP

# Primero el DROP general del puerto 2222
sudo iptables -I DOCKER-USER 1 -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -j DROP
 
# Después, por encima, cada IP autorizada
sudo iptables -I DOCKER-USER 1 -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -s 88.26.243.132 -j RETURN
sudo iptables -I DOCKER-USER 1 -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -s 203.0.113.10 -j RETURN

diagnósticos

nc -zv <IP_SERVIDOR> 2221
sftp -vvv -P 2221 clienteA@<IP_SERVIDOR>
sudo ss -tlnp | grep -E '2221'