Reenvío de puertos TCP para administración remota de dispositivos
El reenvío de puertos es un método que permite a un enrutador hacer que un equipo u otro dispositivo de red que esté conectado a él sea accesible para otros equipos y dispositivos de red desde fuera de la red local. El reenvío de puertos utiliza una combinación de una dirección IP y un número de puerto para enrutar las solicitudes de red a dispositivos específicos. Esta técnica se utiliza a menudo para hacer que los servicios en un host o puerta de enlace, que residen en una red interna, sean accesibles para un host en una red externa mediante la reasignación de la dirección IP de destino y el número de puerto de la solicitud de comunicación.
A partir de Junos OS versión 18.3R1, el reenvío de puertos TCP (también conocido como reenvío TCP) permite que un BNG medie la comunicación entre sus nodos de acceso conectados y los sistemas de back-office del proveedor de servicios, como los sistemas de gestión y aprovisionamiento externos y los servidores TACACS+. El BNG y sus nodos de acceso descendente se presentan a los sistemas de back-office como un único elemento de red direccionable. Puede configurar combinaciones únicas de puertos de escucha y direcciones en el BNG. Las conexiones TCP se activan cuando el tráfico de prefijos aceptables llega al puerto de escucha y a la dirección de escucha correspondiente. Las solicitudes de comunicación hacia y desde los nodos de acceso se redirigen de una combinación de dirección y número de puerto a otra cuando los paquetes atraviesan el enrutador de la serie MX.
Los sistemas de back-office utilizan el protocolo de gestión XML NETCONF sobre SSH y TACACS+ para intercambiar solicitudes con nodos de acceso. Para el aprovisionamiento, pueden usar PCRF y RADIUS para proporcionar configuraciones de servicio para los suscriptores. La figura 1 muestra un ejemplo de topología para un caso de uso de un sistema de administración externo con terminales de línea óptica (OLT) conectados al BNG. Es posible que topologías similares tengan nodos de acceso diferentes, como DSLAM, en lugar de OLT.

Los nodos de acceso en este tipo de topología actúan como extensiones lógicas (dispositivos remotos) del BNG para que el BNG pueda representar todas las interacciones de administración externas por ellos. El BNG se configura con una dirección pública y actúa como el único punto de administración para sí mismo y para los nodos de acceso. Los dispositivos remotos tienen direcciones privadas y no son de acceso público. Esto significa que los sistemas externos no pueden interactuar directamente con los nodos de acceso. El BNG debe ser capaz de mediar en las solicitudes de administración entre los nodos de acceso y el sistema de administración, pero no necesita analizar ni actuar sobre el contenido completo de las solicitudes. Esta necesidad se satisface con el reenvío de puertos TCP de la siguiente manera para este caso de uso:
El sistema de administración externo utiliza el protocolo XML NETCONF a través de SSH para tareas como la configuración base del dispositivo remoto antes de que comience la negociación del suscriptor, la configuración de rutas de datos de capa 2 para nuevos suscriptores, la visualización del estado del dispositivo remoto y la solución de problemas del dispositivo remoto.
En este caso, el BNG demultiplexa las solicitudes del sistema de administración a los dispositivos remotos.
TACACS+ se utiliza para autenticar y validar el acceso al dispositivo remoto, realizar la contabilidad del sistema y controlar el acceso del operador.
En este caso, los multiplexores BNG solicitan desde los dispositivos remotos al servidor TACACS+ que trabaja con el sistema de gestión externo.
El reenvío de puertos TCP asigna una o más combinaciones de una dirección de escucha IPv4 y un puerto TCP a direcciones y puertos de destino para que el BNG pueda reenviar mensajes adecuadamente para ambos casos de uso. Cada asignación se denomina par de conexión TCP. El reenvío de puertos TCP funciona de la siguiente manera:
Cuando se configura la asignación, el proceso de reenvío de puerto TCP abre el puerto de escucha configurado y espera a que un sistema externo o nodo de acceso active una conexión; Ese sistema o nodo puede denominarse entidad desencadenadora.
Después de establecer la conexión entre la entidad desencadenadora y el BNG, el reenvío de puertos TCP intenta abrir una conexión TCP a la otra mitad del par de conexión, que es la combinación de dirección de reenvío y puerto definida en la asignación. El reenvío de puertos TCP examina sólo la información del encabezado TCP en el tráfico de administración.
Cuando se han establecido ambas conexiones TCP, el reenvío de puertos TCP supervisa el tráfico de datos de las conexiones. Cuando se reciben datos en una conexión, se transmiten en la conexión emparejada.
Si un lado del par de conexión se cierra por cualquier motivo, el reenvío de puertos TCP cierra la conexión emparejada. Este par de conexión no se restablece a menos que la entidad desencadenadora vuelva a establecer la conexión en el puerto de escucha TCP.
Si se realiza un cambio de configuración en una asignación TCP mientras los pares de conexión asociados están activos, estas conexiones se cierran. Las conexiones no se restablecen a menos que la entidad desencadenadora vuelva a establecer la conexión en el puerto de escucha TCP
El reenvío de puertos TCP permite múltiples conexiones TCP simultáneas para cualquier asignación TCP única. Puede limitar el número máximo de conexiones permitidas.
Puede utilizar los siguientes comandos operativos para administrar y supervisar el reenvío de puertos TCP:
clear tcp-forwarding connections
: permite cerrar administrativamente cualquier par de conexión TCP actual.clear tcp-forwarding statistics
: permite borrar (cero) estadísticas para las asignaciones TCP configuradas y cualquier par de conexión TCP actual. Puede limitar la eliminación de estadísticas a todas las conexiones asociadas con una combinación específica de puerto de escucha y dirección de escucha o a un solo par de conexiones representado por una combinación específica de dirección de origen y puerto de origen. Para cualquiera de las combinaciones, puede especificar opcionalmente una instancia de enrutamiento; de lo contrario, se asume la instancia de enrutamiento predeterminada.show tcp-forwarding status
: muestra el estado de la asignación TCP y las conexiones actuales de cada asignación. Puede limitar la visualización a una combinación específica de puerto de escucha y dirección de escucha, por instancia de enrutamiento. Si no especifica una instancia de enrutamiento, se asume la instancia de enrutamiento predeterminada.
Se espera que el tráfico entre los dispositivos remotos y los sistemas externos sean solicitudes de administración de tamaño relativamente pequeño. En consecuencia, el reenvío de puertos TCP no almacena en búfer el tráfico excesivo y lo descarta. El reenvío de puertos TCP no mantiene ni recupera las conexiones TCP establecidas en caso de un cambio correcto del motor de enrutamiento (GRES) o de un reinicio del demonio.
Puede deshabilitar el reenvío de puertos TCP incluyendo la disable
instrucción en el nivel jerárquico [edit system processes]
. También puede configurar el seguimiento de eventos de reenvío de puertos TCP en el mismo nivel jerárquico incluyendo la traceoptions
instrucción. Consulte Seguimiento de eventos de reenvío de puertos TCP para la solución de problemas para obtener más información.
Beneficios del reenvío de puertos TCP
Simplifica la configuración y administración de BNG y dispositivos remotos en topologías que usan sistemas externos de administración y aprovisionamiento.
El reenvío de puertos TCP es una funcionalidad genérica y puede funcionar con cualquier aplicación que pueda utilizar sesiones TCP para comunicarse con dispositivos remotos y el BNG.
Proporciona varias opciones para ajustar las conexiones TCP a sus necesidades, incluida la restricción a prefijos IPv4 específicos, combinaciones específicas de puertos y direcciones de escucha y reenvío y el número máximo de conexiones permitidas.
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.