Aplicaciones ALG
Configuración de las propiedades de la aplicación
Para configurar las propiedades de la aplicación, incluya la application
instrucción en el nivel de [edit applications]
jerarquía:
[edit applications] application application-name { application-protocol protocol-name; child-inactivity-timeout seconds; destination-port port-number; gate-timeout seconds; icmp-code value; icmp-type value; inactivity-timeout value; protocol type; rpc-program-number number; snmp-command command; source-port port-number; ttl-threshold value; uuid hex-value; }
Puede agrupar objetos de aplicación configurando la application-set
instrucción; para obtener más información, vea Configurar conjuntos de aplicaciones.
En esta sección se incluyen las siguientes tareas para configurar aplicaciones:
- Configuración de un protocolo de aplicación
- Configuración del protocolo de red
- Configuración del código y tipo ICMP
- Configuración de puertos de origen y destino
- Configuración del período de tiempo de espera de inactividad
- Configuración de una aplicación IKE ALG
- Configuración de SIP
- Configuración de un comando SNMP para la coincidencia de paquetes
- Configuración de un número de programa RPC
- Configuración del umbral TTL
- Configuración de un identificador único universal
Configuración de un protocolo de aplicación
La application-protocol
instrucción permite especificar cuál de los protocolos de aplicación (ALG) compatibles se deben configurar e incluir en un conjunto de aplicaciones para el procesamiento de servicios. Para configurar protocolos de aplicación, incluya la application-protocol
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] application-protocol protocol-name;
La Tabla 1 muestra la lista de protocolos compatibles. Para obtener más información acerca de protocolos específicos, consulte Descripciones de ALG.
Nombre del protocolo |
Valor de CLI |
Comentarios |
---|---|---|
Protocolo de arranque (BOOTP) |
|
Admite BOOTP y el protocolo de configuración dinámica de host (DHCP). |
Llamada a procedimiento remoto (RPC) de entorno informático distribuido (DCE) |
|
Requiere que la |
Mapa del puerto RPC de DCE |
|
Requiere que la |
Sistema de nombres de dominio (DNS) |
|
Requiere que la |
Exec |
|
Requiere que la |
FTP |
|
Requiere que la |
H.323 |
|
– |
IKE ALG |
|
Requiere que la |
Protocolo de mensajes de control de Internet (ICMP) |
|
Requiere que la |
Protocolo Inter-ORB de Internet |
|
– |
IP |
|
– |
Iniciar sesión |
|
– |
NetBIOS |
|
Requiere que la |
NetShow |
|
Requiere que la |
Protocolo de tunelización punto a punto |
|
– |
RealAudio |
|
– |
Protocolo de transmisión en tiempo real (RTSP) |
|
Requiere que la |
Protocolo de datagramas de usuario (UDP) RPC o TCP |
|
Requiere que la |
Mapeo de puertos RPC |
|
Requiere que la |
Cáscara |
|
Requiere que la |
Protocolo de inicio de sesión |
|
– |
SNMP |
|
Requiere que la |
SQLNet |
|
Requiere que la |
Programa de charlas |
|
|
Trazar ruta |
|
Requiere que la |
FTP trivial (TFTP) |
|
Requiere que la |
WinFrame |
|
– |
Puede configurar puertas de enlace a nivel de aplicación (ALG) para ICMP y rastrear rutas bajo reglas de firewall con estado, NAT o CoS cuando se configura dos veces NAT en el mismo conjunto de servicios. Estas ALG no se pueden aplicar a flujos creados por el Protocolo de controlador de puerta de enlace de paquetes (PGCP). Twice NAT no admite ningún otro ALG. NAT aplica solo la dirección IP y los encabezados TCP o UDP, pero no la carga.
Para obtener más información acerca de cómo configurar dos veces NAT, consulte Descripción general del direccionamiento de red con reconocimiento de direcciones de Junos.
Configuración del protocolo de red
La protocol
instrucción permite especificar cuál de los protocolos de red compatibles debe coincidir en una definición de aplicación. Para configurar protocolos de red, incluya la protocol
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] protocol type;
Especifique el tipo de protocolo como un valor numérico; para los protocolos más utilizados, los nombres de texto también se admiten en la interfaz de línea de comandos (CLI). La Tabla 2 muestra la lista de los protocolos compatibles.
Tipo de protocolo de red |
Valor de CLI |
Comentarios |
---|---|---|
Encabezado de autenticación (AH) de seguridad IP (IPsec) |
|
– |
Protocolo de puerta de enlace externa (EGP) |
|
– |
Carga de seguridad de encapsulación (ESP) IPsec |
|
– |
Encapsulación de enrutamiento genérico (GR) |
|
– |
ICMP |
|
Requiere un |
ICMPv6 |
|
Requiere un |
Protocolo de administración de grupos de Internet (IGMP) |
|
– |
IP en IP |
|
– |
OSPF |
|
– |
Multidifusión independiente del protocolo (PIM) |
|
– |
Protocolo de reserva de recursos (RSVP) |
|
– |
TCP |
|
Requiere un valor o |
UDP |
|
Requiere un valor o |
Para obtener una lista completa de los valores numéricos posibles, consulte RFC 1700, Números asignados (para el conjunto de protocolos de Internet).
IP versión 6 (IPv6) no se admite como protocolo de red en las definiciones de aplicación.
De forma predeterminada, la característica NAT dos veces puede afectar a los encabezados IP, TCP y UDP incrustados en la carga de mensajes de error ICMP. Puede incluir las protocol tcp
instrucciones y protocol udp
con la instrucción application para configuraciones NAT dos veces. Para obtener más información acerca de cómo configurar dos veces NAT, consulte Descripción general del direccionamiento de red con reconocimiento de direcciones de Junos.
Configuración del código y tipo ICMP
El código y el tipo ICMP proporcionan una especificación adicional, junto con el protocolo de red, para la coincidencia de paquetes en una definición de aplicación. Para configurar las opciones de ICMP, incluya las icmp-code
instrucciones y icmp-type
en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] icmp-code value; icmp-type value;
Solo puede incluir un código ICMP y un valor de tipo. La application-protocol
instrucción debe tener el valor icmp
. La Tabla 3 muestra la lista de valores ICMP admitidos.
Declaración de CLI |
Descripción |
---|---|
|
Este valor o palabra clave proporciona información más específica que En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los valores de campo). Las palabras clave se agrupan por el tipo de ICMP con el que están asociadas: parámetro-problema: Redirección: Tiempo excedido: Inalcanzables: |
|
Normalmente, esta coincidencia se especifica junto con la instrucción de En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los valores de campo): |
Si configura una interfaz con un filtro de firewall de entrada que incluye una acción de rechazo y con un conjunto de servicios que incluye reglas de firewall con estado, el enrutador ejecuta el filtro de firewall de entrada antes de que se ejecuten las reglas de firewall con estado en el paquete. Como resultado, cuando el motor de reenvío de paquetes envía un mensaje de error ICMP a través de la interfaz, las reglas de firewall con estado pueden descartar el paquete porque no se vio en la dirección de entrada.
Las posibles soluciones son incluir un filtro de tabla de reenvío para realizar la acción de rechazo, ya que este tipo de filtro se ejecuta después del firewall de estado en la dirección de entrada, o incluir un filtro de servicio de salida para evitar que los paquetes ICMP generados localmente vayan al servicio de firewall con estado.
Configuración de puertos de origen y destino
El puerto de origen y destino TCP o UDP proporciona una especificación adicional, junto con el protocolo de red, para la coincidencia de paquetes en una definición de aplicación. Para configurar puertos, incluya las destination-port
instrucciones y source-port
en el nivel jerárquico [edit applications application application-name]
:
[edit applications application application-name] destination-port value; source-port value;
Debe definir un puerto de origen o de destino. Normalmente, esta coincidencia se especifica junto con la instrucción de protocol
coincidencia para determinar qué protocolo se está utilizando en el puerto; para conocer las restricciones, consulte la tabla 1.
Puede especificar un valor numérico o uno de los sinónimos de texto enumerados en la tabla 4.
Nombre del puerto |
Número de puerto correspondiente |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para obtener más información acerca de la coincidencia de criterios, consulte la Guía del usuario de directivas de enrutamiento, filtros de firewall y políticas de tráfico.
Configuración del período de tiempo de espera de inactividad
Puede especificar un período de tiempo de espera para la inactividad de la aplicación. Si el software no ha detectado ninguna actividad durante la duración, el flujo deja de ser válido cuando expira el temporizador. Para configurar un período de tiempo de espera, incluya la inactivity-timeout
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] inactivity-timeout seconds;
El valor predeterminado es 30 segundos. El valor que se configura para una aplicación invalida cualquier valor global configurado en el nivel de jerarquía; para obtener más información, consulte Configuración del tiempo de espera predeterminado para interfaces de [edit interfaces interface-name service-options]
servicios.
Configuración de una aplicación IKE ALG
Antes de Junos OS versión 17.4R1, la traslación de direcciones de red (NAT-T) no era compatible con el conjunto de funciones IPsec de Junos VPN Site Secure en los enrutadores de la serie MX. El ALG de IKE permite el paso de paquetes IKEv1 e IPsec a través de filtros NAPT-44 y NAT64 entre pares IPsec que no son compatibles con NAT-T. Este ALG solo admite el modo de túnel ESP. Puede utilizar la aplicación junos-ike
IKE ALG predefinida, que tiene valores predefinidos para el puerto de destino (500), el tiempo de espera de inactividad (30 segundos), el tiempo de espera de puerta (120 segundos) y el tiempo de inactividad de la sesión ESP (800 segundos). Si desea utilizar el ALG de IKE con valores diferentes de los de la aplicación predefinida junos-ike
, debe configurar una nueva aplicación de IKE ALG.
Para configurar una aplicación IKE ALG:
Especifique un nombre para la aplicación.
[edit applications] user@host# set application junos-ike
Especifique el ALG de IKE.
[edit applications application junos-ike] user@host# set application-protocol ike-esp-nat
Especifique el protocolo UDP.
[edit applications application junos-ike] user@host# set protocol udp
Especifique 500 para el puerto de destino.
[edit applications application junos-ike] user@host# set destination-port 500
-
Especifique el número de segundos que la sesión de IKE está inactiva antes de eliminarla. El valor predeterminado es de 30 segundos.
[edit applications application junos-ike] user@host# set inactivity-timeout seconds
Especifique el número de segundos que pueden pasar después de que IKE establezca la asociación de seguridad entre el cliente IPsec y el servidor y antes de que el tráfico ESP se inicie en ambas direcciones. Si el tráfico ESP no ha comenzado antes de este valor de tiempo de espera, las puertas ESP se eliminan y el tráfico ESP se bloquea. El valor predeterminado es 120 segundos.
[edit applications application junos-ike] user@host# set gate-timeout seconds
Especifique el tiempo de espera de inactividad de la sesión ESP (tráfico de datos IPsec) en segundos. Si no se pasa ningún tráfico de datos IPsec en la sesión ESP en este tiempo, la sesión se elimina. El valor predeterminado es 800 segundos.
[edit applications application junos-ike] user@host# set child-inactivity-timeout seconds
Configuración de SIP
El protocolo de inicio de sesión (SIP) es un protocolo generalizado para la comunicación entre extremos implicados en servicios de Internet como telefonía, fax, videoconferencia, mensajería instantánea e intercambio de archivos.
Junos OS proporciona servicios de ALG de acuerdo con el estándar descrito en RFC 3261, SIP: Protocolo de inicio de sesión. Los flujos SIP en Junos OS son los que se describen en RFC 3665, Ejemplos de flujo de llamada básico del Protocolo de inicio de sesión (SIP).
Antes de implementar el ALG de SIP de Junos OS, debe estar familiarizado con ciertas limitaciones, que se describen en Limitaciones de la ALG de SIP de Junos OS
El uso de NAT junto con el ALG SIP produce cambios en los campos de encabezado SIP debido a la traducción de direcciones. Para obtener una explicación de estas traducciones, consulte Interacción de SIP ALG con la traducción de direcciones de red.
Para implementar SIP en interfaces de servicios adaptables, configure la application-protocol
instrucción en el nivel de [edit applications application application-name]
jerarquía con el valor sip
. Para obtener más información acerca de esta instrucción, vea Configurar un protocolo de aplicación. Además, hay otras dos instrucciones que puede configurar para modificar la implementación de SIP:
Puede habilitar el enrutador para que acepte cualquier llamada SIP entrante para los dispositivos de punto de conexión que están detrás del firewall NAT. Cuando un dispositivo detrás del firewall se registra con el proxy que está fuera del firewall, el AS o PIC multiservicios mantiene el estado de registro. Cuando la
learn-sip-register
instrucción está habilitada, el enrutador puede usar esta información para aceptar llamadas entrantes. Si esta instrucción no está configurada, no se aceptan llamadas entrantes; Solo los dispositivos detrás del firewall pueden llamar a dispositivos fuera del firewall.Para configurar el registro SIP, incluya la
learn-sip-register
instrucción en el nivel de[edit applications application application-name]
jerarquía:[edit applications application application-name] learn-sip-register;
Nota:La
learn-sip-register
instrucción no es aplicable al MX-SPC3 de servicios de próxima generación.También puede inspeccionar manualmente el registro SIP emitiendo el
show services stateful-firewall sip-register
comando; para obtener más información, consulte la Referencia de comandos de servicios y conceptos básicos del sistema de Junos OS. Elshow services stateful-firewall sip-register
comando no es compatible con los servicios de próxima generación.Puede especificar un período de tiempo de espera para la duración de las llamadas SIP que se ponen en espera. Cuando una llamada se pone en espera, no hay actividad y los flujos pueden agotar el tiempo de espera después de que expire el período configurado
inactivity-timeout
, lo que resulta en el desmontaje del estado de la llamada. Para evitar esto, cuando una llamada se pone en espera, el temporizador de flujo se restablece alsip-call-hold-timeout
ciclo para conservar el estado de la llamada y fluye durante más tiempo que elinactivity-timeout
período.Nota:La
sip-call-hold-timeout
instrucción no es aplicable al MX-SPC3 de servicios de próxima generación.Para configurar un período de tiempo de espera, incluya la
sip-call-hold-timeout
instrucción en el nivel de[edit applications application application-name]
jerarquía:[edit applications application application-name] sip-call-hold-timeout seconds;
El valor predeterminado es 7200 segundos y el intervalo es de 0 a 36.000 segundos (10 horas).
Interacción de SIP ALG con la traducción de direcciones de red
El protocolo de traducción de direcciones de red (NAT) permite que varios hosts en una subred privada compartan una única dirección IP pública para acceder a Internet. Para el tráfico saliente, NAT reemplaza la dirección IP privada del host en la subred privada por la dirección IP pública. Para el tráfico entrante, la dirección IP pública se convierte de nuevo en la dirección privada y el mensaje se enruta al host apropiado en la subred privada.
El uso de NAT con el servicio de protocolo de inicio de sesión (SIP) es más complicado porque los mensajes SIP contienen direcciones IP en los encabezados SIP, así como en el cuerpo del SIP. Cuando se utiliza NAT con el servicio SIP, los encabezados SIP contienen información sobre la persona que llama y el receptor, y el dispositivo traduce esta información para ocultarla de la red externa. El cuerpo SIP contiene la información del Protocolo de descripción de sesión (SDP), que incluye direcciones IP y números de puerto para la transmisión de los medios. El dispositivo traduce la información de SDP para asignar recursos para enviar y recibir los medios.
La forma en que se reemplazan las direcciones IP y los números de puerto en los mensajes SIP depende de la dirección del mensaje. Para un mensaje saliente, la dirección IP privada y el número de puerto del cliente se reemplazan por la dirección IP pública y el número de puerto del firewall de Juniper Networks. Para un mensaje entrante, la dirección pública del firewall se sustituye por la dirección privada del cliente.
Cuando se envía un mensaje INVITE a través del firewall, la puerta de enlace de capa de aplicación (ALG) del SIP recopila información del encabezado del mensaje en una tabla de llamadas, que utiliza para reenviar mensajes posteriores al extremo correcto. Cuando llega un mensaje nuevo, por ejemplo, un ACK o 200 OK, el ALG compara los campos "De:, Para:, y Identificador de llamada:" con la tabla de llamadas para identificar el contexto de llamada del mensaje. Si llega un nuevo mensaje de INVITACIÓN que coincide con la llamada existente, el ALG lo procesa como una REINVITACIÓN.
Cuando llega un mensaje que contiene información del SDP, el ALG asigna puertos y crea una asignación NAT entre ellos y los puertos del SDP. Dado que el SDP requiere puertos secuenciales para los canales del Protocolo de transporte en tiempo real (RTP) y del Protocolo de control en tiempo real (RTCP), el ALG proporciona puertos pares e impares consecutivos. Si no puede encontrar un par de puertos, descarta el mensaje SIP.
Este tema contiene las siguientes secciones:
Llamadas salientes
Cuando se inicia una llamada SIP con un mensaje de solicitud SIP de la red interna a la externa, NAT reemplaza las direcciones IP y los números de puerto en el SDP y enlaza las direcciones IP y los números de puerto al firewall de Juniper Networks. Los campos de encabezado SIP Vía, Contacto, Ruta y Registro-Ruta, si están presentes, también están enlazados a la dirección IP del firewall. El ALG almacena estas asignaciones para su uso en retransmisiones y para mensajes de respuesta SIP.
A continuación, el ALG SIP abre agujeros en el firewall para permitir que los medios pasen por el dispositivo en los puertos asignados dinámicamente negociados en función de la información del SDP y los campos de encabezado Via, Contacto y Registro-Ruta. Los agujeros de alfiler también permiten que los paquetes entrantes lleguen a las direcciones y puertos IP de contacto, vía y registro-ruta. Al procesar el tráfico de retorno, el ALG inserta los campos SIP originales Contacto, Vía, Ruta y Registro-Ruta en paquetes.
Llamadas entrantes
Las llamadas entrantes se inician desde la red pública a direcciones NAT estáticas públicas o a direcciones IP de interfaz en el dispositivo. Los NAT estáticos son direcciones IP configuradas estáticamente que apuntan a hosts internos; El ALG registra dinámicamente las direcciones IP de interfaz mientras supervisa los mensajes REGISTER enviados por hosts internos al registrador SIP. Cuando el dispositivo recibe un paquete SIP entrante, configura una sesión y reenvía la carga útil del paquete al ALG SIP.
El ALG examina el mensaje de solicitud SIP (inicialmente una INVITACIÓN) y, basándose en la información del SDP, abre puertas para los medios salientes. Cuando llega un mensaje de respuesta 200 OK, el ALG SIP realiza NAT en las direcciones IP y los puertos y abre agujeros en la dirección de salida. (Las puertas abiertas tienen poco tiempo de vida y agotan el tiempo de espera si no se recibe rápidamente un mensaje de respuesta OK de 200).
Cuando llega una respuesta OK 200, el proxy SIP examina la información del SDP y lee las direcciones IP y los números de puerto de cada sesión multimedia. El SIP ALG del dispositivo realiza NAT en las direcciones y números de puerto, abre agujeros para el tráfico saliente y actualiza el tiempo de espera de las puertas en la dirección entrante.
Cuando el ACK llega para el OK 200, también pasa a través del ALG SIP. Si el mensaje contiene información de SDP, el ALG del SIP se asegura de que las direcciones IP y los números de puerto no se cambien con respecto a la invitación anterior; si lo están, el ALG elimina los agujeros de alfiler antiguos y crea nuevos orificios para permitir el paso de los medios. El ALG también supervisa los campos SIP Vía, Contacto y Registro-Ruta y abre nuevos orificios si determina que estos campos han cambiado.
Llamadas desviadas
Una llamada desviada es cuando, por ejemplo, el usuario A fuera de la red llama al usuario B dentro de la red y el usuario B reenvía la llamada al usuario C fuera de la red. El ALG SIP procesa la invitación del usuario A como una llamada entrante normal. Pero cuando el ALG examina la llamada reenviada de B a C fuera de la red y observa que se llega a B y C utilizando la misma interfaz, no abre agujeros en el firewall, ya que los medios fluirán directamente entre el usuario A y el usuario C.
Terminación de llamada
El mensaje BYE finaliza una llamada. Cuando el dispositivo recibe un mensaje BYE, traduce los campos de encabezado del mismo modo que lo hace para cualquier otro mensaje. Pero debido a que un mensaje BYE debe ser reconocido por el receptor con un OK de 200, el ALG retrasa el desmontaje de la llamada durante cinco segundos para dar tiempo a la transmisión del OK de 200.
Mensajes de reinvitación de llamadas
Los mensajes de Re-INVITE agregan nuevas sesiones multimedia a una llamada y eliminan las sesiones multimedia existentes. Cuando se agregan nuevas sesiones multimedia a una llamada, se abren nuevos agujeros de alfiler en el firewall y se crean nuevos enlaces de direcciones. El proceso es idéntico a la configuración de llamada original. Cuando se quitan una o más sesiones multimedia de una llamada, se cierran los orificios y se liberan los enlaces al igual que con un mensaje BYE.
Temporizadores de sesión de llamada
El ALG SIP utiliza el valor Session-Expires para agotar el tiempo de espera de una sesión si no se recibe un mensaje Re-INVITE o UPDATE. El ALG obtiene el valor Session-Expires, si está presente, de la respuesta OK 200 a INVITE y utiliza este valor para el tiempo de espera de señalización. Si el ALG recibe otra INVITACIÓN antes de que se agote el tiempo de espera de la sesión, restablece todos los valores de tiempo de espera a esta nueva INVITACIÓN o a valores predeterminados, y el proceso se repite.
Como medida de precaución, el ALG SIP utiliza valores de tiempo de espera rígido para establecer la cantidad máxima de tiempo que puede existir una llamada. Esto garantiza que el dispositivo esté protegido en caso de que ocurra uno de los siguientes eventos:
Los sistemas finales se bloquean durante una llamada y no se recibe un mensaje BYE.
Los usuarios malintencionados nunca envían un BYE en un intento de atacar un ALG SIP.
Las implementaciones deficientes del proxy SIP no procesan Record-Route y nunca envían un mensaje BYE.
Los errores de red impiden que se reciba un mensaje BYE.
Cancelación de llamada
Cualquiera de las partes puede cancelar una llamada enviando un mensaje de CANCELACIÓN. Al recibir un mensaje CANCEL, el ALG SIP cierra los orificios a través del firewall (si se ha abierto alguno) y libera los enlaces de dirección. Antes de liberar los recursos, el ALG retrasa la antigüedad del canal de control durante aproximadamente cinco segundos para dar tiempo a que pasen los últimos 200 OK. La llamada finaliza cuando expira el tiempo de espera de cinco segundos, independientemente de si llega una respuesta 487 o no 200.
Bifurcar
La bifurcación permite que un proxy SIP envíe un único mensaje INVITE a múltiples destinos simultáneamente. Cuando llegan los 200 mensajes de respuesta OK para la llamada única, el ALG SIP analiza pero actualiza la información de llamada con los primeros 200 mensajes OK que recibe.
Mensajes SIP
El formato de mensaje SIP consta de una sección de encabezado SIP y el cuerpo SIP. En los mensajes de solicitud, la primera línea de la sección de encabezado es la línea de solicitud, que incluye el tipo de método, el URI de solicitud y la versión del protocolo. En los mensajes de respuesta, la primera línea es la línea de estado, que contiene un código de estado. Los encabezados SIP contienen direcciones IP y números de puerto utilizados para la señalización. El cuerpo SIP, separado de la sección del encabezado por una línea en blanco, está reservado para la información de descripción de la sesión, que es opcional. Actualmente, Junos OS solo admite SDP. El cuerpo SIP contiene las direcciones IP y los números de puerto utilizados para transportar los medios.
Encabezados SIP
En el siguiente mensaje de solicitud SIP de ejemplo, NAT reemplaza las direcciones IP en los campos de encabezado para ocultarlas de la red externa.
INVITE bob@10.150.20.5
SIP/2.0 Via: SIP/2.0/UDP10.150.20.3
:5434 From: alice@10.150.20.3
To: bob@10.150.20.5
Call-ID: a12abcde@10.150.20.3
Contact: alice@10.150.20.3
:5434 Route: <sip:netscreen@10.150.20.3
:5060> Record-Route: <sip:netscreen@10.150.20.3
:5060>
La forma en que se realiza la traducción de direcciones IP depende del tipo y la dirección del mensaje. Un mensaje puede ser cualquiera de los siguientes:
Solicitud entrante
Respuesta saliente
Solicitud saliente
Respuesta entrante
La Tabla 5 muestra cómo se realiza NAT en cada uno de estos casos. Tenga en cuenta que para varios de los campos de encabezado el ALG determina algo más que si los mensajes provienen de dentro o fuera de la red. También debe determinar qué cliente inició la llamada y si el mensaje es una solicitud o respuesta.
Solicitud entrante (de público a privado) |
Para: |
Reemplazar dominio con dirección local |
De: |
Ninguno |
|
ID de llamada: |
Ninguno |
|
Vía: |
Ninguno |
|
URI de solicitud: |
Reemplazar la dirección ALG por una dirección local |
|
Contacto: |
Ninguno |
|
Ruta de registro: |
Ninguno |
|
Ruta: |
Ninguno |
|
Respuesta saliente (de privado a público) |
Para: |
Reemplazar la dirección ALG por una dirección local |
De: |
Ninguno |
|
ID de llamada: |
Ninguno |
|
Vía: |
Ninguno |
|
URI de solicitud: |
N/A |
|
Contacto: |
Reemplazar la dirección local por la dirección ALG |
|
Ruta de registro: |
Reemplazar la dirección local por la dirección ALG |
|
Ruta: |
Ninguno |
|
Solicitud saliente (de privado a público) |
Para: |
Ninguno |
De: |
Reemplazar la dirección local por la dirección ALG |
|
ID de llamada: |
Ninguno |
|
Vía: |
Reemplazar la dirección local por la dirección ALG |
|
URI de solicitud: |
Ninguno |
|
Contacto: |
Reemplazar la dirección local por la dirección ALG |
|
Ruta de registro: |
Reemplazar la dirección local por la dirección ALG |
|
Ruta: |
Reemplazar la dirección ALG por una dirección local |
|
Respuesta saliente (de público a privado) |
Para: |
Ninguno |
De: |
Reemplazar la dirección ALG por una dirección local |
|
ID de llamada: |
Ninguno |
|
Vía: |
Reemplazar la dirección ALG por una dirección local |
|
URI de solicitud: |
N/A |
|
Contacto: |
Ninguno |
|
Ruta de registro: |
Reemplazar la dirección ALG por una dirección local |
|
Ruta: |
Reemplazar la dirección ALG por una dirección local |
Cuerpo SIP
La información del SDP en el cuerpo del SIP incluye las direcciones IP que el ALG utiliza para crear canales para la secuencia multimedia. La traducción de la sección SDP también asigna recursos, es decir, números de puerto para enviar y recibir los medios.
El siguiente extracto de una sección de ejemplo de SDP muestra los campos que se traducen para la asignación de recursos.
o=user 2344234 55234434 IN IP410.150.20.3
c=IN IP410.150.20.3
m=audio43249
RTP/AVP 0
Los mensajes SIP pueden contener más de una secuencia multimedia. El concepto es similar a adjuntar varios archivos a un mensaje de correo electrónico. Por ejemplo, un mensaje INVITE enviado desde un cliente SIP a un servidor SIP puede tener los siguientes campos:
c=IN IP410.123.33.4
m=audio33445
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33447
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33449
RTP/AVP 0
Junos OS admite hasta 6 canales SDP negociados para cada dirección, para un total de 12 canales por llamada.
Limitaciones de ALG SIP de Junos OS
Se aplican las siguientes limitaciones a la configuración de la ALG SIP:
Solo se admiten los métodos descritos en RFC 3261.
Solo se admite la versión 2 de SIP.
TCP no se admite como mecanismo de transporte para señalar mensajes para MS-MPC, pero se admite para los servicios de próxima generación.
No configure el ALG SIP cuando utilice STUN. si los clientes utilizan STUN/TURN para detectar el firewall o los dispositivos NAT entre la persona que llama y el respondedor o el proxy, el cliente intenta adivinar mejor el comportamiento del dispositivo NAT y actuar en consecuencia para realizar la llamada.
En MS-MPC, no use la opción de grupo NAT de asignación independiente del extremo junto con la ALG de SIP. Se producirán errores. Esto no se aplica a los Servicios de próxima generación.
Los datos de señalización IPv6 no son compatibles con MS-MPC, pero sí con los servicios de próxima generación.
No se admite la autenticación.
No se admiten mensajes cifrados.
La fragmentación SIP no se admite para MS-MPC, pero sí para los servicios de próxima generación.
Se supone que el tamaño máximo del paquete UDP que contiene un mensaje SIP es de 9 KB. No se admiten mensajes SIP más grandes que este.
Se supone que el número máximo de canales multimedia en un mensaje SIP es seis.
Los nombres de dominio completos (FQDN) no se admiten en campos críticos.
No se admite la QoS. SIP admite reescrituras DSCP.
No se admite la alta disponibilidad, excepto para el modo de espera semiactivo.
Una configuración de tiempo de espera de nunca no se admite en SIP o NAT.
No se admite la multidifusión (proxy de bifurcación).
Configuración de un comando SNMP para la coincidencia de paquetes
Puede especificar una configuración de comando SNMP para la coincidencia de paquetes. Para configurar SNMP, incluya la snmp-command
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] snmp-command value;
Los valores admitidos son get
, get-next
, set
, y trap
. Solo puede configurar un valor para la coincidencia. La application-protocol
instrucción en el nivel jerárquico [edit applications application application-name]
debe tener el valor snmp
. Para obtener información acerca de cómo especificar el protocolo de aplicación, consulte Configuración de un protocolo de aplicación.
Configuración de un número de programa RPC
Puede especificar un número de programa RPC para la coincidencia de paquetes. Para configurar un número de programa RPC, incluya la rpc-program-number
instrucción en el nivel jerárquico [edit applications application application-name]
:
[edit applications application application-name] rpc-program-number number;
El rango de valores utilizado para DCE o RPC es de 100.000 a 400.000. La application-protocol
instrucción en el nivel jerárquico [edit applications application application-name]
debe tener el valor rpc
. Para obtener información acerca de cómo especificar el protocolo de aplicación, consulte Configuración de un protocolo de aplicación.
Configuración del umbral TTL
Puede especificar un valor de umbral de tiempo de vida (TTL) de ruta de rastreo, que controla el nivel aceptable de penetración de red para el enrutamiento de seguimiento. Para configurar un valor TTL, incluya la ttl-threshold
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] ttl-threshold value;
La application-protocol
instrucción en el nivel jerárquico [edit applications application application-name]
debe tener el valor traceroute
. Para obtener información acerca de cómo especificar el protocolo de aplicación, consulte Configuración de un protocolo de aplicación.
Configuración de un identificador único universal
Puede especificar un identificador único universal (UUID) para los objetos RPC de DCE. Para configurar un valor UUID, incluya la uuid
instrucción en el nivel de [edit applications application application-name]
jerarquía:
[edit applications application application-name] uuid hex-value;
El uuid
valor está en notación hexadecimal. La application-protocol
instrucción en el nivel jerárquico [edit applications application application-name
debe tener el valor dce-rpc
. Para obtener información acerca de cómo especificar el protocolo de aplicación, consulte Configuración de un protocolo de aplicación. Para obtener más información acerca de los números UUID, consulte http://www.opengroup.org/onlinepubs/9629399/apdxa.htm
.
Ver también
Configuración de conjuntos de aplicaciones
Puede agrupar las aplicaciones que ha definido en un objeto con nombre incluyendo la application-set
instrucción en el nivel de [edit applications]
jerarquía con una application
instrucción para cada aplicación:
[edit applications] application-set application-set-name { application application; }
Para obtener un ejemplo de un conjunto de aplicaciones típico, consulte Ejemplos: configuración de protocolos de aplicación.
Ejemplos: configuración de protocolos de aplicación
En el ejemplo siguiente se muestra una definición de protocolo de aplicación que describe una aplicación FTP especial que se ejecuta en el puerto 78:
[edit applications] application my-ftp-app { application-protocol ftp; protocol tcp; destination-port 78; timeout 100; # inactivity timeout for FTP service }
En el ejemplo siguiente se muestra un protocolo ICMP especial (application-protocol icmp
) de tipo 8 (eco ICMP):
[edit applications] application icmp-app { application-protocol icmp; protocol icmp; icmp-type icmp-echo; }
En el ejemplo siguiente se muestra un posible conjunto de aplicaciones:
[edit applications] application-set basic { http; ftp; telnet; nfs; icmp; }
El software incluye un conjunto predefinido de protocolos de aplicación conocidos. El conjunto incluye aplicaciones para las cuales los filtros de firewall sin estado ya reconocen los puertos de destino TCP y UDP.
Comprobación de los resultados de las sesiones de ALG
Esta sección contiene ejemplos de resultados exitosos de sesiones ALG e información sobre la configuración del registro del sistema. Puede comparar los resultados de sus sesiones para comprobar si las configuraciones funcionan correctamente.
Ejemplo de FTP
En este ejemplo se analiza el resultado durante una sesión FTP activa. Consta de cuatro flujos diferentes; dos son flujos de control y dos son flujos de datos. El ejemplo consta de las siguientes partes:
Salida de muestra
Tarjeta MS-MPC
Para MS-MPC, el siguiente es un resultado de ejemplo completo del comando de show services stateful-firewall conversations application-protocol ftp
modo operativo:
user@host>show services stateful-firewall conversations application-protocol ftp Interface: ms-1/3/0, Service set: CLBJI1-AAF001 Conversation: ALG protocol: ftp Number of initiators: 2, Number of responders: 2 Flow State Dir Frm count TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118 TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Para cada flujo, la primera línea muestra información de flujo, incluido el protocolo (TCP), la dirección de origen, el puerto de origen, la dirección de destino, el puerto de destino, el estado del flujo, la dirección y el recuento de tramas.
El estado de un flujo puede ser
Watch
,Forward
, oDrop
:Un
Watch
estado de flujo indica que el ALG supervisa el flujo de control para obtener información en la carga. El procesamiento NAT se realiza en el encabezado y la carga según sea necesario.Un
Forward
flujo reenvía los paquetes sin supervisar la carga útil. NAT se realiza en el encabezado según sea necesario.Un
Drop
flujo deja caer cualquier paquete que coincida con la tupla 5.
El recuento de tramas (
Frm count
) muestra el número de paquetes que se procesaron en ese flujo.
La segunda línea muestra la información de NAT.
source
indica NAT de origen.dest
indica NAT de destino.La primera dirección y el puerto de la línea NAT son la dirección original y el puerto que se está traduciendo para ese flujo.
La segunda dirección y el puerto de la línea NAT son la dirección traducida y el puerto para ese flujo.
Tarjeta MX-SPC3
En la tarjeta de servicios MX-SPC3, a continuación se muestra un ejemplo completo del comando de show services sessions application-protocol ftp
modo operativo:
user@host>show services sessions application-protocol ftp Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239, Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650, Total sessions: 2
Para cada sesión:
La primera línea muestra información de flujo, incluido el ID de sesión, el nombre del conjunto de servicios, el nombre de la directiva, el tiempo de espera de la sesión, el nombre del sistema lógico y su estado.
La segunda línea,
Resource information
, indica que ALG crea la sesión, incluidos el nombre ALG (FTP ALG) y el ID del grupo ASL, que es 1y el ID de recurso ASL, que es 0 para la sesión de control y 1 para la sesión de datos.La tercera línea
In
es el flujo hacia adelante y la cuarta líneaOut
es el flujo inverso, incluida la dirección de origen, el puerto de origen, la dirección de destino, el puerto de destino, el protocolo (TCP), la etiqueta de conn de sesión, la interfaz entrante yIn
salienteOut
, el recuento de tramas recibidas y los bytes. NAT se realiza en el encabezado según sea necesario.
Mensajes de registro del sistema FTP
Los mensajes de registro del sistema se generan durante una sesión FTP. Para obtener más información acerca de los registros del sistema, consulte Mensajes de registro del sistema.
Tarjeta MS-MPC
Los siguientes mensajes de registro del sistema se generan durante la creación del flujo de control FTP:
Registro del sistema de aceptación de reglas:
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, Match SFW accept rule-set:, rule: ftp, term: 1
Crear registro del sistema de Accept Flow:
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, creating forward or watch flow
Registro del sistema para la creación de flujo de datos:
Oct 27 11:43:30 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_FTP_ACTIVE_ACCEPT: proto 6 (TCP) application: ftp, so-2/1/2.0:2.2.2.2:20 -> 1.1.1.2:50726, Creating FTP active mode forward flow
Tarjeta MX-SPC3
Los siguientes mensajes de registro del sistema se generan durante la creación del flujo de control FTP:
Registro del sistema para la creación de sesiones de control FTP:
Mar 23 23:58:54 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 N/A(N/A) ge-1/0/2.0 UNKNOWN UNKNOWN UNKNOWN N/A N/A -1 N/A Mar 23 23:59:00 esst480r junos-alg: RT_ALG_FTP_ACTIVE_ACCEPT: application:ftp data, vms-3/0/0.0 30.1.1.2:20 -> 20.1.1.2:33947 (TCP)
Registro del sistema para la creación de sesiones de datos FTP:
Mar 23 23:59:00 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 N/A(N/A) ge-1/1/6.0 FTP-DATA UNKNOWN UNKNOWN Infrastructure File-Servers 2 N/A
El registro del sistema para la destrucción de sesión de datos FTP:
Mar 23 23:59:02 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed TCP FIN: 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 2954(4423509) 281(14620) 2 FTP-DATA UNKNOWN N/A(N/A) ge-1/1/6.0 No Infrastructure File-Servers 2 N/A
Registro del sistema para la destrucción de sesión de control FTP:
Mar 23 23:59:39 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed Closed by junos-tcp-clt-emul: 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 23(1082) 18(1176) 45 UNKNOWN UNKNOWN N/A(N/A) ge-1/0/2.0 No N/A N/A -1 N/A
Análisis
Flujos de control
Tarjeta MS-MPC
Los flujos de control se establecen después de que se completa el protocolo de enlace de tres vías.
Controle el flujo del cliente FTP al servidor FTP. El puerto de destino TCP es 21.
TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118
Controle el flujo del servidor FTP al cliente FTP. El puerto de origen TCP es 21.
TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083
Tarjeta MX-SPC3
Los flujos de control se establecen después de que se completa el protocolo de enlace de tres vías.
Sesión de control desde el cliente FTP al servidor FTP, el puerto de destino TCP es 21.
Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650,
Sesión de datos del cliente FTP al servidor FTP, es para el modo pasivo FTP.
Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239,
Sesión de datos del servidor FTP al cliente FTP, es para el modo activo de FTP:
Session ID: 549978117, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 22.20.20.3/20 --> 60.1.1.3/6049;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 10, Bytes: 8291, Out: 12.10.10.10/33203 --> 22.20.20.3/20;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 5, Bytes: 268,
Flujos de datos
Se negocia un puerto de datos de 20 para la transferencia de datos durante el curso del protocolo de control FTP. Estos dos flujos son flujos de datos entre el cliente FTP y el servidor FTP:
TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Preguntas de solución de problemas
¿Cómo sé si el ALG FTP está activo?
El campo protocolo ALG de la conversación debe mostrar
ftp
.Debe haber un recuento de tramas válido (
Frm count
) en los flujos de control.Un recuento de fotogramas válido en los flujos de datos indica que se ha producido una transferencia de datos.
¿Qué necesito para comprobar si la conexión FTP está establecida pero la transferencia de datos no se lleva a cabo?
Lo más probable es que la conexión de control esté activa, pero la conexión de datos esté inactiva.
Compruebe el resultado de las conversaciones para determinar si tanto el control como los flujos de datos están presentes.
¿Cómo interpreto cada flujo? ¿Qué significa cada flujo?
Flujo del iniciador de flujo de control FTP: flujo con el puerto de destino 21
Flujo del respondedor de flujo de control FTP: flujo con puerto de origen; 21
Flujo del iniciador de flujo de datos FTP: flujo con el puerto de destino 20
Flujo del respondedor de flujo de datos FTP: flujo con el puerto de origen 20
Ejemplo de RTSP ALG
El siguiente es un ejemplo de una conversación RTSP. La aplicación utiliza el protocolo RTSP para la conexión de control. Una vez configurada la conexión, los medios se envían mediante el protocolo UDP (RTP).
Este ejemplo consta de lo siguiente:
- Resultado de ejemplo para MS-MPC
- Salida de muestra para la tarjeta de servicios MX-SPC3
- Análisis
- Preguntas de solución de problemas
Resultado de ejemplo para MS-MPC
Este es el resultado del comando del show services stateful-firewall conversations
modo operativo:
user@host# show services stateful-firewall conversations Interface: ms-3/2/0, Service set: svc_set Conversation: ALG protocol: rtsp Number of initiators: 5, Number of responders: 5 Flow State Dir Frm count TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 UDP 1.1.1.3:1028 -> 2.2.2.2:1028 Forward I 0 UDP 1.1.1.3:1029 -> 2.2.2.2:1029 Forward I 0 UDP 1.1.1.3:1030 -> 2.2.2.2:1030 Forward I 0 UDP 1.1.1.3:1031 -> 2.2.2.2:1031 Forward I 0 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5 UDP 2.2.2.2:1028 -> 1.1.1.3:1028 Forward O 6 UDP 2.2.2.2:1029 -> 1.1.1.3:1029 Forward O 0 UDP 2.2.2.2:1030 -> 1.1.1.3:1030 Forward O 3 UDP 2.2.2.2:1031 -> 1.1.1.3:1031 Forward O 0
Salida de muestra para la tarjeta de servicios MX-SPC3
Este es el resultado del comando del show services sessions application-protocol rtsp
modo operativo:
user@host# run show services sessions application-protocol rtsp Session ID: 1073741828, Service-set: sset1, Policy name: p1/131081, Timeout: 116, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 0 In: 31.0.0.2/33575 --> 41.0.0.2/554;tcp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 8, Bytes: 948, Out: 41.0.0.2/554 --> 131.10.0.1/7777;tcp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 6, Bytes: 1117, Session ID: 1073741829, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 1 In: 41.0.0.2/35004 --> 131.10.0.1/7780;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 79200, Out: 31.0.0.2/30004 --> 41.0.0.2/35004;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Session ID: 1073741830, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 4 In: 41.0.0.2/35006 --> 131.10.0.1/7781;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 174240, Out: 31.0.0.2/30006 --> 41.0.0.2/35006;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Total sessions: 3
Análisis
Una conversación RTSP debe constar de flujos TCP correspondientes a la conexión de control RTSP. Debe haber dos flujos, uno en cada dirección, de cliente a servidor y de servidor a cliente:
TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5
La conexión de control RTSP para el flujo del iniciador se envía desde el puerto de destino 554.
La conexión de control RTSP para el flujo del respondedor se envía desde el puerto de origen 554.
Los flujos UDP corresponden a medios RTP enviados a través de la conexión RTSP.
Preguntas de solución de problemas
Los medios no funcionan cuando se configura el ALG RTSP. ¿Qué debo hacer?
Compruebe las conversaciones RTSP para ver si existen flujos TCP y UDP.
El protocolo ALG debe mostrarse como
rtsp
.
Nota:El estado del flujo se muestra como
Watch
, porque el procesamiento ALG está teniendo lugar y el cliente está esencialmente "observando" o procesando la carga correspondiente a la aplicación. Para los flujos ALG FTP y RTSP, las conexiones de control siempreWatch
son flujos.¿Cómo compruebo si hay errores de ALG?
Puede comprobar si hay errores emitiendo el siguiente comando. Cada ALG tiene un campo separado para los errores de paquetes ALG.
user@host# show services stateful-firewall statistics extensive Interface: ms-3/2/0 Service set: svc_set New flows: Accepts: 1347, Discards: 0, Rejects: 0 Existing flows: Accepts: 144187, Discards: 0, Rejects: 0 Drops: IP option: 0, TCP SYN defense: 0 NAT ports exhausted: 0 Errors: IP: 0, TCP: 276 UDP: 0, ICMP: 0 Non-IP packets: 0, ALG: 0 IP errors: IP packet length inconsistencies: 0 Minimum IP header length check failures: 0 Reassembled packet exceeds maximum IP length: 0 Illegal source address: 0 Illegal destination address: 0 TTL zero errors: 0, Illegal IP protocol number (0 or 255): 0 Land attack: 0 Non-IPv4 packets: 0, Bad checksum: 0 Illegal IP fragment length: 0 IP fragment overlap: 0 IP fragment reassembly timeout: 0 Unknown: 0 TCP errors: TCP header length inconsistencies: 0 Source or destination port number is zero: 0 Illegal sequence number and flags combinations: 0 SYN attack (multiple SYN messages seen for the same flow): 276 First packet not a SYN message: 0 TCP port scan (TCP handshake, RST seen from server for SYN): 0 Bad SYN cookie response: 0 UDP errors: IP data length less than minimum UDP header length (8 bytes): 0 Source or destination port number is zero: 0 UDP port scan (ICMP error seen for UDP flow): 0 ICMP errors: IP data length less than minimum ICMP header length (8 bytes): 0 ICMP error length inconsistencies: 0 Duplicate ping sequence number: 0 Mismatched ping sequence number: 0 ALG errors: BOOTP: 0, DCE-RPC: 0, DCE-RPC portmap: 0 DNS: 0, Exec: 0, FTP: 0 ICMP: 0 Login: 0, NetBIOS: 0, NetShow: 0 RPC: 0, RPC portmap: 0 RTSP: 0, Shell: 0 SNMP: 0, SQLNet: 0, TFTP: 0 Traceroute: 0
Mensajes de registro del sistema
Habilitar la generación de registros del sistema y verificar el registro del sistema también son útiles para el análisis de flujo de ALG. Esta sección contiene lo siguiente:
Configuración del registro del sistema
Puede configurar la habilitación de mensajes de registro del sistema en varios niveles diferentes en la CLI de Junos OS. Como se muestra en las siguientes configuraciones de ejemplo, la elección del nivel depende de lo específico que desee que sea el registro de eventos y de las opciones que desee incluir. Para obtener más información sobre las opciones de configuración, consulte la Biblioteca de administración de Junos OS para dispositivos de enrutamiento (nivel de sistema) o la Biblioteca de interfaces de servicios de Junos OS para dispositivos de enrutamiento (todos los demás niveles).
En el nivel global más alto:
user@host# show system syslog file messages { any any; }
En el nivel de conjunto de servicios:
user@host# show services service-set svc_set syslog { host local { services any; } } stateful-firewall-rules allow_rtsp; interface-service { service-interface ms-3/2/0; }
En el nivel de regla de servicio:
user@host# show services stateful-firewall rule allow_rtsp match-direction input-output; term 0 { from { applications junos-rtsp; } then { accept; syslog; } }
Salida del registro del sistema
Los mensajes de registro del sistema se generan durante la creación del flujo, como se muestra en los ejemplos siguientes:
El siguiente mensaje de registro del sistema indica que el ASP coincidía con una regla de aceptación:
Oct 25 16:11:37 (FPC Slot 3, PIC Slot 2) {svc_set}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: rtsp, ge-2/0/1.0:1.1.1.2:35595 -> 2.2.2.2:554, Match SFW accept rule-set: , rule: allow_rtsp, term: 0
Para obtener una lista completa de los mensajes de registro del sistema, consulte el Explorador de registros del sistema.