You are on page 1of 25

NAT

Network Access Address Translations

Network Address Translation -NAT-, es un proceso que permite


trasladar una direccin IP en otro equivalente pero de otra subred, a
los fines de poder ser vista desde otra red no con la IP original.
NAT

Network Address
Translation -NAT-
NAT
NAT
Network Address Translation, es una tcnica de traduccin de direcciones, diseada
para poder expander el espacio de direcciones IP, debido a que las direcciones IPv4
pblicas son finitas y escasas en el da de hoy, en la cual las empresas precisas
grandes bloques.

El NAT es muy utilizado, en las empresas, las cuales usan direcciones de LAN
privadas, para salir al mundo pblico, tambin conocido como Internet.

Por ende emplearemos NAT, en los siguientes casos:

Cuando nos queramos conectar a Internet y no tengamos una nica IP Pblica.


Cuando cambiamos de ISP, y no deseamos cambiar las direcciones privadas de
nuestra LAN.
Cuando queremos conectar dos redes IP, en las que el rango de direcciones IP se
superponen.

Las ventajas del NAT las mencionamos a continuacin: conserva las direcciones
pblicas; reduce los casos de solapamiento de direcciones; aumenta la flexibilidad al
conectarnos a Internet.

Las desventajas del NAT seran: introduce procesamiento y delay, ya que el router
debe realizar funciones adicionales; perdemos la traza end to end, o sea tenemos
NAT
NAT -Tipos-

Hay tres tipos de NAT diferentes:

NAT Esttico: este tipo de traslacin permite la traduccin 1 a 1, esto es el cambio


de una local IP address a una nica Global IP address. Para emplear este NAT, debemos
tener una IP pblica para cada PC, y como esto es imposible, debemos solo asignar
direcciones pblicas a aquellas PCs o Servidores que deben ser accedidos desde
Internet. Por ejemplo podemos dar una IP pblica a un Proxy, y que este haga la
traduccin.

NAT Dinmico: este tipo de NAT, permite mapear una Local IP a una Global IP de
un pool de direcciones. Por ejemplo, podemos tener una LAN con mscara /24, y tener
solo 8 IPs pblicas, o sea un /29 para navegar, que es en definitiva lo mismo.

NAT Overloading: es el NAT ms empleado por su flexibilidad y por su utilidad a la


hora de la conservacin de las direcciones IP. Overloading es un Tipo de NAT dinmico
que mapea mltiples direcciones IPs privadas, pero solo a una nica IP Global o
pblica. Este mtodo tambin es conocido como PAT (Port Address Translation), debido
a que el parmetro que emplea para diferenciar los host es el port de capa 4.
NAT
NAT -Nombres-
Es importante comprender la nomenclatura que se emplea en NAT. Luego de que
se ha producido la traslacin, la direccin pasa de ser Local IP a Global IP, que
habitualmente son de dominio pblico.

La Local Address es como se denomina la IP antes de ser procesada por el proceso


de NAT. Estas IPs pueden dividirse en dos tipos: la Inside Local, en donde la IP local
se encuentra dentro del dominio privado y es la IP origen de la comunicacin en la
LAN del host; y la Inside Global que es la IP luego de ser procesada y cambiada por
una IP de dominio pblico.

Luego de la traslacin la Inside Local, pasa a denominarse Inside Global, esto es


fundamental recordar. Entonces pasando en limpio:

Inside Local: nombre de la IP origen antes del NAT.

Outside Local: nombre o IP del host destino despus del NAT.

Inside Global: nombre de la IP origen despus del NAT.

Outside Global: nombre de la IP destino del host antes del NAT.


NAT
NAT -Funcionamiento-
Veamos a continuacin como funciona el NAT esttico.

Lo fundamental de la Traslacin es saber cual es el segmento Inside y cual es


Outside. Para esto, nos basta con indagar en donde se generan o inician las
comunicaciones a nivel de aplicacin. En el lado de la red donde se inician las
comunicaciones, se lo denomina Inside. Veamos la figura:

Inside Local Insid Outside


10.10.10.1/24 e

Inside Local Inside Global


PC1 10.10.10.1/24 190.3.18.2/29

.254 Internet

PC2 LanSwit R1 R2
ch

