Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
tech:docker:restriccion-ip [21/09/2026 13:52] – [iptables + ipset] matetech:docker:restriccion-ip [29/09/2026 12:41] (actual) – mate
Línia 1: Línia 1:
 = Docker, restricción IP = Docker, restricción IP
 +{{tag>docker}}
 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. 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.
  
Línia 12: Línia 13:
  
 == iptables + ipset == iptables + ipset
-  * instalación y configuración IPSET:<code bash>sudo apt install ipset +  * IPSET: [[linux:tcpip:ipset|]] 
-sudo ipset create sftp_allowed hash:ip +  * añadir regla IPTABLES con IPSET (sftp_allowed):<code bash>
-sudo ipset add sftp_allowed 88.26.243.132 +
-sudo ipset add sftp_allowed 203.0.113.10</code><code bash>+
 sudo iptables -I DOCKER-USER -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -m set ! --match-set sftp_allowed src -j DROP # añadir</code><code bash> sudo iptables -I DOCKER-USER -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -m set ! --match-set sftp_allowed src -j DROP # añadir</code><code bash>
 sudo iptables -D DOCKER-USER -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -m set ! --match-set sftp_allowed src -j DROP # quitar sudo iptables -D DOCKER-USER -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -m set ! --match-set sftp_allowed src -j DROP # quitar
 sudo iptables -L DOCKER-USER -n --line-numbers sudo iptables -L DOCKER-USER -n --line-numbers
 sudo iptables -D DOCKER-USER <número></code> sudo iptables -D DOCKER-USER <número></code>
-  * modificación de IPs:<code bash>sudo ipset add sftp_allowed 198.51.100.7 +  * modificación de IPs:[[linux:tcpip:ipset|]]
-sudo ipset del sftp_allowed 203.0.113.10   # para quitar una +
-sudo ipset list sftp_allowed               # para ver el contenido</code>+
   * persistencia:<code ini /etc/systemd/system/docker-sftp-filter.service>   * persistencia:<code ini /etc/systemd/system/docker-sftp-filter.service>
 [Unit] [Unit]
Línia 71: Línia 68:
 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 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</code> sudo iptables -I DOCKER-USER 1 -i eth0 -p tcp -m conntrack --ctorigdstport 2222 --ctdir ORIGINAL -s 203.0.113.10 -j RETURN</code>
 +
 +=== diagnósticos
 +<code bash>nc -zv <IP_SERVIDOR> 2221</code>
 +<code bash>sftp -vvv -P 2221 clienteA@<IP_SERVIDOR></code>
 +<code bash>sudo ss -tlnp | grep -E '2221'</code>
  • tech/docker/restriccion-ip.1789991543.txt.gz
  • Darrera modificació: 21/09/2026 13:52
  • per mate