Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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:

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

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:

La Tabla 1 muestra la lista de protocolos compatibles. Para obtener más información acerca de protocolos específicos, consulte Descripciones de ALG.

Tabla 1: Protocolos de aplicación admitidos por las interfaces de servicios

Nombre del protocolo

Valor de CLI

Comentarios

Protocolo de arranque (BOOTP)

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)

dce-rpc

Requiere que la protocol instrucción tenga el valor udp o tcp. Requiere un uuid valor. No puede especificar destination-port ni source-port valores.

Mapa del puerto RPC de DCE

dce-rpc-portmap

Requiere que la protocol instrucción tenga el valor udp o tcp. Requiere un destination-port valor.

Sistema de nombres de dominio (DNS)

dns

Requiere que la protocol instrucción tenga el valor udp. Este protocolo de aplicación cierra el flujo DNS tan pronto como se recibe la respuesta DNS.

Exec

exec

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un destination-port valor.

FTP

ftp

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un destination-port valor.

H.323

h323

IKE ALG

ike-esp-nat

Requiere que la protocol instrucción tenga el valor udp y requiere que el destination-port valor sea 500.

Protocolo de mensajes de control de Internet (ICMP)

icmp

Requiere que la protocol instrucción tenga el valor icmp o que no se especifique.

Protocolo Inter-ORB de Internet

iiop

IP

ip

Iniciar sesión

login

NetBIOS

netbios

Requiere que la protocol instrucción tenga el valor udp o que no se especifique. Requiere un destination-port valor.

NetShow

netshow

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un destination-port valor.

Protocolo de tunelización punto a punto

pptp

RealAudio

realaudio

Protocolo de transmisión en tiempo real (RTSP)

rtsp

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un destination-port valor.

Protocolo de datagramas de usuario (UDP) RPC o TCP

rpc

Requiere que la protocol instrucción tenga el valor udp o tcp. Requiere un rpc-program-number valor. No puede especificar destination-port ni source-port valores.

Mapeo de puertos RPC

rpc-portmap

Requiere que la protocol instrucción tenga el valor udp o tcp. Requiere un destination-port valor.

Cáscara

shell

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un destination-port valor.

Protocolo de inicio de sesión

sip

SNMP

snmp

Requiere que la protocol instrucción tenga el valor udp o que no se especifique. Requiere un destination-port valor.

SQLNet

sqlnet

Requiere que la protocol instrucción tenga el valor tcp o que no se especifique. Requiere un valor o destination-port source-port .

Programa de charlas

talk

Trazar ruta

traceroute

Requiere que la protocol instrucción tenga el valor udp o que no se especifique. Requiere un destination-port valor.

FTP trivial (TFTP)

tftp

Requiere que la protocol instrucción tenga el valor udp o que no se especifique. Requiere un destination-port valor.

WinFrame

winframe

Nota:

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:

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.

Tabla 2: Protocolos de red admitidos por las interfaces de servicios

Tipo de protocolo de red

Valor de CLI

Comentarios

Encabezado de autenticación (AH) de seguridad IP (IPsec)

ah

Protocolo de puerta de enlace externa (EGP)

egp

Carga de seguridad de encapsulación (ESP) IPsec

esp

Encapsulación de enrutamiento genérico (GR)

gre

ICMP

icmp

Requiere un application-protocol valor de icmp.

ICMPv6

icmp6

Requiere un application-protocol valor de icmp.

Protocolo de administración de grupos de Internet (IGMP)

igmp

IP en IP

ipip

OSPF

ospf

Multidifusión independiente del protocolo (PIM)

pim

Protocolo de reserva de recursos (RSVP)

rsvp

TCP

tcp

Requiere un valor o destination-port source-port , a menos que especifique application-protocol rcp o dce-rcp.

UDP

udp

Requiere un valor o destination-port source-port , a menos que especifique application-protocol rcp o dce-rcp.

Para obtener una lista completa de los valores numéricos posibles, consulte RFC 1700, Números asignados (para el conjunto de protocolos de Internet).

Nota:

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:

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.

Tabla 3: Códigos ICMP y tipos admitidos por las interfaces de servicios

Declaración de CLI

Descripción

icmp-code

Este valor o palabra clave proporciona información más específica que icmp-type. Dado que el significado del valor depende del valor asociado icmp-type , debe especificar icmp-type junto con icmp-code. Para obtener más información, consulte la Guía del usuario de políticas de enrutamiento, filtros de firewall y políticas de tráfico.

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: ip-header-bad (0), required-option-missing (1)

Redirección: redirect-for-host (1), redirect-for-network (0), redirect-for-tos-and-host (3), redirect-for-tos-and-net (2)