Tabla NAT
Inside Local 10.10.10.1 Inside Global
190.3.18.2
Inside Local 10.10.10.2 Inside Global
190.3.18.3
Inside Local 10.10.10.3 Inside Global
NAT
NAT -Funcionamiento-
Supongamos que la PC 1, desea comunicarse con un servidor pblico en donde se
aloja una pgina web. Al intentar llegar a ese host en Internet, obviando la consulta
al DNS, colocar como IP destino la Outside Global del Server (vea que el Server
tiene IP pblica). El paquete viajar hasta el default gateway, (R1) el cual debe
encargarse de traducir 1 a 1 la inside local a la inside global.

Este NAT es configurado estticamente por el administrador, ya que al tipear los


comandos sobre el router, el mismo administrador construir la tabla de NAT, accin
que no sucede en el NAT dinmico y el overloading.
NAT
NAT -Funcionamiento-
Veamos ahora un ejemplo de PAT, el cual introduce una variable desconocida hasta
el momento.

Con overloading, todas las IPs de la Inside deben ser traducidas a una nica Inside
Global Address. O sea, todas las comunicaciones vistas desde el mundo exterior, se
generan hacia una sola IP. Observemos la figura a continuacin:

Insid Outside
Inside Local
10.10.10.1/24 e

Inside Local Inside Global


PC1 10.10.10.1/24 190.3.18.2/29

.254 Internet

PC2 LanSwit R1 R2
ch

Tabla NAT
Inside Local Inside Local 10.10.10.1 Inside Global 190.3.18.2:1492 Out Global
10.10.10.2/24 64.23.142.2:23
Inside Local 10.10.10.2 Inside Global 190.3.18.2:1352 Out Global
64.23.142.2:23
Inside Local 10.10.10.3 Inside Global 190.3.18.2:1845 Out Global
NAT
NAT -Funcionamiento-
La comunicacin se inicia desde el lado Inside, en donde las Inside Local se
cambian por una nica Inside Global, a la cual se le agrega el port TCP a los fines de
poder diferenciar cada host dentro de la LAN. Como sabemos TCP, nos entrega
aproximadamente 65000 ports, por ende, el nivel terico mximo de host s a utilizar
con una nica Inside Global, sera 65000.

A modo de informacin, vea que aqu tambin los paquetes se direccionan hacia la
IP destino Outside Global del servidor, ya que no hay NAT en el otro sentido. Tenga
en cuenta que el proceso de NAT demora las comunicaciones e introduce delay, que
aunque no es importante, es de tener en cuenta.
NAT
NAT -Configuracin NAT Esttico-
Observemos la siguiente figura para basarnos sobre un procedimiento de configuracin
real:
DNS
Outside Device Internet 171.69.2.132
171.68.200.48

172.16.47.144/ 171.68.200.0/2
. 4 .49 Bloque a usar para el
28. .48
14 14 NAT
6 5 Router A 172.16.47.160/28
Gateway Inside Device

Supongamos que el Inside Device desea comunicarse a Internet, y para eso precisa,
como hemos visto, antes resolver el dominio por medio de un DNS Server. Si se
observa la figura, el Outside Device posee una IP del mismo bloque que el Inside
Device, por ende la comunicacin entre ambas no se puede establecer sin una
traslacin en el Router A, el cual cambiar el rango privado del lado inside por un
bloque de red que no se superponga con el mundo exterior.

El objetivo del router A es trasladar esa red solapada en el lado Inside, a la red
172.16.47.161/28 que es prefijo que no se ha duplicado en ningn lugar, de manera
que Internet o bien la redes exteriores conozcan a Inside Device con origen la red
NAT
NAT -Configuracin NAT Esttico-
En la siguiente serie de comandos vemos como configurar un NAT Esttico:

Router_A>ena
Router_A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router_A(config)#int s1/1
Router_A(config-if)#ip nat inside
Router_A(config-if)#int s1/0
Router_A(config-if)#ip nat outside
Router_A(config-if)#exit
Router_A(config)#ip nat inside source static 171.68.200.48 172.16.47.161
Router_A(config)#^Z
Router_A#
Router_A#wr

Router_A#sh ip nat trans


Pro Inside global Inside local Outside local Outside global
--- 172.16.47.161 171.68.200.48 --- ---

