Cómo utilizar iptables para implementar NAT
1. NAT de origen (SNAT)
Por ejemplo, cambie la dirección IP de origen de todos los paquetes de 192.168.1.0/24 a 1.2.3.4:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT - - -to 1.2.3.3.4:
Esta es la primera vez que uso SNAT.
Cabe señalar aquí que el sistema no realizará SNAT hasta que el paquete de datos esté a punto de transmitirse después de que se completen operaciones como el enrutamiento y la cobertura.
Existe un caso especial de SNAT llamado IP spoofing, también conocido como spoofing, que generalmente se recomienda cuando se utiliza acceso telefónico o cuando la dirección IP legítima no está fija. Por ejemplo
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Como puede ver, no es necesario especificar explícitamente información como la dirección IP de origen en esta vez.
2. SNAT de destino (DNAT)
Por ejemplo, cambie la dirección IP de destino de todos los paquetes de 192.168.1.0/24 a 1.2.3.4:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 1.2.3.4
Cabe señalar aquí que el sistema realizará DNAT antes del enrutamiento y la cobertura.
Un caso especial de DNAT es la redirección, también conocida como redirección, que equivale a cambiar la dirección IP de destino de un paquete elegible por la dirección IP de la interfaz de red a través de la cual el paquete ingresa al sistema. Generalmente se configura con Squid para formar un proxy transparente. Suponiendo que el puerto de escucha de Squid es 3128, podemos redirigir el paquete con el puerto de destino 80 desde 192.168.1.0/24 al puerto de escucha de Squid:
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT -toport 3128
1 Utilice el controlador de acceso telefónico para conectarse a la LAN
p>La mayoría de las pequeñas empresas y cibercafés. , etc. utilizan redes de acceso telefónico para acceder a Internet. Por lo general, pueden utilizar servidores proxy, pero considerando el tema del costo
Después de actualizar exitosamente el kernel, instale iptables y luego ejecute el siguiente script:
p>
#Cargue los módulos relevantes modprobe ip_tables modprobe ip_nat_ftp # ip disfraz iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
mapeo 2.ip
Supongamos que un ISP proporciona servicios de acceso a Internet en el campus. Para facilitar la gestión, el ISP asigna pseudodirecciones IP a los usuarios del campus, pero algunos usuarios requieren el establecimiento de sus propios servidores WWW para publicar información. Podemos vincular varias direcciones IP legales a la tarjeta de red externa del firewall y luego usar el mapeo de IP para reenviar el paquete enviado a una de las direcciones IP al servidor WWW de un usuario interno y luego reenviar el paquete de respuesta desde el servidor WWW interno. Ocultar paquetes enviados desde IP legítimas.
Supongamos que la situación es la siguiente:
La dirección IP asignada por el ISP al servidor WWW de la unidad A es:
Pseudo IP: 192.168. 1.100
IP real: 202.110.123.100
La dirección IP asignada por el ISP al servidor WWW de la unidad B es:
Pseudo IP: 192.168.1.200
IP real:202.110.123.200
La dirección IP del firewall de Linux es:
Interfaz de red interna eth1:192.168.1.1
Interfaz de red externa eth0:202.110.123.1
Luego vinculamos las IP reales asignadas a las unidades A y B a la interfaz externa del firewall ejecutando el siguiente comando con privilegios de root:
ifconfig eth0 agregue 202.110.123.100 máscara de red 255.255.255.0
ifconfig eth0 agregue 202.110.123.200 máscara de red 255.255.255.0
Después de actualizar exitosamente el kernel, instale iptables y luego ejecute el siguiente script: p>
#Cargar módulos relacionados modprobe ip_tables modprobe ip_nat_ftp
Primero, realice los siguientes cambios en el NAT de destino (DNAT) de todos los paquetes recibidos por el firewall con las IP de destino 202.110.123.100 y 202.110.123.100. :
#Cargar módulos relacionados modprobe ip_tables modprobe ip_nat_ftp110.123.100 y 202.110.123.200:
iptables -A PREROUTING -i eth0 -d 202.110.123.100 -j DNAT --to 192.168 . 1.100 iptables -A PREROUTING -i eth0 -d 202.110.123.200 -j DNAT --to 192.168.1.200
En segundo lugar, para los paquetes con direcciones IP de origen 192.168.1.100 y 192.168.1.200 recibidos por el firewall, Se utiliza NAT de origen (SNAT):
iptables -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT -to 202.110.123.100 iptables -A POSTROUTING -o eth0 -s 192.168.1.200 -j SNAT --to 202.110.123.200
De esta manera, todos los paquetes destinados a la ip 202.110.123.100 y 202.110.123.200 serán reenviados a 192.168.1.100 y 192.168.1.200 respectivamente; .100 y 202.110.123.200 se reenviará a 192.16 8.1.100 y 192.168.1.200.
Todos los paquetes provenientes de 192.168.1.100 y 192.168.1.200 se disfrazarán como provenientes de 202.110.123.100 y 202.110.123.200 respectivamente, implementando así también el mapeo de IP.