Tiempo excedido: ttl-eq-zero-during-reassembly (1), ttl-eq-zero-during-transit (0)

Inalcanzables: communication-prohibited-by-filtering (13), destination-host-prohibited (10), destination-host-unknown (7), destination-network-prohibited (9), destination-network-unknown (6), fragmentation-needed (4), host-precedence-violation (14), host-unreachable (1), host-unreachable-for-TOS (12), network-unreachable (0), network-unreachable-for-TOS (11), port-unreachable (3), precedence-cutoff-in-effect (15), protocol-unreachable (2), source-host-isolated (8), source-route-failed (5)

icmp-type

Normalmente, esta coincidencia se especifica junto con la instrucción de protocol coincidencia para determinar qué protocolo se está utilizando en el puerto. Para obtener más información, consulte la Guía del usuario de políticas de enrutamiento, filtros de firewall y políticas de tráfico.

En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los valores de campo): echo-reply (0), echo-request (8), info-reply (16), info-request (15), mask-request (17), mask-reply (18), parameter-problem (12), redirect (5), router-advertisement (9), router-solicit (10), source-quench (4), time-exceeded (11), timestamp (13), timestamp-reply (14) o unreachable (3).

Nota:

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] :

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.

Tabla 4: Nombres de puertos admitidos por las interfaces de servicios

Nombre del puerto

Número de puerto correspondiente

afs

1483

bgp

179

biff

512

bootpc

68

bootps

67

cmd

514

cvspserver

2401

dhcp

67

domain

53

eklogin

2105

ekshell

2106

exec

512

finger

79

ftp

21

ftp-data

20

http

80

https

443

ident

113

imap

143

kerberos-sec

88

klogin

543

kpasswd

761

krb-prop

754

krbupdate

760

kshell

544

ldap

389

login

513

mobileip-agent

434

mobilip-mn

435

msdp

639

netbios-dgm

138

netbios-ns

137

netbios-ssn

139

nfsd

2049

nntp

119

ntalk

518

ntp

123

pop3

110

pptp

1723

printer

515

radacct

1813

radius

1812

rip

520

rkinit

2108

smtp

25

snmp

161

snmptrap

162

snpp

444

socks

1080

ssh

22

sunrpc

111

syslog

514

tacacs-ds

65

talk

517

telnet

23

tftp

69

timed

525

who

513

xdmcp

177

zephyr-clt

2103

zephyr-hm

2104

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:

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-ikeIKE 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:

  1. Especifique un nombre para la aplicación.

  2. Especifique el ALG de IKE.

  3. Especifique el protocolo UDP.

  4. Especifique 500 para el puerto de destino.

  5. Especifique el número de segundos que la sesión de IKE está inactiva antes de eliminarla. El valor predeterminado es de 30 segundos.

  6. 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.

  7. 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.

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).

Nota:

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:

    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. El show 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 al sip-call-hold-timeout ciclo para conservar el estado de la llamada y fluye durante más tiempo que el inactivity-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:

    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.

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.

Tabla 5: Solicitud de mensajes con la tabla NAT

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.

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:

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:

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] :

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:

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:

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.

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:

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:

En el ejemplo siguiente se muestra un protocolo ICMP especial (application-protocol icmp) de tipo 8 (eco ICMP):

En el ejemplo siguiente se muestra un posible conjunto de aplicaciones:

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:

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, o Drop:

    • 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:

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ínea Out 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 y Insaliente Out , 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:

  • Crear registro del sistema de Accept Flow:

  • Registro del sistema para la creación de flujo de datos:

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:

  • Registro del sistema para la creación de sesiones de datos FTP:

  • El registro del sistema para la destrucción de sesión de datos FTP:

  • Registro del sistema para la destrucción de sesión de control FTP:

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.

  • Controle el flujo del servidor FTP al cliente FTP. El puerto de origen TCP es 21.

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.

  • Sesión de datos del cliente FTP al servidor FTP, es para el modo pasivo FTP.

  • Sesión de datos del servidor FTP al cliente FTP, es para el modo activo de FTP:

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:

Preguntas de solución de problemas

  1. ¿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.

  2. ¿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.

  3. ¿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

Este es el resultado del comando del show services stateful-firewall conversations modo operativo:

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:

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:

  • 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

  1. 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 siempre Watch son flujos.

  2. ¿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.

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).

  1. En el nivel global más alto:

  2. En el nivel de conjunto de servicios:

  3. En el nivel de regla de servicio:

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:

Para obtener una lista completa de los mensajes de registro del sistema, consulte el Explorador de registros del sistema.