Página siguiente Página anterior Índice general

9. Mezclar NAT y el filtrado de paquetes

Es normal que desee hacer Network Address Translation (vea el NAT COMO) y filtrado de paquetes. Las buenas noticias es que se pueden mezclar extremadamente bien.

Puede diseñar su filtrado de paquetes ignorando completamente lo que haga con NAT. Los orígenes y destinos vistos por el filtrado de paquetes serán los «reales». Por ejemplo, si está haciendo DNAT para enviar cualquier conexión al puerto 1.2.3.4 puerto 80 hacia 10.1.1.1 puerto 8080, el filtro verá que el paquete va a 10.1.1.1 puerto 8080 (el destino real), no 1.2.3.4 puerto 80. De forma similar, puede ignorar el enmascaramiento: los paquetes parecerán venir de la dirección IP interna (digamos 10.1.1.1), y las respuestas aparecerán como que van hacia allí.

Puede usar la extensión de coincidencias «state» sin que el filtro de paquetes tenga que hacer trabajo extra, ya que NAT precisa de seguimiento de conexiones de todas formas. Para mejorar el ejemplo de enmascaramiento sencillo del NAT COMO de manera que evite nuevas conexiones que vengan de la interfaz ppp0, podría hacer esto:

# Enmascarar ppp0
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Prohibir paquetes NEW e INVALID que vengan de o sean redirigidos
# por ppp0
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP

# Activar el reenvío IP (IP Forwarding)
echo 1 > /proc/sys/net/ipv4/ip_forward


Página siguiente Página anterior Índice general