Lo que nos entrega esta ltima configuracin, es que hay un NAT configurado que
cambia la IP Local 171.68.200.48 a la IP 172.16.47.161, por ende todo el mundo
exterior ver al router con esta ltima.
NAT
NAT -Configuracin NAT Esttico-
Veamos conceptualmente, cual es la accin que toma Router_A, sobre la red a
trasladar. En el ejemplo, hemos verificado la traslacin por medio de un ping hacia
Gateway desde Inside_Devide, y procedimos con el debug ip packets en el primero
de los routers mencionados. Luego de tal accin, hemos realizado lo mismo
nuevamente, a los fines de verificar los hits :

Router_A#sh ip nat sta


Total active translations: 1 (1 static, 0 dynamic; 0 extended)
Outside interfaces: Serial1/0
Inside interfaces: Serial1/1
Hits: 30 Misses: 0
Expired translations: 0
Dynamic mappings:

Router_A#sh ip nat tra


Pro Inside global Inside local Outside local Outside global
--- 172.16.47.161 171.68.200.48 --- ---

Router_A#sh ip nat sta


Total active translations: 1 (1 static, 0 dynamic; 0 extended)
Outside interfaces: Serial1/0
Inside interfaces: Serial1/1
Hits: 40 Misses: 0
Expired translations: 0
NAT
NAT -Configuracin NAT Esttico-

A continuacin vemos el extracto del debug, en donde verificamos que la traslacin


ha sido exitosa, ya que el origen de los paquetes es la 172.16.47.161.

Solo debe tener en cuenta, que al Gateway debe agregarle una ruta esttica hacia
la red 172.16.47.160/28, de manera que el ping pueda regresar, sino la traslacin
solo se realiza en un sentido.

Gateway#
*Jul 18 14:31:57.443: CEF: Try to CEF switch 172.16.47.145 from Serial1/0
*Jul 18 14:31:57.443: IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),
routed via RIB
*Jul 18 14:31:57.443: IP: s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0), len 100, rcvd 3
*Jul 18 14:31:57.443: IP: tableid=0, s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), routed via
FIB
*Jul 18 14:31:57.447: IP: s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), len 100, sending
*Jul 18 14:31:57.683: CEF: Try to CEF switch 172.16.47.145 from Serial1/0
*Jul 18 14:31:57.683: IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),
routed via RIB
*Jul 18 14:31:57.683: IP: s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0), len 100, rcvd 3
*Jul 18 14:31:57.683: IP: tableid=0, s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), routed via
FIB
*Jul 18 14:31:57.687: IP: s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), len 100, sending
*Jul 18 14:31:57.883: CEF: Try to CEF switch 172.16.47.145 from Serial1/0
*Jul 18 14:31:57.883: IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),
routed via RIB
NAT
NAT -Configuracin NAT Dinmico-
Ahora configuremos NAT Dinmico, a los fines de poder trasladar una serie de
direcciones IPs, a un bloque de menor tamao, denominado pool. Sigamos
empleando la siguiente topologa:

172.16.47.144/ 171.68.200.0/2
. 4 .49 Bloque a usar para el
28. .48
14 14 NAT
6 5 Router A 172.16.47.160/28
Gateway Inside Device

El pool de direcciones a emplear para traducir es el 172.16.47.161 hasta la ip


172.16.47.163. O sea que usaremos un pool con nombre TMX de longitud 3
direcciones.

Para probar esto, configuramos 3 direcciones de Loopback en Inside_Device, de


manera de poder agotar el espacio de direcciones asignadas a la traduccin y
verificar que sucede.

Recuerde agregar todas las rutas estticas necesidad para poder probar
NAT
NAT -Configuracin NAT Dinmico-
Comencemos configurando la lista accesso standart nmero 7, de manera de
indicarle al proceso de NAT cual es el trfico interesante a trasladar.

Router_A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router_A(config)#ip access-list standard 7
Router_A(config-std-nacl)#permit 171.68.200.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.0.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.1.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.2.0 0.0.0.255

Ahora ingresemos a cada interface, a los fines de indicar cuales son los lados Inside
y Outside:

Router_A(config)#int s1/1
Router_A(config-if)#ip nat insi
Router_A(config-if)#ip nat inside
Router_A(config-if)#int s1/0
Router_A(config-if)#ip nat out
NAT
NAT -Configuracin NAT Dinmico-

Por ltimo, debemos realizar dos cosas: la primera consta de configurar el segmento
de direcciones que utilizaremos, y para ello, usamos el siguiente comando:

Router_A(config)#ip nat pool TMX 172.16.47.161 172.16.47.163 netmask


