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 -TiposHay 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 -NombresEs 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 -FuncionamientoVeamos 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:
Insid
e

Inside Local
10.10.10.1/24

PC1

Outside

Inside Local
10.10.10.1/24

Inside Global
190.3.18.2/29

.254
PC2

LanSwit
ch

Internet
R1

R2

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 -FuncionamientoSupongamos 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 -FuncionamientoVeamos 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
e

Inside Local
10.10.10.1/24

Outside

Inside Local
10.10.10.1/24

PC1

Inside Global
190.3.18.2/29

.254
LanSwit
ch

PC2

Inside Local
10.10.10.2/24

Internet
R1

R2

Tabla NAT
Inside Local 10.10.10.1 Inside Global 190.3.18.2:1492 Out Global
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 -FuncionamientoLa 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 EstticoObservemos la siguiente figura para basarnos sobre un procedimiento de configuracin
real:
Outside Device
171.68.200.48

Internet

DNS
171.69.2.132

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

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 EstticoEn 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
--- 172.16.47.161
171.68.200.48

Outside local
---

Outside global
---

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 EstticoVeamos 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
--- 172.16.47.161
171.68.200.48

Outside local
---

Outside global
---

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 EstticoA 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:
*Jul 18 14:31:57.443:
routed via RIB
*Jul 18 14:31:57.443:
*Jul 18 14:31:57.443:
FIB
*Jul 18 14:31:57.447:
*Jul 18 14:31:57.683:
*Jul 18 14:31:57.683:
routed via RIB
*Jul 18 14:31:57.683:
*Jul 18 14:31:57.683:
FIB
*Jul 18 14:31:57.687:
*Jul 18 14:31:57.883:
*Jul 18 14:31:57.883:
routed via RIB

CEF: Try to CEF switch 172.16.47.145 from Serial1/0


IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),
IP: s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0), len 100, rcvd 3
IP: tableid=0, s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), routed via
IP: s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), len 100, sending
CEF: Try to CEF switch 172.16.47.145 from Serial1/0
IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),
IP: s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0), len 100, rcvd 3
IP: tableid=0, s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), routed via
IP: s=172.16.47.145 (local), d=172.16.47.161 (Serial1/0), len 100, sending
CEF: Try to CEF switch 172.16.47.145 from Serial1/0
IP: tableid=0, s=172.16.47.161 (Serial1/0), d=172.16.47.145 (Serial1/0),

NAT
NAT -Configuracin NAT DinmicoAhora 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
Bloque a usar para el
.
4 .49
28.
.48
NAT
14
14
172.16.47.160/28
5 Router A
6
Inside Device
Gateway

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 DinmicoComencemos 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 DinmicoPor 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 DinmicoObservemos las salidas que nos han entregado los comandos, realizando ping con
diferentes loopbacks.
Pro
-------

Inside global
172.16.47.161
172.16.47.162
172.16.47.163

Inside local
171.68.200.48
192.168.0.1
192.168.1.1

Outside local
-------

Outside global
-------

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 DinmicoAhora 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:
*Jul 20 18:05:28.591:
*Jul 20 18:05:28.591:
*Jul 20 18:05:28.595:
*Jul 20 18:05:28.651:
*Jul 20 18:05:30.635:
*Jul 20 18:05:30.635:
*Jul 20 18:05:30.635:
*Jul 20 18:05:30.639:
*Jul 20 18:05:30.691:
*Jul 20 18:05:32.663:
*Jul 20 18:05:32.663:
*Jul 20 18:05:32.663:
*Jul 20 18:05:32.667:

IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed


IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via
IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
ICMP type=3, code=1
IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed
IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed
IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via
IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
ICMP type=3, code=1
IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed
IP: tableid=0, s=192.168.2.1 (Serial1/1), d=172.16.47.145 (Serial1/0), routed
IP: tableid=0, s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), routed via
IP: s=171.68.200.49 (local), d=192.168.2.1 (Serial1/1), len 56, sending
ICMP type=3, code=1

via FIB
FIB
via FIB
via FIB
FIB
via FIB
via FIB
FIB

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 OverloadingAhora 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
Bloque a usar para el
.
4 .49
28.
.48
NAT
14
14
172.16.47.160/28
5 Router A
6
Inside Device
Gateway

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 OverloadingVeamos la configuracin, empleando la misma ACL 7:

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

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 OverloadingRealizando un sh ip nat trans vemos el resultado de la configuracin, la cual fue
exitosa:
Pro Inside global
Inside local
Outside local
tcp 172.16.47.161:15247 171.68.200.48:15247 172.16.47.145:23
icmp 172.16.47.161:11 171.68.200.48:11
172.16.47.145:11
icmp 172.16.47.161:12 171.68.200.48:12
172.16.47.145:12
icmp 172.16.47.161:13 171.68.200.48:13
172.16.47.145:13
icmp 172.16.47.161:14 171.68.200.48:14
172.16.47.145:14
icmp 172.16.47.161:15 171.68.200.48:15
172.16.47.145:15
icmp 172.16.47.161:16 171.68.200.48:16
172.16.47.145:16
icmp 172.16.47.161:17 171.68.200.48:17
172.16.47.145:17

Outside global
172.16.47.145:23
172.16.47.145:11
172.16.47.145:12
172.16.47.145:13
172.16.47.145:14
172.16.47.145:15
172.16.47.145:16
172.16.47.145:17

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

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
NAT
Red C
Outsid Inside
e
Red A
Red B

Rutas hacia:
Red A ->
Connected
Red B -> OSPF
Red C -> ???

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
Red C
Outsid Inside
e
Red A
Red B

Rutas hacia:
Red A ->
Connected
Red B -> OSPF
Red C -> Static

ip route RED C va
Router 2

Router 1

Router 2

Router 3

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

10.210.0.0/24
.2
R1

Empresa A
IPs Pblicas:
190.3.10.0/29
IPs LAN :
192.168.100.0/24

ISP

.1
.3
R2

Empresa B
IPs Pblicas:
190.3.10.8/29
IPs LAN :172.16.10.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.

192.168.0.0/24
128.0.0.0/16

Bloque a usar para el


NAT
172.16.100.0/24
172.16.47.144/
28
.
.
.1
.1
14
14
5 Empresa B
6A
Empresa

192.168.0.0/24
10.170.0.0/19

You might also like