Lo que podes hacer con NAT a partir de 8.3 con un ASA Firewall Parte 1

Si has trabajado con un ASA Firewall que soporte la versión 8.3 o cualquier otra mayor sabrás que existen 3 tipos de NAT los cuales serán explicados a continuacion (Tomar en cuenta el orden de prioridad de cada uno de ellos):

1) NAT Doble:

Regla de NAT en donde tienes la oportunidad de tomar en cuenta el destino del paquete IP (no obligatorio) y aparte puedes traducir tanto el origen del tráfico como el destino

2) Objeto de NAT:

Regla de NAT que se crea dentro de un objeto.

Nota: Recordar que a partir de 8.3 la configuración de NAT está directamente relacionada con el uso de objetos (tanto para identificar IPs como protocolos o servicios).

3) Luego del NAT Doble:

Regla de NAT que se configura como un NAT doble pero que va de ultimo en el orden de prioridad; inclusive antes que el objeto de NAT.

Pero bueno basta de explicaciones básicas; en este documento vamos a hablar de las cosas que se pueden hacer con NAT y que normalmente no utilizamos.

Escenario 1:


Traducir la IP privada de un servidor a 2 IP’s públicas.


En este escenario tenemos un servidor SSH con la IP privada de 192.168.10.1 que se traduce a la IP pública 20.20.20.3

Se está pensando obtener una IP pública para este servidor (20.20.20.4) y debido a que queremos mantener tanto tiempo como sea posible el acceso al servidor se desea que el ASA durante la transición envié paquetes a este servidor a ambas IP’s públicas (20.20.20.3 y 20.20.20.4).

1 lab.png

Configuración Escenario 1:


Jcarvaja(config)#object network Inside_SSH

Jcarvaja(config-network-object)#host 192.168.10.1

Jcarvaja(config-network-object)#exit

Jcarvaja(config)#object network Outside_SSH_1

Jcarvaja(config-network-object)# host 20.20.20.3

Jcarvaja(config-network-object)#exit

Jcarvaja(config)#object network Outside_SSH_2

Jcarvaja(config-network-object)#host 20.20.20.4

Jcarvaja(config-network-object)#exit

Jcarvaja(config)#nat (inside,outside) source static Inside_SSH Outside_SSH_1

Jcarvaja(config)#nat (inside,outside) source static Inside_SSH Outside_SSH_2

Jcarvaja(config)#access-list Out_In permit tcp any host 192.168.10.1 eq 22

Jcarvaja(config)#access-group Out_In in interface Outside

Verificar resultados del Escenario 1:


Luego de haber iniciado dos conexiones vemos los siguientes resultados:

Tabla de conexiones:

Jcarvaja(config)# sh conn

2 in use, 2 most used

TCP Outside 20.20.20.2:18304 Inside 192.168.10.1:22, idle 0:00:13, bytes 1631, flags UIOB

TCP Outside 30.30.30.2:14885 Inside 192.168.10.1:22, idle 0:00:24, bytes 0, flags aB

Tabla de dispositivos IP:

Jcarvaja(config)# sh local-host

Interface Outside: 1 active, 2 maximum active, 0 denied

local host: <20.20.20.2>,

   TCP flow count/limit = 1/unlimited

   TCP embryonic count to host = 0

   TCP intercept watermark = unlimited

   UDP flow count/limit = 0/unlimited

Conn:

   TCP Outside 20.20.20.2:18304 Inside 192.168.10.1:22, idle 0:00:19, bytes 1631, flags UIOB

Interface Inside: 1 active, 1 maximum active, 0 denied

local host: <192.168.10.1>,

   TCP flow count/limit = 1/unlimited

   TCP embryonic count to host = 0

   TCP intercept watermark = unlimited

   UDP flow count/limit = 0/unlimited

Conn:

   TCP Outside 20.20.20.2:18304 Inside 192.168.10.1:22, idle 0:00:19, bytes 1631, flags UIOB

Tabla de Traducciones:

Jcarvaja(config)# show xlate

2 in use, 2 most used

Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T - twice

NAT from Inside:192.168.10.1 to Outside:20.20.20.3

   flags s idle 0:00:25 timeout 0:00:00

NAT from Inside:192.168.10.1 to Outside:20.20.20.4

   flags s idle 0:00:37 timeout 0:00:00

Captura de Datos:


Para comprobar que recibimos paquetes en tanto 20.20.20.3 como 20.20.20.4 creamos un captura de datos en la interface del Outside.

Jcarvaja(config)# show capture capout

40 packets captured

   1: 01:38:59.931653 30.30.30.2.14885 > 20.20.20.4.22: S 3176932371:3176932371(0) win 4128 <mss 536>

   2: 01:39:00.025404 20.20.20.4.22 > 30.30.30.2.14885: S 1175621103:1175621103(0) ack 3176932372 win 4128 <mss 536>

   3: 01:39:01.991007 30.30.30.2.14885 > 20.20.20.4.22: S 3176932371:3176932371(0) win 4128 <mss 536>

   4: 01:39:02.028135 20.20.20.4.22 > 30.30.30.2.14885: S 1175621103:1175621103(0) ack 3176932372 win 4128 <mss 536>

   5: 01:39:11.894942 20.20.20.2.18304 > 20.20.20.3.22: S 3166909716:3166909716(0) win 4128 <mss 1460>

   6: 01:39:11.986002 20.20.20.3.22 > 20.20.20.2.18304: S 1363405613:1363405613(0) ack 3166909717 win 4128 <mss 536>

   7: 01:39:12.013335 20.20.20.2.18304 > 20.20.20.3.22: . ack 1363405614 win 4128

En la parte 2 veremos como enviar cierto tráfico por un ISP y otro tráfico por otro ISP, todo esto simplemente utilizando NAT.

Saludos,

Jcarvaja

http://laguiadelnetworking.com

Historial de versiones
Revisión n.º
1 de 1
Última actualización:
‎11-27-2013 04:15 PM
Actualizado por:
 
Etiquetas (1)
Comentarios
New Member

Hola, exelente esta primera parte..... ya tienes la segunda parte?

Saludos