255.255.255.240

Y finalmente, indicar al proceso de NAT indicar en el lado Inside y Outside cual es la


Access List a aplicarle el pool:

Router_A(config)#ip nat inside source list 7 pool TMX


Router_A(config)#ip nat outside source list 7 pool TMX
NAT
NAT -Configuracin NAT Dinmico-
Observemos las salidas que nos han entregado los comandos, realizando ping con
diferentes loopbacks.

Pro Inside global Inside local Outside local Outside global


--- 172.16.47.161 171.68.200.48 --- ---
--- 172.16.47.162 192.168.0.1 --- ---
--- 172.16.47.163 192.168.1.1 --- ---

Router_A#sh ip nat statistics


Total active translations: 3 (0 static, 3 dynamic; 0 extended)
Outside interfaces:
Serial1/0
Inside interfaces:
Serial1/1
Hits: 27 Misses: 3
Expired translations: 0
Dynamic mappings:
-- Inside Source
[Id: 1] access-list 7 pool TMX refcount 3
pool TMX: netmask 255.255.255.240
start 172.16.47.161 end 172.16.47.163
type generic, total addresses 3, allocated 3 (100%), misses 11
-- Outside Source
[Id: 2] access-list 7 pool CTECH refcount 0
pool TMX: netmask 255.255.255.240
NAT
NAT -Configuracin NAT Dinmico-
Ahora lo que intentamos hacer es un ping a Gateway con origen la Loopback 2 en
Inside_Device, veamos lo sucedido:

Router_A#
*Jul 20 18:05:28.591: IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed via FIB
*Jul 20 18:05:28.591: IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via FIB
*Jul 20 18:05:28.591: IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
*Jul 20 18:05:28.595: ICMP type=3, code=1
*Jul 20 18:05:28.651: IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed via FIB
*Jul 20 18:05:30.635: IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed via FIB
*Jul 20 18:05:30.635: IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via FIB
*Jul 20 18:05:30.635: IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
*Jul 20 18:05:30.639: ICMP type=3, code=1
*Jul 20 18:05:30.691: IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed via FIB
*Jul 20 18:05:32.663: IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed via FIB
*Jul 20 18:05:32.663: IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via FIB
*Jul 20 18:05:32.663: IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
*Jul 20 18:05:32.667: ICMP type=3, code=1

Vemos que los paquetes ICMP no estn llegando al host, por tal motivo es que Router_A
responde ICMP Type=2 y Code=1 al router origen.

Esto se debe a que ya no posee direcciones IP del pool para asignar, ya que posea las 3
disponibles asignadas a la WAN, Loop 0 y Loop1 de Inside_Device. Esto es una limitacin
del NAT Dinmico.
NAT
NAT -Configuracin NAT Overloading-
Ahora por ltimo, probaremos el ejemplo que nos ha quedado pendiente, en donde
debemos trasladar todo el segmento Inside a una sola direccin IP del lado Outside.
Veamos la siguiente Figura:

172.16.47.144/ 171.68.200.0/2
. 4 .49 Bloque a usar para el
28. .48
14 14 NAT
6 5 Router A 172.16.47.160/28
Gateway Inside Device

Hay solo dos diferencias entre NAT Dinmico y NAT Overloading:

En la configuracin del bloque asignado para la traslacin, el bloque Overloading


inicia y termina con la misma IP, por ende es de extensin uno.

En la sentencia ip nat inside source list, se agrega al final la palabra overloading.

Este esquema de configuracin es muy til, cuando poseemos una IP Pblica del lado
Outside que nos ha sido otorgada por el ISP, de manera que una pequea red de
computadores puedan navegar a la vez.
NAT
NAT -Configuracin NAT Overloading-
Veamos la configuracin, empleando la misma ACL 7:

172.16.47.144/ 171.68.200.0/2
. 4 .49 Bloque a usar para el
28. .48
14 14 NAT
6 5 Router A 172.16.47.160/28
Gateway Inside Device

