Debemos comenzar desde lo básico, así que revisemos la terminología NAT. NAT traduce las direcciones IP en paquetes IP, ¿verdad? Qué significa eso? Que, básicamente, crea espejismos, sí, ilusiones ópticas, ya sabes. Por ejemplo, en una configuración NAT típica cuando los hosts de LAN con acceso privado acceden a Internet mediante el uso de la dirección IP pública de la interfaz del enrutador externo, esos hosts aparecen para los servidores de Internet que tienen esta IP pública (o IP de un grupo de IP públicas). NAT no crea nuevos hosts físicos, por supuesto, pero crea una especie de nuevas entidades virtuales. En este ejemplo, los hosts LAN se ven a sí mismos como, digamos 192.168.1.x, pero los servidores de Internet los ven como 203.0.113.x - un conjunto de hosts físicos pero dos conjuntos de direcciones IP. Dos conjuntos distintos de hosts (lógicos). Ilusión óptica. Y la terminología es esta:
- dentro de local : direcciones IP "reales" de los hosts internos asignados a sus interfaces y como se ven
- inside global - direcciones IP de "espejismo" tal como las ve el mundo exterior
- fuera de global : direcciones IP "reales" de los hosts externos tal como los ven ellos mismos y (casi) todo Internet
- fuera de las direcciones IP locales - "espejismo" cuando vemos hosts externos (si le pedimos a NAT que traduzca de manera correspondiente)
Y como puede ver, estamos obligados a hacer una distinción entre nuestra red e Internet u otra red externa. Hacemos esto marcando las interfaces IP de nuestro enrutador como ip nat inside o ip nat outside , ¿está de acuerdo?
Ahora recordemos cómo se implementa normalmente NAT: mantiene tablas especiales que contienen entradas sobre las traducciones. Y lo importante es que estas entradas se pueden crear de forma estática o dinámica . Para las entradas creadas dinámicamente, la dirección del tráfico es importante: ¿se inicia el tráfico desde adentro hacia afuera o viceversa? Para las entradas estáticas, esto no es así, son simétricas . Las instrucciones de configuración de NAT que contienen la palabra clave estática crean entradas estáticas inmediatamente después de colocarlas en la configuración en ejecución; aquellos con la palabra clave dinámica observan el tráfico interesante y crean dinámicamente entradas de traducción, que finalmente se agotarán.
Ya podemos especular sobre su última pregunta: ¿por qué no hay una opción de destino externo ? ip nat inside source static crea una entrada NAT estática que se traduce exactamente como usted describió, pero esto incluye no solo el tráfico iniciado desde un lado en particular: las entradas NAT estáticas son simétricas. Por lo tanto, ip nat fuera del destino estático crearía una entrada estática para traducir las direcciones IP de destino del tráfico que ingresa a su red desde el exterior Y las direcciones IP de origen para el tráfico que va desde adentro , pero esto es exactamente lo que ip nat dentro de la fuente estáticacomando hace! Entonces, es simplemente redundante tener este comando. La única diferencia es que intercambiaría la fuente con la ip de destino al usar una u otra forma básicamente del mismo comando.
Con respecto a su primera declaración, "hay tres combinaciones posibles de adentro / afuera / fuente / destino que se pueden configurar", esto no es así. El punto es que, en términos generales, las declaraciones de configuración NAT no son "fórmulas matemáticas" y deben considerarse en su totalidad, y no como lógicamente construidas a partir de palabras clave independientes. Por lo tanto, cada "combinación" presenta una solución para una tarea particular, por ejemplo, ip nat dentro de la lista de destinos se utiliza para configurar el equilibrio de carga TCP del servidor que utiliza un algoritmo específico y no funciona con UDP. Además, (en IOS modernos) no hay ip nat dentro del comando estático de destino : ¿realmente lo ha intentado con la opción estática ?
Puede ver algunos escenarios particulares de uso de NAT, incluidos ejemplos de configuración en este documento de Cisco: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-2sx /nat-12-2sx-book/iadnat-addr-consv.html
Finalmente, me gustaría mencionar que a veces NAT no es lo que quieres, por ejemplo, mira mi respuesta para esta "pregunta canónica": /server/55611/loopback-to-forwards-public- ip-address-from-local-network-hairpin-nat / 733532 # 733532
PD ¿Debo entrar en más detalles?