Este documento explica cómo el uso de las listas de acceso en contraste con los mapas de ruteo cambia la funcionalidad de la Traducción de dirección de red (NAT). Para obtener más información sobre NAT, consulte NAT de Cisco IOS.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Cisco 2500 Series Routers.
Cisco IOS® Software Release 12.3(3).
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
NAT sólo utiliza las listas de acceso y enruta los mapas cuando necesita crear una entrada de traducción. Si ya existe una entrada de traducción que coincida con el tráfico, se utilizará la entrada de traducción; no se consultará ninguna lista de acceso o mapa de ruta. La diferencia entre utilizar una lista de acceso o un route map es el tipo de entrada de traducción que se creará.
Cuando NAT usa una correspondencia de la ruta para decidir crear una entrada de traducción, creará siempre una entrada de traducción “completamente ampliada.” Esta entrada de traducción contendrá las entradas de dirección interna y externa (local y global) y cualquier información de puerto TCP o UDP. Consulte NAT: Definiciones locales y globales para obtener más información sobre direcciones internas y externas (locales y globales).
Cuando NAT use una lista de accesos para decidir crear una entrada de traducción, creará una entrada de traducción “simple”. Esta entrada "simple" contendrá sólo entradas de direcciones IP locales y globales sólo para el interior o el exterior; esto dependerá de si está configurado el comando ip nat inside o ip nat outside. Además, no incluirá ningún tipo de información de puerto TCP o UDP.
Cuando NAT usa una lista de acceso, y también se especificó una sobrecarga, NAT creará una entrada de traducción “totalmente expandida”. (Véase Nota 1). La operación es similar al caso route-map excepto que route-map tiene algunas funciones adicionales. Consulte la Nota 2 para obtener más detalles. Puede ver un ejemplo de una entrada de traducción NAT simple y una entrada de traducción NAT completamente extendida seleccionando uno de estos links:
Este es un ejemplo de diagrama de red utilizado para ilustrar la diferencia entre utilizar un route map y una lista de acceso con NAT:
En este diagrama de red de ejemplo, se requiere que los hosts en 10.1.1.0 se traduzcan a lo siguiente:
131.108.2.0 cuando se dirige hacia 131.108.1.0
131.118.2.0 cuando se dirige a 131.118.1.0
Con un enfoque de lista de acceso, debería hacer lo siguiente para traducir los hosts en 10.1.1.0:
ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24 !--- Defines a pool of global addresses to be allocated as needed. ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source list 108 pool pool108 !--- Establishes dynamic source translation, specifying the !--- access list defined below. ip nat inside source list 118 pool pool118 interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside !--- Marks the interface as connected to the inside. interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside !--- Marks the interface as connected to the outside. access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 !--- Defines the access-list mentioning those addresses !--- that are to be translated. access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255
Consulte Direccionamiento IP y Comandos de Servicios para obtener más información sobre estos comandos.
Esto es lo que sucede cuando el Host 1 se conecta mediante Telnet con el Host 2.
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
Debido a que NAT utilizó una lista de acceso para hacer coincidir este tráfico, se crea una entrada de traducción simple, que sólo incluye información de traducción interna y sin información de protocolo o puerto:
inside outside local global global local 10.1.1.2 131.108.2.1 ---- ----
Paquete de devolución: Host 2 a Host 1
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Con la traducción simple citada anteriormente en su sitio, aquí está lo que sucede cuando Host 1 también utiliza Telnet para Host 3:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.108.2.1(1025) d:131.118.1.2(23) (after NAT)
Pueden ver que hay un problema. Los paquetes de los hosts 10.1.1.0 a 131.118.1.0 se deben traducir a 131.118.2.0, y no a 131.108.2.0. La razón por la que esto sucede es porque ya hay una entrada de traducción NAT para 10.1.1.2 <—> 131.108.2.1 que también coincide con el tráfico entre el Host 1 y el Host 3. Por lo tanto, se usará esta entrada de traducción y no se revisarán las listas de acceso 108 y 118.
Mientras la entrada de traducción simple está en la tabla de traducción NAT, puede ser utilizada por cualquier usuario externo en cualquier host externo para enviar un paquete al Host 1 siempre y cuando el usuario externo utilice la dirección global interna (131.108.2.1) para el Host 1. Normalmente, se necesita una traducción NAT estática para permitir esto.
La forma correcta de configurar el ejemplo en este documento es utilizar asignaciones de rutas. Con un enfoque del mapa de ruta, usted debería hacer lo siguiente para traducir los hosts en 10.1.1.0:
ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24 ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source route-map MAP-108 pool pool-108 !--- Establishes dynamic source translation, specifying !--- the route-map MAP-108 which is defined below. ip nat inside source route-map MAP-118 pool pool-118 !--- Establishes dynamic source translation, specifying the route-map MAP-118. !--- Here, the route-maps are consulted instead of !--- access-lists (as in the previous case). interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255 route-map MAP-108 permit 10 !--- Defines the Route-map MAP-108. match ip address 108 !--- Specifies the criteria for translation. Here, the IP !--- address mentioned in the access-list 108 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-108 pool pool-108 command. route-map MAP-118 permit 10 !--- Defines the Route-map MAP-108. match ip address 118 !--- The IP address mentioned in the access-list 118 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-118 pool pool-118 command.
Consulte Direccionamiento IP y Comandos de Servicios para obtener más información sobre estos comandos.
Esto es lo que sucede cuando el Host 1 se conecta mediante Telnet con el Host 2:
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
En este caso, dado que la NAT utilizó un mapa de rutas para hacer coincidir el tráfico a traducir, la NAT creará una entrada de traducción completamente extendida, que incluye información de traducción interna y externa:
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23
Paquete de devolución: Host 2 a Host 1
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Ahora, cuando el Host 1 envía un paquete al Host 3, esto es lo que aparece:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.118.2.1(1025) d:131.118.1.2(23) (after NAT)
La traducción funcionó correctamente porque el paquete en (N1) no coincide con la entrada de traducción completamente extendida que se utilizó para el tráfico del Host 1 al Host 2. Debido a que la traducción existente no coincide, NAT crea otra entrada de traducción para el tráfico del Host 1 al Host 3.
Estas son las entradas de traducción completamente extendidas en el router NAT:
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23 10.1.1.2:1025 131.118.2.1:1025 131.118.1.2:23 131.118.1.2:23
Debido a que la tabla de traducción NAT tiene dos entradas completas, traducirá de manera correcta el tráfico que va hacia los dos destinos diferentes desde el mismo origen.
A diferencia de la simple entrada de traducción que fue creada a través de la lista de acceso, la entrada de traducción completamente extendida creada a través del route map no puede ser utilizada por ningún otro usuario externo para enviar un paquete al Host 1. Se necesita una traducción NAT estática para permitir esto.
En el caso de la lista de acceso con sobrecarga, la configuración es similar a la lista de acceso sin caso de sobrecarga. La excepción es que necesita agregar la palabra clave overload al comando ip nat inside source list 108 pool pool108 e ip nat inside source list 118 pool pool118.
La ventaja de utilizar route-maps es que bajo el comando match puede tener más opciones que la dirección IP de origen. Por ejemplo, bajo route-map, se puede especificar match interface o match ip next-hop. Mediante el uso de route-maps, puede especificar la dirección IP así como la interfaz o la dirección de siguiente salto a la que se reenviará el paquete. Por lo tanto, los route-maps con NAT se utilizan en un escenario donde el suscriptor está multi-homing a diferentes ISPs.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
10-Aug-2005 |
Versión inicial |