Router_A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router_A(config)#ip access-list standard 7
Router_A(config-std-nacl)#permit 171.68.200.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.0.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.1.0 0.0.0.255
Router_A(config-std-nacl)#permit 192.168.2.0 0.0.0.255
Router_A(config)#ip nat pool TMX 172.16.47.161 172.16.47.161 netmask 255.255.255.240
Router_A(config)#ip nat inside source list 7 pool TMX overload
Router_A(config)#int s1/1
Router_A(config-if)#ip nat ins
Router_A(config-if)#ip nat inside
Router_A(config-if)#int s1/0
Router_A(config-if)#ip nat out
Router_A(config-if)#do wr
NAT
NAT -Configuracin NAT Overloading-
Realizando un sh ip nat trans vemos el resultado de la configuracin, la cual fue
exitosa:

Pro Inside global Inside local Outside local Outside global


tcp 172.16.47.161:15247 171.68.200.48:15247 172.16.47.145:23 172.16.47.145:23
icmp 172.16.47.161:11 171.68.200.48:11 172.16.47.145:11 172.16.47.145:11
icmp 172.16.47.161:12 171.68.200.48:12 172.16.47.145:12 172.16.47.145:12
icmp 172.16.47.161:13 171.68.200.48:13 172.16.47.145:13 172.16.47.145:13
icmp 172.16.47.161:14 171.68.200.48:14 172.16.47.145:14 172.16.47.145:14
icmp 172.16.47.161:15 171.68.200.48:15 172.16.47.145:15 172.16.47.145:15
icmp 172.16.47.161:16 171.68.200.48:16 172.16.47.145:16 172.16.47.145:16
icmp 172.16.47.161:17 171.68.200.48:17 172.16.47.145:17 172.16.47.145:17

172.16.47.144/ 171.68.200.0/2
. 4 .49 Bloque a usar para el
28. .48
14 14 NAT
6 5 Router A 172.16.47.160/28
Gateway Inside Device
NAT
Sugerencias
Una vez Nateado, el paquete al llegar al destino, debe ser replicado. Esta replicacin
consiste en el intercambio de la IP Origen, por la IP Destino, estando esta ltima
Nateada. Si el router que debe generar el replay, no posee en su tabla de ruteo una
entrada para la red Nateada, este no sabr hacia donde digirir los paquetes de vuelta.

Red para
Rutas hacia: NAT
Red A -> Red C
Connected Outsid Inside
Red B -> OSPF
Red C -> ??? e
Red A Red B

Router 1 Router 2 Router 3


NAT
Sugerencias
Para resolver este inconveniente existen tres alternativas comnmente utilizadas, las
cuales son:

Configurar una ruta esttica de retorno, con la red nateada como destino, y como
Next Hop, el router contiguo.

Configurar una ruta esttica a la null0, en el router que Natea, y redistribuir la misma
en el protocolo de ruteo con el comando redistribute static.

Configurar una IP de Loopback con una IP del segmento utilizado para NAT, y
configurar la sentencia de NAT con origen la interface loopback. P.e. ip nat inside
source list N int loopback 0 overload.
Red para
NAT
Rutas hacia: Red C
Red A -> Outsid Inside
Connected e
Red B -> OSPF Red A
Red C -> Static
Red B

Router 1 Router 2 Router 3


ip route RED C va
Router 2
NAT
Actividad
La empresa A y B, desean conectarse a Internet. Para lo cual han contratado el
correspondiente servicio de Internet al Carrier correspondiente.

Como es de pblico conocimiento, las PCs de la LAN no pueden navegar con IP Privada,
por lo cual, indique como sera el NAT Overloading a configurar en cada router de
cliente.

Internet

ISP
10.210.0.0/24
.1

.2 .3
R1 R2

Empresa A Empresa B
IPs Pblicas: IPs Pblicas:
190.3.10.0/29 190.3.10.8/29
IPs LAN : IPs LAN :172.16.10.0/24
192.168.100.0/24
NAT
Actividad

La empresa A y B, desean conectarse entre s, pero observan que ambas poseen


una red que se superpone, imposibilitando la comunicacin entre ambas.

Para lo mencionado, ambas empresas han decidido utilizar OSPF como protocolo
de ruteo, y no emplear una ruta esttica para asegurar el retorno del trfico, sino
que deben hallar la solucin a travs de OSPF.

Como solucionara este inconveniente, en caso de que la Empresa B sea la


encargada de Natear, y como seran las reglas de NAT dinmico.

Bloque a usar para el


NAT
172.16.100.0/24
172.16.47.144/
28
192.168.0.0/24 .1 . . .1 192.168.0.0/24
128.0.0.0/16 14 14 10.170.0.0/19
6A 5 Empresa B
Empresa

You might also like