Dos servicios, una dirección pública y un nombre DNS que parece reservar un puerto. No lo hace. Antes de publicar un servidor DMZ junto a la entrada VPN en un ASA, anote las tuplas de entrada y compruébelas en orden; el primer campo que coincide con un servicio existente es donde se detiene el plan. Todo lo siguiente asume que la VPN termina en el propio dispositivo, no en un servidor interno.

Escriba los cinco campos antes de escribir el comando

Para cada entrada pública, registre la familia de direcciones, la dirección pública, el transporte, el puerto público y el propietario. El propietario es un servicio local del ASA o un servidor interno traducido. Dos entradas pueden compartir una dirección y seguir siendo tuplas distintas, y dos entradas pueden verse diferentes en un diagrama mientras chocan en el dispositivo.

Mantenga una segunda columna para el puerto real, el que el servidor interno escucha de verdad. El puerto público y el puerto real son elecciones independientes, y en el momento en que los junta en una sola columna pierde la capacidad de leer su propia traducción más adelante.

Public entryOwnerReal side
TCP 443 on the outside addressASA VPN listenerAppliance-local, no translation
TCP 8443 on the outside addressStatic PATDMZ server TCP 443
UDP 443 on the outside addressCheck the effective listenersPossibly the VPN data path

Lea correctamente las posiciones real y mapeada

Parta de la tupla que ya tiene, no del servidor que quiere añadir. Una división ilustrativa mantiene la entrada VPN aprobada en el TCP 443 público y publica un servidor DMZ HTTPS en el TCP 8443 público mientras ese servidor sigue escuchando en el 443:

Public TCP 443  -> ASA VPN listener
Public TCP 8443 -> DMZ server TCP 443

En el comando desplegado, el servicio real y el servicio mapeado ocupan posiciones fijas, e invertirlos describe un mapeo distinto, no uno roto. Esta es la forma más común de que una traducción funcional se convierta en un rompecabezas: la configuración es válida, simplemente apunta a otro sitio.

La guía de NAT de ASA 9.16 de Cisco documenta el PAT estático, el uso de la dirección de interfaz y los significados de puerto real frente a mapeado. Lea la sección de la versión que realmente ejecuta; un comando recordado de una plataforma anterior no es una configuración actual completa.

Cuente el transporte como parte de la reserva

TCP 443 y UDP 443 son tuplas distintas, y esa diferencia no le regala la de UDP. Una VPN puede tener listeners TLS y DTLS separados, y otros servicios configurados pueden tener ya el transporte que usted quiere. Inventaríe los listeners efectivos y la política de acceso en lugar de suponer que la página web es toda la entrada VPN.

Un segundo nombre de host que resuelve a la misma dirección tampoco resuelve una colisión a nivel de transporte. DNS es un mapeo de nombre a dirección, no un corredor de puertos, y publicar un servidor mediante PAT no es la misma operación que mover el listener VPN a otro puerto.

Si la entrada VPN tiene que moverse de verdad, cuatro cosas cambian a la vez: el perfil del cliente, la URL pública, el filtrado aguas arriba y cada transporte que usa el despliegue. Hágalas en una sola ventana en lugar de una por una. Mantenga abierta una ruta de gestión separada hacia el dispositivo antes de tocar el servicio que usa para llegar a él. Sin una segunda ruta, el movimiento es un cambio del que no puede volver atrás desde fuera.

Verifique desde fuera con conexiones nuevas

Permita solo la aplicación DMZ prevista bajo la política de acceso efectiva y luego compruebe el orden de traducción correspondiente, la ruta de retorno del servidor y el nombre de host del certificado. El PAT cambia el destino de red; no concede acceso a la aplicación ni repara un certificado que nombra otro host.

Pruebe ambos servicios con conexiones nuevas desde un host externo autorizado: la VPN debería seguir estableciéndose y la petición DMZ debería llegar a su listener previsto. Una sesión establecida puede conservar estado anterior, así que no demuestra nada sobre un mapeo que cambió hace un minuto.

Cierre el bucle actualizando el inventario de entradas con lo que desplegó, incluido cualquier listener que descubrió en lugar de crear. La siguiente persona que publique un servicio en esa dirección empezará por su tabla, y una fila equivocada allí cuesta más que un comando equivocado aquí.

Artículos relacionados