iptables -I ADELANTE -i docker0! -d 8.8.8.8 -j SOLTAR

iptables -I ADELANTE -i docker0! -d 8.8.8.8 -j SOLTAR

Tengo una respuesta que limitará los contenedores acoplables para que solo puedan acceder a una única dirección IP fuera del host. Usando esta regla de iptables en el host:

iptables -I ADELANTE -i docker0! -d 8.8.8.8 -j SOLTAR

significa que desde el interior de cualquier contenedor acoplable solo es posible acceder a la dirección IP 8.8.8.8.

Esto es bastante drástico; básicamente, si el destino NO es 8.8.8.8, entonces descarte el paquete.

¿Cuál es la mejor manera de configurar reglas que me permitan limitar los contenedores a una cierta cantidad de direcciones IP?

Respuesta1

Necesitaba asegurarme de que la copia de desarrollo del sitio web que estaba en el contenedor acoplable no pudiera acceder a ningún recurso en vivo: Paypal, varias API, etc. El código en el sitio web era heredado y muchas cosas/URL estaban codificadas.

La forma en que logré esto fue tener algo como esto en el script de compilación:

echo
echo "Setting up firewall rules for all docker containers..."
sudo ipset create dockerdests hash:ip -exist
sudo ipset add dockerdests x.x.x.x -exist
sudo ipset add dockerdests y.y.y.y -exist
sudo ipset add dockerdests 8.8.8.8 -exist
sudo ipset add dockerdests 8.8.4.4 -exist
sudo iptables -I FORWARD 1 -i docker0 -m set --match-set dockerdests dst -j ACCEPT
sudo iptables -I FORWARD 2 -i docker0 -j DROP

donde xxxx y yyyy son recursos de desarrollo.

información relacionada