2.5.5. Reglas FORWARD y NAT
La mayoría de los ISP proporcionan un número limitado de direcciones IP dirigibles públicamente a las organizaciones que sirven.
Los administradores deben, por lo tanto, buscar otras formas de acceder a los servicios de Internet sin dar direcciones IP públicas a cada nodo en la LAN. El uso de direcciones IP privadas es la forma más común de permitir que todos los nodos en una LAN accedan correctamente a los servicios internos y externos de red.
Los enrutadores perimetrales (tales como los cortafuegos) pueden recibir transmisiones de entrada desde la Internet y dirigir los paquetes al nodo de LAN. Al mismo tiempo, los cortafuegos o puertas de enlace también pueden dirigir solicitudes de salida desde un nodo de LAN a un servicio de Internet remoto.
El reenvío de tráfico de redes puede ser peligroso a veces, especialmente con la disponibilidad de herramientas de pirateo modernas que pueden enmascarar direcciones IP internas y hacer que los agresores utilicen la máquina como un nodo en su LAN.
iptables
proporciona políticas de enrutamiento y reenvío que se pueden implementar para prevenir el uso anormal de los recursos de la red.
La cadena de
FORWARD
permite al administrador controlar a dónde se pueden dirigir los paquetes dentro de una LAN. Por ejemplo, para permitir el reenvío de toda la LAN (asumiendo que al cortafuegos o puerta de enlade se le asigna una dirección IP interna en eth1), use las siguientes reglas:
[root@myServer ~ ] # iptables -A FORWARD -i eth1 -j ACCEPT [root@myServer ~ ] # iptables -A FORWARD -o eth1 -j ACCEPT
Esta regla provee acceso a la red interna detrás del cortafuegos o puerta de enlace. La puerta de enlace dirige los paquetes desde un nodo de LAN a su nodo de destino, pasando todos los paquetes a través de su dispositivo
eth1
.
Nota
Por defecto, la política IPv4 en kernel de Red Hat Enterprise Linux desactiva el soporte para reenvío IP. De esta manera, evita que las máquinas que ejecutan Red Hat Enterprise Linux funcionen como enrutadores perimetrales dedicados. Para activar el reenvío de IP, use el siguiente comando:
[root@myServer ~ ] # sysctl -w net.ipv4.ip_forward=1
Este cambio de configuración es únicamente válido para la sesión actual; no persiste en el re-arranque o reinicio del servicio de red. Para configurar de forma permanente el reenvío de IP, edite el archivo
/etc/sysctl.conf
, así:
Localice la siguiente línea:
net.ipv4.ip_forward = 0
Edítela para que se lea así:
net.ipv4.ip_forward = 1
Use el siguiente comando para permitir el cambio en el archivo
sysctl.conf
:
[root@myServer ~ ] # sysctl -p /etc/sysctl.conf
2.5.5.1. Post-enrutamiento y enmascarado de IP
La aceptación de paquetes reenviados a través del dispositivo IP interno de cortafuegos permite que nodos de LAN se comuniquen entre sí; no obstante aún no pueden comunicarse externamente a la Internet.
Para que los nodos LAN con direcciones IP privadas puedan comunicarse con redes públicas externas, configure el cortafuegos para IP masquerading, el cual enmascara solicitudes desde nodos LAN con la dirección IP del dispositivo externo de cortafuegos (en este caso, eth0):
[root@myServer ~ ] # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Esta regla usa la tabla que concuerda con el paquete de NAT (
-t nat
) y especifica la cadena incorporada POSTROUTING para NAT (-A POSTROUTING
) en el dispositivo de red externo de cortafuegos (-o eth0
).
POST-Enrutamiento permite la alteración de paquetes cuando están saliendo del dispositivo externo de cortafuegos.
El destino
-j MASQUERADE
se especifica para enmascarar la dirección IP privada de un nodo con la dirección IP externa del cortafuegos o Puerta de enlace.