NAT ("Network Address Translation")

Para que es NAT ? Cuando se utiliza ?

NAT "Network Address Translation" o IP Masquerade es utilizado comúnmente cuando se requiere conectividad de una LAN a Internet pero solo se tiene acceso a una sola dirección IP de Internet.

Configuración

Para llevar acabo su configuración es necesario realizar los siguientes pasos:

  • Configurar el Kernel para utilizar NAT , por "default" NAT esta habilitado en el Kernel de Linux.
  • Una vez habilitado el Kernel es necesario utilizar los comandos : ipfwadm , ipchains o iptables para finalizar la configuración.

Asumiendo que una computadora Linux actuará como router y sea capaz de soportar múltiples direcciones IP .

Una dirección IP será para comunicarse con la Red Interna (LAN) y la otra funcionara como "Gateway" para Internet, esta ultima interfase puede ser un "Dial-up" (PPP) o una conexión permanente a Internet (Frame Relay, DSL ), su única característica es que debe ser capaz de rutear información fuera de la Red.

Grafica NAT

En el diagrama superior la computadora que opera como router (PC con Linux) esta configurada con las direcciones IP 192.168.1.1 y 172.23.56.12 , mientras que las PCs pertenecientes a la LAN están configuradas con direcciones de la red 192.168.1.0 .

Los pasos de configuración para el router pueden ser ejecutados de tres formas:

osmosis # ipfwadm -F -p deny 
osmosis # ipfwadm -F -a accept -m -S 192.168.1.0/24 -D 0/0 
osmosis # ipchains -P forward -j deny 
osmosis # ipchains -A forward -s 192.168.1.0/24 -d 0/0 -j MASQ 
osmosis # iptables -t nat -P POSTROUTING DROP 
osmosis # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERDE 

Independientemente del comando utilizado los tres realizan la misma labor: Cada ocasión que una computadora de la Red 192.168.1.0 intente conectarse a otra fuera de ésta, el router automáticamente ruteara toda la información a la dirección 172.23.56.12 , cuando los datos retornen al ruteador éste sera capaz de enviar la información al Host original.

Como sabe el Router a que Host (dirección 192.168.1.x) enviar la información ?

Sencillo, no sabe !, envía la información a TODAS las direcciones correspondientes de la interfase, si la PC intercepta un paquete dirigido a ella lo procesa de otra manera descarta la información, este es el "Broadcast" de la redes Ethernet (LAN's)

Links: