Configurar el Reenvío de Puertos con IOS

Reenvío de Puertos
  • 10/10
    Configuración - 10/10
  • 10/10
    Verificación - 10/10

Aprende a configurar el reenvío de puertos en un router Cisco. Se presenta un ejemplo de configuración junto con la verificación del reenvío de puertos.

¡Bienvenido a CCNA desde Cero!: Este tema forma parte del Capítulo 9 del curso de Cisco CCNA 2, para un mejor seguimiento del curso puede ir a la sección CCNA 2 para guiarse del índice.

El reenvío a puerto asignado consiste en reenviar tráfico direccionado a un puerto de red específico de un nodo de red a otro. Esta técnica permite que un usuario externo alcance un puerto en una dirección IPv4 privada (dentro de una LAN) desde el exterior a través de un router con NAT habilitada.

En general, las operaciones y los programas peer-to-peer para compartir archivos, como las aplicaciones de servidores web y los FTP salientes, requieren que los puertos de router se reenvíen o se abran para permitir que estas aplicaciones funcionen, como se muestra en la Imagen 1. Debido a que NAT oculta las direcciones internas, la comunicación peer-to-peer solo funciona desde adentro hacia fuera donde NAT puede asignar las solicitudes salientes a las respuestas entrantes.

Puertos de destino TCP y UDP

Imagen 1: Puertos de destino TCP y UDP

El problema es que NAT no permite las solicitudes iniciadas desde el exterior. Esta situación se puede resolver de forma manual. El reenvío de puertos se puede configurar para identificar los puertos específicos que se pueden reenviar a los hosts internos.

1. Introducción al Reenvío de Puertos

Recuerde que las aplicaciones de software de Internet interactúan con los puertos de usuario que necesitan estar abiertos o disponibles para dichas aplicaciones. Las distintas aplicaciones usan puertos diferentes. Esto hace que las aplicaciones y los routers identifiquen los servicios de red de manera predecible. Por ejemplo, HTTP funciona a través del puerto bien conocido 80. Cuando alguien introduce la dirección http://cisco.com, el explorador muestra el sitio web de Cisco Systems, Inc. Tenga en cuenta que no es necesario especificar el número de puerto HTTP para la solicitud de página, ya que la aplicación asume que se trata del puerto 80.

Si se requiere un número de puerto diferente, se puede agregar al URL separado por dos puntos (:). Por ejemplo, si el servidor web escuchara en el puerto 8080, el usuario escribiría http://www.ejemplo.com:8080.

En la Imagen 2, se muestra al propietario de una pequeña empresa que utiliza un servidor del punto de venta (PoS) para hacer un seguimiento de las ventas y los inventarios en la tienda. Se puede acceder al servidor desde la tienda pero, debido a que tiene una dirección IPv4 privada, no es posible acceder a este de manera pública desde Internet. Habilitar el router local para el reenvío de puertos permitiría que el propietario acceda al servidor del punto de venta en cualquier lugar desde Internet. El reenvío de puertos en el router se configura con el número de puerto de destino y la dirección IPv4 privada del servidor del punto de venta. Para acceder al servidor, el software de cliente utilizaría la dirección IPv4 pública del router y el puerto de destino del servidor.

Reenvío de puertos

Imagen 2: Reenvío de puertos

2. Ejemplo de router inalámbrico

En la Imagen 3 se muestra la ventana de configuración del reenvío a puerto asignado simple correspondiente a un router inalámbrico de Packet Tracer. De manera predeterminada, el reenvío de puertos no está habilitado en el router.

Configuración del reenvío a puerto asignado único

Imagen 3: Configuración del reenvío a puerto asignado único

Si se especifica la dirección local interna a la cual se deben reenviar las solicitudes, es posible habilitar el reenvío de puertos para las aplicaciones. En la figura, las solicitudes de servicios HTTP que provienen del router inalámbrico se reenvían al servidor web con la siguiente dirección local interna: 192.168.1.254. Si la dirección IPv4 de la WAN externa del router inalámbrico es 209.165.200.225, el usuario puede ingresar http://www.ejemplo.com y el router inalámbrico redireccionará la solicitud HTTP al servidor web interno de la dirección IPv4 192.168.1.254, por medio del número de puerto predeterminado: 80.


Se puede especificar un puerto distinto al puerto predeterminado 80. Sin embargo, el usuario externo tendría que saber el número de puerto específico que debe utilizar. Para especificar un puerto diferente, se modifica el valor del campo External Port (Puerto externo) en la ventana Single Port Forwarding (Reenvío de puerto único).

El enfoque adoptado para configurar el reenvío de puertos depende de la marca y el modelo del router de banda ancha en la red. No obstante, hay algunos pasos genéricos que se deben seguir. Si las instrucciones provistas por el ISP, o las que acompañan al router, no incluyen ninguna pauta al respecto, el sitio web http://www.portforward.com ofrece guías para varios routers de banda ancha. Puede seguir las instrucciones para agregar o eliminar puertos según sea necesario para satisfacer las necesidades de todas las aplicaciones que desee permitir o denegar.

3. Configuración de reenvío de puertos con Cisco IOS

Los comandos de IOS que se usan para implementar el reenvío de puertos son similares a los que se usan para configurar la NAT estática. Básicamente, el reenvío de puertos es una traducción de NAT estática con un número de puerto TCP o UDP específico.

A continuación, se muestra el comando de NAT estática que se usa para configurar el reenvío de puertos con IOS.

ip nat inside source {static {tcp | udp local-ip local-port global-ip global-port} [extendable]
Tabla de comandos de Reenvío de puertos con IOS.
ParámetroDescripción
tcp o udpIndica si este es un número de puerto TCP o UDP.
ip-localEsta es la dirección IPv4 asignada al host en la red interna, generalmente, del espacio de direcciones privadas definido en RFC 1918.
puerto localEstablece el puerto local TCP/UDP en un rango de 1 a 65 535. Este es el número de puerto en el que escucha el servidor.
ip globalEsta es la dirección IPv4 globalmente única de un host interno. Esta es la dirección IP que utilizan los clientes externos para llegar al servidor interno.
puerto globalEstablece el puerto global TCP/UDP en un rango de 1 a 65 535. Este es el número de puerto que utilizan los clientes externos para llegar al servidor interno.
extendableLa opción extendable se aplica de forma automática. La palabra clave extendable permite que el usuario configure varias traducciones estáticas ambiguas; es decir, traducciones con la misma dirección local o global. Permite que el router extienda la traducción a más de un puerto, en caso de ser necesario.

3.1. Ejemplo de configuración

En la Imagen 4, se muestra un ejemplo de configuración del reenvío de puertos con comandos de IOS en el router R2.

Ejemplo de reenvío de puertos con IOS

Imagen 4: Ejemplo de reenvío de puertos con IOS

Establece la traducción estática entre una dirección local interna y un puerto local, y entre una dirección global interna y un puerto global:

R2(config)# ip nat inside source static 
tcp 192.168.10.254 80 209.165.200.225 8080

Identifica la interfaz serial 0/0/0 como interfaz NAT interna:

R2(config)# interface Serial0/0/0
R2(config-if)# ip nat inside

Identifica la interfaz serial 0/1/0 como interfaz NAT externa:

R2(config)# interface Serial0/1/0
R2(config-if)# ip nat outside

La dirección 192.168.10.254 es la dirección IPv4 local interna del servidor web que escucha en el puerto 80. Los usuarios accederán a este servidor web interno con la dirección IPv4 global 209.165.200.225, una dirección IPv4 pública única a nivel global. En este caso, es la dirección de la interfaz Serial 0/1/0 del R2. El puerto global se configura como 8080. Este es el puerto de destino que se utiliza junto con la dirección IPv4 global 209.165.200.225 para acceder al servidor web interno. Observe los siguientes parámetros de comando dentro de la configuración NAT:

  • ip-local = 192.168.10.254
  • puerto local = 80
  • ip-global = 209.165.200.225
  • puerto global = 8080

Cuando no se utiliza un número de puerto bien conocido, el cliente debe especificar el número de puerto de la aplicación.

Al igual que otros tipos de NAT, el reenvío de puertos requiere que se configuren las interfaces NAT interna y externa.

3.2. Verificación del reenvío de puertos

Como en el caso de la NAT estática, se puede utilizar el comando show ip nat translations para verificar el reenvío de puertos:

R2# show ip nat translations
Pro Inside global         Inside local       Outside local          Outside global
tcp 209.165.200.225:8080  192.168.10.254:80  209.165.200.254:46088  209.165.200.254:46088
tcp 209.165.200.225:8080  192.168.10.254:80  ---                    ---
R2#

En el ejemplo, cuando el router recibe el paquete con la dirección IPv4 global interna 209.165.200.225 y un puerto TCP de destino 8080, el router realiza una búsqueda en la tabla de NAT con la dirección IPv4 de destino y el puerto de destino como claves. A continuación, el router traduce la dirección a la dirección local interna del host 192.168.10.254 y el puerto de destino 80. Luego, el R2 reenvía el paquete al servidor web. En el caso de los paquetes de retorno del servidor web al cliente, este proceso se invierte.

Sin respuestas a “Configurar el Reenvío de Puertos con IOS”

Deja un Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.