EN ESTA PÁGINA
-
Ejemplo: configuración de la duración y los tiempos de espera de las llamadas SIP ALG
-
Ejemplo: Configuración de protección contra ataques DS SIP ALG
-
Ejemplo: Configuración de TDR de origen de interfaz para llamadas SIP entrantes
-
Ejemplo: Configuración de TDR estático para llamadas SIP entrantes
-
Ejemplo: Configuración del proxy SIP en la zona privada y TDR en la zona pública
-
Ejemplo: Configuración de un escenario SIP ALG y TDR de tres zonas
SIP ALG
El protocolo de inicio de sesión (SIP) es un protocolo de señalización para iniciar, modificar y terminar sesiones multimedia a través de Internet. SIP admite sesiones multimedia únicas y multimedia.
Descripción del SIP ALG
El protocolo de iniciación de sesión (SIP) es un protocolo estándar del Grupo de trabajo de ingeniería de Internet (GTI-I) para iniciar, modificar y terminar sesiones multimedia a través de Internet. Estas sesiones pueden incluir conferencias, telefonía o multimedia, con funciones como mensajería instantánea y movilidad a nivel de aplicación en entornos de red.
Junos OS admite SIP como servicio, permitiéndolo y denegándolo en función de una política que configure. SIP es un servicio predefinido en Junos OS y utiliza el puerto 5060 como puerto de destino.
Una de las funciones de SIP es distribuir información de descripción de la sesión y, durante la sesión, negociar y modificar los parámetros de la sesión. SIP también se utiliza para finalizar una sesión multimedia, señalar un establecimiento de llamada, proporcionar indicación de falla y proporcionar métodos para el registro del punto de conexión.
La información de descripción de la sesión se incluye en los mensajes INVITE y 200-OK o 200-OK y ACK e indica el tipo multimedia de la sesión; por ejemplo, si es voz o video. Aunque SIP puede usar diferentes protocolos de descripción para describir la sesión, la puerta de enlace de capa de aplicación (ALG) SIP de Juniper Networks solo admite el protocolo de descripción de sesión (SDP).
SDP proporciona información que un sistema puede usar para unirse a una sesión multimedia. El SDP puede incluir información como direcciones IP, números de puerto, horas y fechas. Tenga en cuenta que la dirección IP y el número de puerto en el encabezado SDP (los campos c= y m=, respectivamente) son la dirección y el puerto donde el cliente desea recibir los flujos de medios y no la dirección IP y el número de puerto desde los que se origina la solicitud SIP (aunque pueden ser los mismos).
Los mensajes SIP consisten en solicitudes de un cliente a un servidor y respuestas a las solicitudes de un servidor a un cliente con el fin de establecer una sesión (o una llamada). Un agente de usuario (UA) es una aplicación que se ejecuta en los puntos de conexión de la llamada y consta de dos partes:
-
cliente de agente de usuario (UAC), que envía solicitudes SIP en nombre del usuario
-
Servidor de agente de usuario (UAS), que escucha las respuestas y notifica al usuario cuando llegan
UAC y UAS se definen en relación con el papel que desempeña un agente en particular en una negociación.
Ejemplos de UA son los servidores proxy SIP y los teléfonos.
Este tema contiene las siguientes secciones:
Operación SIP ALG
Hay dos tipos de tráfico SIP, la señalización y el flujo de medios. El tráfico de señalización SIP consta de mensajes de solicitud y respuesta entre el cliente y el servidor y utiliza protocolos de transporte como UDP o TCP. El flujo de medios transporta los datos (datos de audio, por ejemplo) mediante protocolos de transporte.
A partir de Junos OS versión 12.3X48-D25 y Junos OS versión 17.3R1, SIP ALG admite TCP. El soporte TCP a través de SIP ALG reduce el tráfico al servidor al eliminar la necesidad de volver a registrar o actualizar el servidor con frecuencia.
De forma predeterminada, Junos OS admite mensajes de señalización SIP en el puerto 5060. Puede configurar el puerto mediante la creación de una política que permita el servicio SIP y el software filtra el tráfico de señalización SIP como cualquier otro tipo de tráfico, permitiéndolo o denegándolo. Sin embargo, la transmisión de medios utiliza números de puerto asignados dinámicamente que pueden cambiar varias veces durante el transcurso de una llamada. Sin puertos fijos, no es seguro crear una política estática para controlar el tráfico de medios. En este caso, el dispositivo invoca el ALG SIP. Los puertos de transporte de dispositivos utilizados para las sesiones de medios no se conocen de antemano; sin embargo, los puertos utilizados para la negociación SIP son bien conocidos (o predefinidos). El ALG registra el interés en los paquetes de la sesión de control, que puede distinguir fácilmente de los demás paquetes, e inspecciona la negociación para la información de transporte utilizada para la sesión de medios (tanto direcciones IP como puertos).
El SIP ALG crea un orificio cuando determina una IP, un puerto, una dirección de transporte y un protocolo coincidentes, que se identifican con cualquier información conocida en el momento en que se abre el orificio secundario.
El SIP ALG monitorea las transacciones SIP y crea y administra dinámicamente agujeros en función de la información que extrae de estas transacciones. El ALG SIP de Juniper Networks admite todos los métodos y respuestas SIP. Puede permitir que las transacciones SIP atraviesen el firewall de Juniper Networks creando una política estática que permita el servicio SIP. Si la política está configurada para inspeccionar el tráfico SIP (o, más apropiadamente, si la política envía algo de tráfico al ALG SIP para su inspección), las acciones permitidas son permitir el tráfico (en cuyo caso se abren los agujeros adecuados) o denegar el tráfico.
El ALG SIP intercepta los mensajes SIP que contienen SDP y, mediante un analizador, extrae la información que necesita para crear agujeros de alfiler. El ALG SIP examina la parte SDP del paquete y un analizador extrae información como direcciones IP y números de puerto, que el ALG SIP registra en una tabla estenopeica. El ALG SIP utiliza las direcciones IP y los números de puerto registrados en la tabla de agujeros para abrir agujeros y permitir que las transmisiones de medios atraviesen el dispositivo.
Cuando el dispositivo realiza TDR, las direcciones de transporte que emplean las UA son incorrectas. El ALG SIP modifica las direcciones de transporte en función de los puertos traducidos y las direcciones asignadas por el dispositivo que traduce direcciones de red. Cuando SDP está cifrado, el dispositivo no puede extraer ni modificar el contenido del mensaje y, por lo tanto, no puede corregir las direcciones de transporte. Para proporcionar una solución alternativa, se implementó el protocolo STUN (que requiere que los dispositivos TDR realicen algún tipo de cono-TDR), que permite a los clientes determinar las direcciones traducidas y usar esas direcciones recién descubiertas en los mensajes SDP.
Los productos SIP de NEC son compatibles condicionalmente.
Descripciones de sesiones de SDP
La descripción de una sesión SDP es un formato bien definido para transmitir información suficiente para descubrir y participar en una sesión multimedia. Una sesión se describe mediante una serie de pares de atributo y valor, uno por línea. Los nombres de atributo son caracteres individuales, seguidos de = y un valor. Los valores opcionales se especifican con =*. Los valores son una cadena ASCII o una secuencia de tipos específicos separados por espacios. Los nombres de atributo solo son únicos dentro de la construcción sintáctica asociada, como dentro de la sesión, la hora o el medio solamente.
En la descripción de la sesión de SDP, la información a nivel de medios comienza con el campo m=.
De los muchos campos de la descripción de SDP, dos son particularmente útiles para SIP ALG porque contienen información de la capa de transporte.
-
c=Para obtener información sobre la conexiónEste campo puede aparecer a nivel de sesión o multimedia. Aparece en este formato:
c=<tipo-de-red><><tipo-de-dirección-de-dirección-de-conexión>
Junos OS solo admite "IN" (para Internet) como tipo de red, "IPv4" como tipo de dirección y una dirección IP de unidifusión o un nombre de dominio como dirección IP de destino (conexión). A partir de Junos OS versión 15.1X49-D40 y Junos OS versión 17.3R1, también se admite el tipo de dirección "IPv6".
Si la dirección IP de destino es una dirección IP de unidifusión, SIP ALG crea agujeros de alfiler utilizando la dirección IP y los números de puerto especificados en el campo de descripción de medios m=.
-
m=para anuncios a los mediosEste campo aparece en el nivel de medios y contiene la descripción de los medios. Aparece en este formato:
m=<lista media><port><transport><fmt>
Actualmente, Junos OS admite "RTP" como protocolo de transporte de la capa de aplicación. El número de puerto indica el puerto de destino del flujo de medios (el origen lo asigna la UA remota). La lista de formatos (lista fmt) proporciona información sobre el protocolo de capa de aplicación que utiliza el medio.
El software abre puertos solo para RTP y el Protocolo de control en tiempo real (RTCP). Cada sesión RTP tiene una sesión RTCP correspondiente. Por lo tanto, cada vez que un flujo de medios utiliza RTP, el ALG SIP debe reservar puertos (crear agujeros de alfiler) para el tráfico RTP y RTCP. De forma predeterminada, el número de puerto RTCP es uno más alto que el número de puerto RTP.
Creación estenopeica
Cada orificio (uno para el tráfico RTP y el otro para el tráfico RTCP) comparten la misma dirección IP de destino. La dirección IP proviene del campo c= en la descripción de la sesión SDP. Dado que el campo c= puede aparecer en la parte de nivel de sesión o de nivel de medios de la descripción de la sesión SDP, el analizador determina la dirección IP en función de las siguientes reglas (de acuerdo con las convenciones de SDP):
-
Primero, el analizador SIP ALG busca un campo c= que contenga una dirección IP en el nivel de medios. Si existe un campo de este tipo, el analizador extrae esa dirección IP y el ALG SIP utiliza esa dirección para crear un orificio para el medio.
-
Si no hay ningún campo c= en el nivel de medios, el analizador SIP ALG extrae la dirección IP del campo c= en el nivel de sesión y SIP ALG utiliza esa dirección IP para crear un orificio para los medios. Si la descripción de la sesión no contiene un campo c= en ninguno de los niveles, esto indica un error en la pila de protocolos, el dispositivo descarta el paquete y registra el evento.
El SIP ALG también abre orificios para el tráfico de señales. Estos agujeros de señal son útiles después del tiempo de espera de la sesión de señal anterior y también son útiles para el tráfico de señal enviado a una dirección de terceros que no coincide con la sesión de señal anterior. Los agujeros de señal SIP ALG nunca envejecen, a diferencia de los agujeros RTP o RTCP, donde solo se especifican la IP de destino y el puerto de destino.
El SIP ALG abre agujeros de señal para los siguientes encabezados, si es necesario:
-
VIA
-
CONTACTO
-
RUTA
-
RUTA RÉCORD
El ALG SIP necesita la siguiente información para crear un agujero de alfiler. Esta información proviene de la descripción de la sesión SDP o de los encabezados SIP (como se indicó anteriormente).
-
Protocolo: UDP o TCP.
-
IP de origen: desconocida.
-
Puerto de origen: desconocido.
-
IP de destino: el analizador extrae la dirección IP de destino del campo c= en el nivel de medios o sesión.
-
Puerto de destino: el analizador extrae el número de puerto de destino para RTP del campo m= en el nivel de medio y calcula el número de puerto de destino para RTCP mediante la siguiente fórmula:
Número de puerto RTP + uno
-
Duración de la vida: este valor indica el tiempo (en segundos) durante el cual un orificio está abierto para permitir el paso de un paquete. Un paquete debe pasar por el orificio antes de que expire su vida útil. Cuando caduca la vida útil, el SIP ALG elimina el orificio de alfiler.
Cuando un paquete pasa por el orificio dentro del período de vida útil, inmediatamente después, el SIP ALG elimina el orificio de la dirección de la que proviene el paquete.
La Figura 1 describe una configuración de llamada entre dos clientes SIP y cómo el ALG SIP crea agujeros para permitir el tráfico RTP y RTCP. En la ilustración se supone que el dispositivo tiene una política que permite SIP, por lo que se abre el puerto 5060 para mensajes de señalización SIP.
Figura 1: Configuración
de llamada SIP ALG
El ALG SIP no crea agujeros para el tráfico RTP y RTCP cuando la dirección IP de destino es 0.0.0.0, lo que indica que la sesión está en espera. Para poner una sesión en espera durante una comunicación telefónica, por ejemplo, el cliente A envía al cliente B un mensaje SIP en el que la dirección IP de destino es 0.0.0.0. Al hacerlo, se indica al cliente B que no debe enviar ningún medio hasta nuevo aviso. Si el cliente B envía medios de todos modos, el dispositivo descarta los paquetes.
- Descripción de la compatibilidad de IPv6 para SIP ALG
- Descripción del escalado de la compatibilidad con el campo de luz ocupada para el ALG SIP basado en UDP
- Descripción de los métodos de solicitud SIP ALG
- Descripción general de la configuración de SIP ALG
- Descripción de la protección contra ataques DS SIP ALG
- Descripción de los tipos de mensajes desconocidos de SIP ALG
- Descripción de la duración y los tiempos de espera de las llamadas SIP ALG
Descripción de la compatibilidad de IPv6 para SIP ALG
IPv6 es compatible con SIP ALG junto con el modo TDR-PT y la traducción de direcciones NAT64.
El ALG SIP procesa la dirección IPv6 de la misma manera que procesa la dirección IPv4 para actualizar la carga útil si TDR está configurado y abrir agujeros para el tráfico futuro.
Se produce un procesamiento especial para los siguientes formatos:
-
IPv6 in SIP URIs: el URI SIP tiene el mismo aspecto que un URI con direcciones IPv4. Como en todos los URI, una dirección IPv6 se encierra entre corchetes. Los bloques de direcciones IPv6 están separados por dos puntos. En muchas notaciones, dos puntos separan el nombre de host o la dirección IP del puerto de protocolo. Para analizar la dirección IPv6 completa y separar el puerto, la dirección se encapsula entre corchetes
-
IPv6 in SDP: las direcciones IPv6 en el Protocolo de descripción de sesión (SDP) tienen el marcador IP6.
-
El ALG SIP con compatibilidad con IPv6 tiene la siguiente limitación:
-
Cuando se implementa NAT64 con TDR persistente, el ALG SIP agrega la traducción de TDR a la tabla de enlace de TDR persistente si TDR está configurado en la dirección de registro (AOR). Dado que el TDR persistente no puede duplicar la dirección configurada, no se admite la coexistencia de NAT66 y NAT64 configurados en la misma dirección.
Solo se crea un enlace para la misma dirección IP de origen.
-
Descripción del escalado de la compatibilidad con el campo de luz ocupada para el ALG SIP basado en UDP
El campo de luz de ocupado (BLF) es una luz en un teléfono IP que indica si otra extensión conectada a la misma central de sucursal privada (PBX) está ocupada o no. Puede configurar manualmente el BLF mediante una interfaz web. Cuando se configura BLF, el teléfono se suscribe a una lista de recursos disponible en la IP PBX para recibir notificaciones de información de estado de otras extensiones. BLF funciona a través del Protocolo de inicio de sesión (SIP) y utiliza los mensajes SUBSCRIBE y NOTIFY. Por lo general, el teléfono es el suscriptor y el IP PBX es el notificador.
Cuando se registra un teléfono en la IP PBX, la IP PBX notifica al teléfono el estado de la lista de recursos. Por ejemplo, si la lista de recursos es enorme, el cuerpo del mensaje NOTIFY también será enorme. Dado que el ALG SIP solo admite mensajes SIP de 3000 bytes, omite el enorme mensaje NOTIFY. Si hay demasiadas instancias de BLF en el cuerpo del mensaje, la carga útil no se cambiará y la puerta no se abrirá.
A partir de Junos OS versión 12.3X48-D15 y Junos OS versión 17.3R1, el ALG SIP admite mensajes SIP de 65 000 bytes en el protocolo UDP. En la aplicación BLF de escalado, si cada instancia tiene alrededor de 500 bytes, SIP ALG admite 100 instancias en un mensaje SIP UDP.
El soporte BLF para el ALG SIP basado en UDP incluye las siguientes características:
-
El dispositivo puede enviar y recibir mensajes SIP de 65 000 bytes.
-
El ALG SIP puede analizar los mensajes SIP de 65 000 bytes y abrir el orificio esteno, si es necesario.
-
El ALG SIP regenera el nuevo mensaje SIP jumbo si se configura TDR y se cambia la carga útil.
Descripción de los métodos de solicitud SIP ALG
El modelo de transacción del Protocolo de inicio de sesión (SIP) incluye una serie de mensajes de solicitud y respuesta, cada uno de los cuales contiene un method campo que indica el propósito del mensaje.
Junos OS admite los siguientes tipos de métodos y códigos de respuesta:
-
INVITE: un usuario envía una solicitud INVITE para invitar a otro usuario a participar en una sesión. El cuerpo de una solicitud INVITE puede contener la descripción de la sesión.
-
ACK: el usuario del que se originó la invitación envía una solicitud ACK para confirmar la recepción de la respuesta final a la solicitud INVITE. Si la solicitud INVITE original no contenía la descripción de la sesión, la solicitud ACK debe incluirla.
-
OPTIONS: el agente de usuario (UA) obtiene información sobre las capacidades del proxy SIP. Un servidor responde con información sobre los métodos, los protocolos de descripción de sesión y la codificación de mensajes que admite.
-
BYE: un usuario envía una solicitud BYE para abandonar una sesión. Una solicitud BYE de cualquiera de los usuarios finaliza automáticamente la sesión.
-
CANCEL: un usuario envía una solicitud CANCEL para cancelar una solicitud INVITE pendiente. Una solicitud CANCEL no tiene ningún efecto si el servidor SIP que procesa la INVITACIÓN había enviado una respuesta final para la INVITACIÓN antes de recibir la CANCEL.
-
REGISTER: un usuario envía una solicitud REGISTER a un servidor registrador SIP para informarle de la ubicación actual del usuario. Un servidor registrador SIP registra toda la información que recibe en las solicitudes REGISTER y pone esta información a disposición de cualquier servidor SIP que intente localizar a un usuario.
-
Información: se utiliza para comunicar información de señalización a mitad de la sesión a lo largo de la ruta de señalización de la llamada.
-
Suscribirse: se utiliza para solicitar el estado actual y las actualizaciones de estado de un nodo remoto.
-
Notificar: se envía para informar a los suscriptores de los cambios de estado a los que el suscriptor tiene una suscripción.
-
Referir: se utiliza para remitir al destinatario (identificado por el URI de la solicitud) a un tercero mediante la información de contacto proporcionada en la solicitud.
Por ejemplo, si el usuario A en una red privada remite al usuario B, en una red pública, al usuario C, que también está en la red privada, la puerta de enlace de la capa de aplicación SIP (ALG) asigna una nueva dirección IP y un nuevo número de puerto para el usuario C para que el usuario B pueda ponerse en contacto con el usuario C. Sin embargo, si el usuario C está registrado con un registrador, su asignación de puerto se almacena en la tabla ALG Network Translation de direcciones de red (TDR) y se reutiliza para realizar la traducción.
-
Actualizar: se utiliza para abrir estenopeicos para obtener información SDP nueva o actualizada. Se modifican los campos de encabezado Vía:, Desde:, Para:, Identificador de llamada:, Contacto:, Ruta:, y Ruta-registro:.
-
1xx, 202, 2xx, 3xx, 4xx, 5xx, 6xx Códigos de respuesta: se utilizan para indicar el estado de una transacción. Los campos de encabezado se modifican.
Descripción general de la configuración de SIP ALG
La puerta de enlace de la capa de aplicación del protocolo de inicio de sesión (SIP ALG) está deshabilitada de forma predeterminada en el dispositivo SRX; debe habilitarse mediante la CLI si es necesario. En otros dispositivos, está habilitado de forma predeterminada. Para ajustar las operaciones de SIP ALG, siga las siguientes instrucciones:
-
Controle la actividad de llamadas SIP. Para obtener instrucciones, consulte Ejemplo: Configuración de la duración y los tiempos de espera de las llamadas SIP ALG.
-
Proteja el servidor proxy SIP de ataques de inundación de denegación de servicio (DS). Para obtener instrucciones, consulte Ejemplo: Configuración de la protección contra ataques DS SIP ALG.
-
Habilite el paso de mensajes desconocidos cuando la sesión se encuentre en modo de traducción de direcciones de red (TDR) y en modo de ruta. Para obtener instrucciones, consulte Ejemplo: Permitir tipos de mensajes SIP ALG desconocidos.
-
Acomode los flujos de llamadas SIP patentados. Para obtener instrucciones, consulte Conservar recursos de retención SIP ALG (procedimiento de la CLI)
Descripción de la protección contra ataques DS SIP ALG
La capacidad del servidor proxy del Protocolo de inicio de sesión (SIP) para procesar llamadas puede verse afectada por solicitudes SIP INVITE repetidas, solicitudes que inicialmente rechazó. La función de protección de denegación de servicio (DS) le permite configurar el dispositivo para supervisar las solicitudes INVITE y las respuestas del servidor proxy a ellas. Si una respuesta contiene un código de respuesta 3xx, , 4xx o 5xx distinto de 401, 407, 487 y 488 que no son respuestas de error reales, entonces la solicitud no debe bloquearse. Consulte Descripción de SIP, ALG y TDR. El ALG almacena la dirección IP de origen de la solicitud y la dirección IP del servidor proxy en una tabla. Posteriormente, el dispositivo comprueba todas las solicitudes INVITE con esta tabla y, durante un número de segundos configurable (el valor predeterminado es 3), descarta los paquetes que coincidan con las entradas de la tabla. Puede configurar el dispositivo para supervisar y denegar las solicitudes INVITE repetidas a todos los servidores proxy, o puede proteger un servidor proxy específico especificando la dirección IP de destino. La protección contra ataques SIP se configura globalmente.
Descripción de los tipos de mensajes desconocidos de SIP ALG
Esta función le permite especificar cómo el dispositivo gestiona los mensajes de protocolo de inicio de sesión (SIP) no identificados. El valor predeterminado es eliminar mensajes desconocidos (no compatibles).
No recomendamos permitir mensajes desconocidos porque pueden comprometer la seguridad. Sin embargo, en un entorno de prueba o producción seguro, este comando puede ser útil para resolver problemas de interoperabilidad con equipos de proveedores dispares. Permitir mensajes SIP desconocidos puede ayudarlo a poner su red en funcionamiento para que luego pueda analizar su tráfico de voz sobre IP (VoIP) para determinar por qué se caían algunos mensajes. La función de tipo de mensaje SIP desconocido le permite configurar el dispositivo para que acepte tráfico SIP que contenga tipos de mensajes desconocidos tanto en el modo de traducción de direcciones de red (TDR) como en el modo de ruta.
Esta opción solo se aplica a los paquetes recibidos identificados como paquetes VoIP compatibles. Si no se puede identificar un paquete, siempre se descarta. Si se identifica un paquete como protocolo compatible y configuró el dispositivo para permitir tipos de mensajes desconocidos, el mensaje se reenviará sin procesar.
Descripción de la duración y los tiempos de espera de las llamadas SIP ALG
Las funciones de duración de llamada y tiempo de espera le dan control sobre la actividad de llamadas del Protocolo de inicio de sesión (SIP) y le ayudan a administrar los recursos de red.
Normalmente, una llamada finaliza cuando uno de los clientes envía una solicitud BYE o CANCEL. La puerta de enlace de la capa de aplicación SIP (ALG) intercepta la solicitud BYE o CANCEL y elimina todas las sesiones multimedia para esa llamada. Puede haber razones o problemas que impidan que los clientes en una llamada envíen solicitudes BYE o CANCEL, por ejemplo, un corte de energía. En este caso, la llamada podría continuar indefinidamente, consumiendo recursos en el dispositivo.
Una llamada puede tener uno o más canales de voz. Cada canal de voz tiene dos sesiones (o dos flujos de medios), una para el tráfico del Protocolo de transporte en tiempo real (RTP) y otra para la señalización del Protocolo de control en tiempo real (RTCP). Al administrar las sesiones, el dispositivo considera las sesiones en cada canal de voz como un grupo. Los tiempos de espera y la configuración de duración de la llamada se aplican a un grupo en lugar de a cada sesión.
Los siguientes parámetros rigen la actividad de llamadas SIP:
-
inactive-media-timeout: este parámetro indica el tiempo máximo (en segundos) que una llamada puede permanecer activa sin ningún tráfico de medios (RTP o RTCP) dentro de un grupo. Cada vez que se produce un paquete RTP o RTCP dentro de una llamada, se restablece este tiempo de espera. Cuando el período de inactividad supera esta configuración, se cierran las aberturas temporales (agujeros) en el firewall que el SIP ALG abrió para los medios. La configuración predeterminada es de 120 segundos y el intervalo de 10 a 2550 segundos. Tenga en cuenta que, tras el tiempo de espera, se eliminan los recursos para los medios (sesiones y agujeros) y las llamadas SIP en el dispositivo también se terminarán si se eliminan todos los recursos multimedia de esta llamada. -
maximum-call-duration: este parámetro establece la longitud máxima absoluta de una llamada. Cuando una llamada supera esta configuración de parámetro, el ALG SIP desactiva la llamada y libera las sesiones de medios. La configuración predeterminada es de 720 minutos y el intervalo es de 3 a 720 minutos. -
t1-interval: este parámetro especifica la estimación del tiempo de ida y vuelta, en segundos, de una transacción entre puntos finales. El valor predeterminado es de 500 milisegundos. Dado que muchos temporizadores SIP se escalan con el intervalo t1 (como se describe en RFC 3261), al cambiar el valor del temporizador del intervalo t1, también se ajustan esos temporizadores SIP. -
t4-interval: este parámetro especifica el tiempo máximo que un mensaje permanece en la red. El valor predeterminado es de 5 segundos y el intervalo es de 5 a 10 segundos. Dado que muchos temporizadores SIP se escalan con el intervalo t4 (como se describe en RFC 3261), cuando se cambia el valor del temporizador del intervalo t4, también se ajustan esos temporizadores SIP. -
c-timeout—Este parámetro especifica el tiempo de espera de la transacción INVITE en el proxy, en minutos; El valor predeterminado es 3. Debido a que el SIP ALG está en el medio, en lugar de usar el valor del temporizador de transacción INVITE B (que es (64 * T1) = 32 segundos), el SIP ALG obtiene su valor de temporizador del proxy.
Descripción de los recursos de retención SIP ALG
Cuando un usuario pone una llamada en espera, la puerta de enlace de la capa de aplicación del protocolo de inicio de sesión (SIP ALG) libera recursos multimedia del protocolo de descripción de sesión (SDP), como agujeros y contextos de traducción. Cuando el usuario reanuda la llamada, un mensaje de solicitud INVITE negocia una nueva oferta y respuesta de SDP y el ALG SIP reasigna recursos para la transmisión de medios. Esto puede dar lugar a nuevas direcciones IP y números de puerto traducidos para la descripción del medio, incluso cuando la descripción del medio sea la misma que la descripción anterior. Esto cumple con RFC 3264, Un modelo de oferta y respuesta con el protocolo de descripción de sesión (SDP).
Algunas implementaciones de SIP propietarias han diseñado flujos de llamadas para que el módulo de agente de usuario (UA) ignore la nueva oferta SDP INVITE y continúe utilizando la oferta SDP de la negociación anterior. Para dar cabida a esta funcionalidad, debe configurar el dispositivo para que conserve los recursos de medios SDP cuando una llamada se ponga en espera para su reutilización cuando se reanude la llamada.
Retención de recursos de retención SIP ALG (procedimiento de la CLI)
Para adaptarse a los flujos de llamadas SIP patentados:
user@host# set security alg sip retain-hold-resource
Descripción de SIP, ALG y TDR
El protocolo de traducción de direcciones de red (TDR) 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, TDR 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 adecuado en la subred privada.
El uso de TDR con el servicio 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 usa TDR 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 del SIP contiene la información del Protocolo de descripción de sesión (SDP), que incluye las direcciones IP y los 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. En el caso de un mensaje saliente, la dirección IP privada y el número de puerto del cliente se sustituyen por la dirección IP pública y el número de puerto del firewall de Juniper Networks. En el caso de 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 la capa de aplicación SIP (ALG) recopila información del encabezado del mensaje en una tabla de llamadas, que utiliza para reenviar los mensajes posteriores al punto de conexión correcto. Cuando llega un mensaje nuevo, por ejemplo, un ACK o 200 OK, el ALG compara los campos "De:, Para:, e ID de llamada:" con la tabla de llamadas para identificar el contexto de llamada del mensaje. Si llega un nuevo mensaje INVITE que coincide con la llamada existente, el ALG lo procesa como REINVITE.
Cuando llega un mensaje que contiene información de SDP, el ALG asigna puertos y crea una asignación TDR 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.
IPv6 es compatible con SIP ALG junto con el modo TDR-PT y la traducción de direcciones NAT64.
Este tema contiene las siguientes secciones:
- Llamadas salientes
- Llamadas entrantes
- Llamadas desviadas
- Terminación de la llamada
- Mensajes de reinvitación de llamadas
- Temporizadores de sesión de llamada
- Cancelación de llamada
- Bifurcación
- Mensajes SIP
- Encabezados SIP
- Cuerpo SIP
- Escenario SIP TDR
- Clases de respuestas SIP
- Modo TDR en modo IPv6 puro (NAT66) para SIP IPv6 ALG
- TDR-PT
- NAT64
- STUN y SIP ALG
Llamadas salientes
Cuando se inicia una llamada SIP con un mensaje de solicitud SIP de la red interna a la externa, TDR reemplaza las direcciones IP y los números de puerto en el SDP y vincula las direcciones IP y los números de puerto al firewall de Juniper Networks. Los campos de encabezado SIP Vía, Contacto, Ruta y Ruta de registro, si están presentes, también están vinculados a la dirección IP del firewall. El ALG almacena estas asignaciones para usarlas en retransmisiones y para mensajes de respuesta SIP.
Luego, 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 Vía, Contacto y Ruta de registro. Los agujeros también permiten que los paquetes entrantes lleguen a las direcciones y puertos IP de contacto, vía y ruta de registro. Al procesar el tráfico de retorno, el ALG inserta los campos SIP originales Contact, Via, Route y Record-Route nuevamente en los paquetes.
Llamadas entrantes
Las llamadas entrantes se inician desde la red pública a direcciones TDR públicas estáticas o a direcciones IP de interfaz en el dispositivo. Las NAT estáticas son direcciones IP configuradas estáticamente que apuntan a hosts internos; Las direcciones IP de interfaz son registradas dinámicamente por el ALG mientras monitorea los mensajes de REGISTRO 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, según la información del SDP, abre puertas para los medios salientes. Cuando llega un mensaje de respuesta 200 OK, el ALG SIP realiza TDR en las direcciones IP y los puertos y abre agujeros en la dirección de salida. (Las puertas abiertas tienen un corto tiempo de vida y se agotan si no se recibe rápidamente un mensaje de respuesta de 200 OK).
Cuando llega una respuesta 200 OK, 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 ALG SIP del dispositivo realiza TDR en las direcciones y los números de puerto, abre agujeros para el tráfico saliente y actualiza el tiempo de espera para las puertas en la dirección entrante.
Cuando el ACK llega para el 200 OK, también pasa por el SIP ALG. Si el mensaje contiene información de SDP, el ALG SIP garantiza que las direcciones IP y los números de puerto no se cambien con respecto a la invitación anterior; si lo hacen, el ALG elimina los agujeros antiguos y crea nuevos agujeros para permitir el paso de los medios. El ALG también supervisa los campos SIP Vía, Contacto y Ruta de registro y abre nuevos agujeros 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 desví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 desviada de B a C fuera de la red y observa que se llega a B y C mediante 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 la llamada
El mensaje BYE finaliza una llamada. Cuando el dispositivo recibe un mensaje BYE, traduce los campos del encabezado como lo hace con cualquier otro mensaje. Pero debido a que un mensaje BYE debe ser reconocido por el receptor con un 200 OK, el ALG retrasa el desmontaje de llamadas durante 5 segundos para dar tiempo a la transmisión del 200 OK.
Mensajes de reinvitación de llamadas
Los mensajes de re-INVITAR agregan nuevas sesiones multimedia a una llamada y eliminan las sesiones multimedia existentes. Cuando se agregan nuevas sesiones de medios a una llamada, se abren nuevos agujeros en el firewall y se crean nuevos enlaces de dirección. El proceso es idéntico a la configuración de llamada original. Cuando se eliminan todas las sesiones de medios o los agujeros de medios de una llamada, la llamada se elimina cuando se recibe un mensaje BYE.
Temporizadores de sesión de llamada
Como medida de precaución, el ALG SIP utiliza valores de tiempo de espera estrictos 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 CANCELAR. Al recibir un mensaje CANCEL, el ALG SIP cierra los agujeros 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 5 segundos para dar tiempo a que pasen los últimos 200 OK. La llamada finaliza cuando expira el tiempo de espera de 5 segundos, independientemente de si llega una respuesta 487 o no 200.
Bifurcación
La bifurcación permite que un proxy SIP envíe un único mensaje de INVITACIÓN a varios destinos simultáneamente. Cuando llegan varios mensajes de respuesta 200 OK para la sola llamada, el ALG SIP analiza pero actualiza la información de la 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 que se utilizan para la señalización. El cuerpo del SIP, separado de la sección de encabezado por una línea en blanco, está reservado para la información de descripción de la sesión, lo cual es opcional. Actualmente, Junos OS solo admite SDP. El cuerpo del SIP contiene las direcciones IP y los números de puerto que se utilizan para transportar los medios.
Encabezados SIP
En el siguiente mensaje de solicitud SIP de ejemplo, TDR reemplaza las direcciones IP en los campos de encabezado para ocultarlas de la red externa.
INVITE bob@10.150.20.5SIP/2.0 Via: SIP/2.0/UDP10.150.20.3:5434 From: alice@10.150.20.3To: bob@10.150.20.5Call-ID: a12abcde@10.150.20.3Contact: 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 1 muestra cómo se realiza la TDR en cada uno de estos casos. Tenga en cuenta que para varios de los campos de encabezado, el ALG determina más que solo 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: |
Reemplace la dirección ALG con la dirección local |
|
|
Contacto: |
Ninguno |
|
|
Ruta de registro: |
Ninguno |
|
|
Ruta: |
Ninguno |
|
|
Respuesta saliente (de privado a público) |
Para: |
Reemplace la dirección ALG con la dirección local |
|
De: |
Ninguno |
|
|
ID de llamada: |
Ninguno |
|
|
Vía: |
Ninguno |
|
|
URI de solicitud: |
N/A |
|
|
Contacto: |
Reemplazar la dirección local con la dirección ALG |
|
|
Ruta de registro: |
Reemplazar la dirección local con la dirección ALG |
|
|
Ruta: |
Ninguno |
|
|
Solicitud saliente (de privado a público) |
Para: |
Ninguno |
|
De: |
Reemplazar la dirección local con la dirección ALG |
|
|
ID de llamada: |
Ninguno |
|
|
Vía: |
Reemplazar la dirección local con la dirección ALG |
|
|
URI de solicitud: |
Ninguno |
|
|
Contacto: |
Reemplazar la dirección local con la dirección ALG |
|
|
Ruta de registro: |
Reemplazar la dirección local con la dirección ALG |
|
|
Ruta: |
Reemplazar la dirección local con la dirección ALG |
|
|
Respuesta saliente (de público a privado) |
Para: |
Ninguno |
|
De: |
Reemplace la dirección ALG con la dirección local |
|
|
ID de llamada: |
Ninguno |
|
|
Vía: |
Reemplace la dirección ALG con la dirección local |
|
|
URI de solicitud: |
N/A |
|
|
Contacto: |
Ninguno |
|
|
Ruta de registro: |
Reemplace la dirección ALG con la dirección local |
|
|
Ruta: |
Reemplace la dirección ALG con la 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 transmisión de medios. 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 SDP de ejemplo muestra los campos que se traducen para la asignación de recursos.
o=user 2344234 55234434 IN IP410.150.20.3c=IN IP410.150.20.3m=audio43249RTP/AVP 0
Los mensajes SIP pueden contener más de una secuencia de medios. 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.4m=audio33445RTP/AVP 0 c=IN IP410.123.33.4m=audio33447RTP/AVP 0 c=IN IP410.123.33.4m=audio33449RTP/AVP 0
Junos OS admite hasta 6 canales SDP negociados para cada dirección, para un total de 12 canales por llamada. Para obtener más información, consulte Descripción del ALG SIP.
Escenario SIP TDR
La Figura 2 y la Figura 3 muestran una llamada SIP INVITE y 200 OK. En la Figura 2, ph1 envía un mensaje SIP INVITE a ph2. Observe cómo el dispositivo traduce las direcciones IP en los campos de encabezado, que se muestran en negrita.
La sección SDP del mensaje INVITE indica dónde la persona que llama está dispuesta a recibir medios. Tenga en cuenta que el orificio de medio contiene dos números de puerto, 52002 y 52003, para RTCP y RTP. El orificio de vía / contacto proporciona el número de puerto 5060 para la señalización SIP.
Observe cómo, en el mensaje de respuesta 200 OK de la Figura 3, se invierten las traducciones realizadas en el mensaje INVITE. Las direcciones IP en este mensaje, al ser públicas, no se traducen, pero se abren puertas para permitir que la transmisión de medios acceda a la red privada.
de SIP TDR
de SIP TDR
Clases de respuestas SIP
Las respuestas SIP proporcionan información de estado sobre las transacciones SIP e incluyen un código de respuesta y una frase de motivo. Las respuestas SIP se agrupan en las siguientes clases:
-
Informativo (100 a 199): solicitud recibida, continuando con el procesamiento de la solicitud.
-
Éxito (200 a 299): acción recibida, comprendida y aceptada con éxito.
-
Redirección (300 a 399): se requiere otra acción para completar la solicitud.
-
Error de cliente (400 a 499): la solicitud contiene una sintaxis incorrecta o no se puede cumplir en este servidor.
-
Error del servidor (500 a 599): el servidor no pudo cumplir con una solicitud aparentemente válida.
-
Error global (600 a 699): la solicitud no se puede cumplir en ningún servidor.
La Tabla 2 proporciona una lista completa de las respuestas SIP actuales.
|
Informativo |
100 Intentando |
180 Timbre |
181 La llamada está siendo desviada |
|
182 en cola |
183 Progreso de la sesión |
|
|
|
¡Todo listo |
200 OK |
202 Aceptado |
|
|
Redirección |
300 opciones múltiples |
301 Trasladado permanentemente |
302 Trasladado temporalmente |
|
305 Usar proxy |
Servicio alternativo 380 |
|
|
|
Error del cliente |
400 Solicitud incorrecta |
401 No autorizado |
402 Pago requerido |
|
403 Prohibido |
404 No encontrado |
405 Método no permitido |
|
|
406 No aceptable |
407 Se requiere autenticación de proxy |
408 Tiempo de espera de solicitud |
|
|
409 Conflicto |
410 desaparecido |
411 Longitud requerida |
|
|
413 Entidad de solicitud demasiado grande |
414 URL de solicitud demasiado grande |
415 Tipo de medio no compatible |
|
|
420 Extensión incorrecta |
480 No disponible temporalmente |
481 El tramo/transacción de la llamada no existe |
|
|
Se detectó un bucle 482 |
483 Demasiados saltos |
484 Dirección incompleta |
|
|
485 Ambiguo |
486 Ocupado aquí |
487 Solicitud cancelada |
|
|
488 No es aceptable aquí |
|
|
|
|
Error del servidor |
Error interno del servidor 500 |
501 No implementado |
502 Puerta de enlace defectuosa |
|
Servicio 502 no disponible |
Tiempo de espera de la puerta de enlace 504 |
Versión 505 SIP no compatible |
|
|
Fracaso global |
600 Ocupado en todas partes |
603 Declive |
604 No existe en ninguna parte |
|
606 No aceptable |
|
|
Modo TDR en modo IPv6 puro (NAT66) para SIP IPv6 ALG
El ALG SIP IPv6 admite NAT66 al igual que NAT44. NAT66 (IPv6 TDR) proporciona funciones de TDR de origen y TDR estáticas similares a NAT44 (IPv4 TDR).
TDR-PT
La traducción de protocolos de traducción de red (TDR-PT) (RFC 2766) es un mecanismo de traducción de protocolos que permite la comunicación entre nodos de solo IPv6 y solo IPv4 a través de la traducción independiente de protocolos de datagramas IPv4 e IPv6, sin requerir información de estado para la sesión.
El TDR-PT se implementa mediante el TDR normal de la dirección IPv6 a la dirección IPv4 y viceversa. El ALG SIP procesa esas traducciones de direcciones en la carga del mismo modo que las direcciones se procesan en el TDR normal.
TDR-PT vincula las direcciones de la red IPv6 con direcciones de la red IPv4 y viceversa para proporcionar un enrutamiento transparente para los datagramas que atraviesan entre los reinos de direcciones.
La principal ventaja de TDR-PT es que los dispositivos finales y las redes pueden ejecutar direcciones IPv4 o direcciones IPv6 y el tráfico se puede iniciar desde cualquier lado.
NAT64
NAT64 es un mecanismo para permitir que los hosts IPv6 se comuniquen con servidores IPv4. Se requiere NAT64 para mantener la asignación de direcciones IPv6 a IPv4. Dicha asignación de direcciones es configurada estáticamente por el administrador del sistema (traducción sin estado) o, con mayor frecuencia, se crea automáticamente cuando el primer paquete de la red IPv6 llega a NAT64 para ser traducido (con estado).
NAT64 se implementa en dispositivos mediante el uso de TDR persistente. Cuando el primer mensaje de solicitud SIP (el primer paquete debe ser solo de IPv6) atraviesa el DUT, se crea el enlace de dirección y, luego, los paquetes pueden fluir en ambas direcciones.
El mecanismo NAT64 traduce paquetes IPv6 a paquetes IPv4 y viceversa, lo que permite que los clientes IPv6 se comuniquen con los servidores IPv4 mediante UDP de unidifusión, TCP o ICMP. El comportamiento de TDR-PT y NAT64 parece similar, pero estos mecanismos se implementan de manera diferente.
Cuando se implementa NAT64 con TDR persistente, el ALG SIP con compatibilidad con IPv6 agrega la traducción de TDR a la tabla de enlace de TDR persistente si TDR está configurado en la dirección de registro. Dado que el TDR persistente no puede duplicar la dirección configurada, no se admite la coexistencia de NAT66 y NAT64 configurados en la misma dirección.
Solo se crea un enlace para la misma dirección IP de origen.
STUN y SIP ALG
Los Servicios públicos de recorrido de sesión para TDR (STUN) son una solución para hacer que VoIP funcione a través de TDR y firewall.
Anteriormente, STUN funcionaba sin el SIP ALG. Esto significa que el ALG SIP no estaba involucrado cuando se configuró la TDR persistente.
STUN puede coexistir con SIP ALG y SIP ALG está involucrado cuando se configura TDR persistente.
Descripción del soporte de llamadas SIP ALG entrantes mediante el registrador SIP y TDR
El registro del protocolo de inicio de sesión (SIP) proporciona una capacidad de descubrimiento mediante la cual los proxies SIP y los servidores de ubicación pueden identificar la ubicación o ubicaciones donde los usuarios desean ser contactados. Un usuario registra una o más ubicaciones de contacto enviando un mensaje REGISTER al registrador. Los campos Para y Contacto del mensaje REGISTER contienen el identificador uniforme de recursos (URI) de dirección de registro y uno o más URI de contacto, como se muestra en la figura siguiente. El registro crea enlaces en un servicio de ubicación que asocia la dirección de registro con la dirección o direcciones de contacto.
El dispositivo monitorea los mensajes REGISTER salientes, realiza la traducción de direcciones de red (TDR) en estas direcciones y almacena la información en una tabla TDR entrante. A continuación, cuando se recibe un mensaje INVITE desde fuera de la red, el dispositivo utiliza la tabla TDR entrante para identificar a qué host interno enrutar el mensaje INVIT. Puede aprovechar el servicio de registro de proxy SIP para permitir llamadas entrantes configurando el origen de la interfaz, TDR o grupos TDR en la interfaz de salida del dispositivo. La interfaz TDR de origen es adecuada para manejar llamadas entrantes en una oficina pequeña, mientras que recomendamos configurar grupos de TDR de origen para redes más grandes o un entorno empresarial.
La compatibilidad con llamadas entrantes mediante interfaz TDR de origen o un grupo TDR de origen solo se admite para servicios SIP y H.323. Para las llamadas entrantes, Junos OS actualmente solo admite UDP y TCP. Actualmente tampoco se admite la resolución de nombres de dominio; por lo tanto, los URI deben contener direcciones IP, como se muestra en la siguiente figura.
SIP
Ejemplo: configuración de la duración y los tiempos de espera de las llamadas SIP ALG
En este ejemplo, se muestra cómo establecer la duración de la llamada y el tiempo de espera de inactividad de los medios.
Requisitos
Antes de comenzar, revise las funciones de duración de la llamada y tiempo de espera utilizadas para controlar la actividad de llamadas SIP. Consulte Descripción de la duración y los tiempos de espera de las llamadas SIP ALG.
Descripción general
Las funciones de duración de llamada y tiempo de espera de medios de inactividad lo ayudan a conservar los recursos de red y maximizar la transferencia de datos.
El maximum-call-duration parámetro establece el tiempo máximo permitido durante el cual una llamada puede estar activa. Cuando se supera la duración, el ALG SIP desactiva la llamada y libera las sesiones multimedia. La configuración predeterminada es de 720 minutos y el intervalo es de 3 a 720 minutos. Esta configuración también libera ancho de banda en los casos en que las llamadas no finalicen correctamente.
El inactive-media-timeout parámetro indica el tiempo máximo (en segundos) que una llamada puede permanecer activa sin ningún tráfico de medios (RTP o RTPC) dentro de un grupo. Cada vez que se produce un paquete RTP o RTCP dentro de una llamada, se restablece este tiempo de espera. Cuando el período de inactividad supera esta configuración, se cierran las aberturas temporales (agujeros) de SIP ALG para los medios del firewall. La configuración predeterminada es de 120 segundos y el intervalo de 10 a 2550 segundos. Cuando se agota el tiempo de espera, aunque se quitan los recursos para los medios (sesiones y agujeros de alfiler), la llamada no finaliza.
En este ejemplo, la duración de la llamada se establece en 36000 segundos y el tiempo de espera de inactividad de medios se establece en 90 segundos.
Configuración
Procedimiento
Configuración rápida de la GUI
Procedimiento paso a paso
Para establecer la duración de la llamada SIP ALG y el tiempo de espera de inactividad de los medios:
-
Seleccione Configurar >Seguridad >ALG.
-
Seleccione la pestaña SIP .
-
En el campo Duración máxima de la llamada, escriba
600. -
En el campo Tiempo de espera de medios inactivos, escriba
90. -
Haga clic en Aceptar para comprobar su configuración y guardarla como configuración candidata.
-
Cuando termine de configurar el dispositivo, haga clic en Opciones de confirmación >confirmar.
Procedimiento paso a paso
Para establecer la duración de la llamada SIP ALG y el tiempo de espera de inactividad de los medios:
-
Configure la duración de la llamada SIP ALG.
[edit] user@host# set security alg sip maximum-call-duration 600
-
Configure el tiempo de espera del medio de inactividad de SIP ALG.
[edit] user@host# set security alg sip inactive-media-timeout 90
-
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Para comprobar que la configuración funciona correctamente, ingrese el show security alg sip comando.
Ejemplo: Configuración de protección contra ataques DS SIP ALG
En este ejemplo, se muestra cómo configurar la función de protección contra ataques DS.
Requisitos
Antes de comenzar, revise la función de protección contra ataques DS utilizada para controlar la actividad de llamadas SIP. Consulte Descripción de la protección contra ataques SIP ALG DS.
Descripción general
La capacidad del servidor proxy SIP para procesar llamadas puede verse afectada por solicitudes SIP INVITE repetidas, solicitudes que el servidor rechazó inicialmente. La función de protección de DS le permite configurar el dispositivo para supervisar las solicitudes INVITE y las respuestas del servidor proxy a ellas.
En este ejemplo, el dispositivo está configurado para proteger un único servidor proxy SIP (10.1.1.3) de solicitudes INVITE repetidas a las que ya se le ha denegado el servicio. Los paquetes se descartan durante un período de 5 segundos, después de lo cual el dispositivo reanuda el reenvío de solicitudes INVITE desde esos orígenes.
Configuración
Procedimiento
Configuración rápida de la GUI
Procedimiento paso a paso
Para configurar la protección contra ataques DS SIP ALG:
-
Seleccione Configurar>Seguridad>ALG.
-
Seleccione la pestaña SIP .
-
En el área Habilitar protección contra ataques, haga clic en la opción Servidores seleccionados .
-
En el cuadro IP de destino, ingrese
10.1.1.3y haga clic en Agregar. -
Haga clic en Aceptar para comprobar su configuración y guardarla como configuración candidata.
-
Cuando termine de configurar el dispositivo, haga clic en Opciones de confirmación>Confirmar.
Procedimiento paso a paso
Para configurar la protección contra ataques DS SIP ALG:
-
Configure el dispositivo para proteger un único servidor proxy SIP.
[edit] user@host# set security alg sip application-screen protect deny destination-ip 10.1.1.3
Nota:IPv6 es compatible con SIP ALG junto con el modo de traducción de direcciones de red (TDR-PT) y la traducción de direcciones NAT64.
El tipo de <dirección IP de destino> se cambia de dirección IPv4 a prefijo IP para admitir todo tipo de direcciones IP y, en consecuencia, se admite un prefijo para permitir varias direcciones IP.
-
Configure el dispositivo para el período de tiempo de espera de denegación.
[edit] user@host# set security alg sip application-screen protect deny timeout 5
-
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Para comprobar que la configuración funciona correctamente, ingrese el show security alg sip comando.
Ejemplo: Permitir tipos de mensajes SIP ALG desconocidos
En este ejemplo se muestra cómo permitir tipos de mensajes desconocidos.
Requisitos
Antes de comenzar, revise cómo maneja el dispositivo los mensajes SIP no identificados. Consulte Descripción de los tipos de mensajes desconocidos de SIP ALG.
Descripción general
En este ejemplo, configure el dispositivo para permitir tipos de mensajes desconocidos en el tráfico SIP tanto en modo TDR como en modo de ruta. El valor predeterminado es eliminar mensajes desconocidos (no compatibles).
Configuración
Procedimiento
Configuración rápida de la GUI
Procedimiento paso a paso
Para permitir tipos de mensajes SIP ALG desconocidos:
-
Seleccione Configurar>Seguridad>ALG.
-
Seleccione la pestaña SIP .
-
Seleccione la casilla de verificación Habilitar permiso de TDR aplicado .
-
Seleccione la casilla de verificación Habilitar permiso enrutado .
-
Haga clic en Aceptar para comprobar su configuración y guardarla como configuración candidata.
-
Cuando termine de configurar el dispositivo, haga clic en Opciones de confirmación>Confirmar.
Procedimiento paso a paso
Para permitir tipos de mensajes SIP ALG desconocidos:
-
Configure el dispositivo para permitir tipos de mensajes desconocidos en el tráfico SIP.
[edit] user@host# set security alg sip application-screen unknown-message permit-nat-applied permit-routed
-
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Para comprobar que la configuración funciona correctamente, ingrese el show security alg sip comando.
Ejemplo: Configuración de TDR de origen de interfaz para llamadas SIP entrantes
En este ejemplo, se muestra cómo configurar una regla TDR de origen en una interfaz de zona pública que permite utilizar TDR para las llamadas SIP entrantes.
Requisitos
Antes de comenzar, comprenda cómo funciona TDR con SIP ALG. Consulte Descripción de SIP, ALG y TDR.
Descripción general
En un escenario de dos zonas con el servidor proxy SIP en una zona externa, puede usar TDR para las llamadas entrantes mediante la configuración de una regla TDR de origen en la interfaz de la zona pública o externa.
En este ejemplo (vea la Figura 5), phone1 está en la interfaz ge-0/0/0 en la zona privada, y phone2 y el servidor proxy están en la interfaz ge-0/0/2 en la zona pública. Configure una regla TDR de origen en la interfaz pública ge-0/0/2.0.
Topología
La Figura 5 muestra el TDR de origen para llamadas SIP entrantes.
En este ejemplo, después de crear zonas denominadas privadas y públicas y asignarlas a interfaces, configure las libretas de direcciones que se utilizarán en el conjunto de reglas TDR de origen. A continuación, configure la TDR de origen definiendo un conjunto de reglas denominado sip-phones y una regla denominada phone1 que coincida con cualquier paquete de la dirección de origen 10.1.1.2/32.
Por último, se crean políticas de seguridad para permitir todo el tráfico SIP entre las zonas privada y pública.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 set security zones security-zone private address-book address phone1 10.1.1.2/32 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone public address-book address proxy 172.16.1.3/32 set security zones security-zone public address-book address phone2 172.16.1.2/32 set security zones security-zone public interfaces ge-0/0/2.0 set security nat source rule-set sip-phones from zone private set security nat source rule-set sip-phones to zone public set security nat source rule-set sip-phones rule phone1 match source-address 10.1.1.2/32 set security nat source rule-set sip-phones rule phone1 then source-nat interface set security policies from-zone private to-zone public policy outgoing match source-address phone1 set security policies from-zone private to-zone public policy outgoing match destination-address phone2 set security policies from-zone private to-zone public policy outgoing match destination-address proxy set security policies from-zone private to-zone public policy outgoing match application junos-sip set security policies from-zone private to-zone public policy outgoing then permit set security policies from-zone public to-zone private policy incoming match source-address phone2 set security policies from-zone public to-zone private policy incoming match destination-address phone1 set security policies from-zone public to-zone private policy incoming match source-address proxy set security policies from-zone public to-zone private policy incoming match application junos-sip set security policies from-zone public to-zone private policy incoming then permit
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar una regla TDR de origen en una interfaz de zona pública:
-
Configure interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24
-
Configure zonas y asígnelas a las interfaces.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/2.0
-
Configure libretas de direcciones y cree direcciones.
[edit security zones] user@host# set security-zone private address-book address phone1 10.1.1.2/32 user@host# set security-zone public address-book address proxy 172.16.1.3/32 user@host# set security-zone public address-book address phone2 172.16.1.2/32
-
Configure un conjunto de reglas TDR de origen.
[edit security nat source] user@host# set rule-set sip-phones from zone private user@host# set rule-set sip-phones to zone public user@host# set rule-set sip-phones rule phone1 match source-address 10.1.1.2/32 user@host# set rule-set sip-phones rule phone1 then source-nat interface
-
Habilite la traducción TDR de origen persistente.
[edit security nat source] user@host# set address-persistent -
Configure una política de seguridad para permitir el tráfico SIP de salida.
[edit security policies from-zone private to-zone public policy outgoing] user@host# set match source-address phone1 user@host# set match destination-address phone2 user@host# set match destination-address proxy user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico SIP entrante.
[edit security policies from-zone public to-zone private policy incoming] user@host# set match source-address phone2 user@host# set match destination-address phone1 user@host# set match source-address proxy user@host# set match application junos-sip user@host# set then permit
Resultados
Desde el modo de configuración, ingrese los comandos , show security zonesy show security policiesshow security nat para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show security zones
security-zone private {
address-book {
address phone1 10.1.1.2/32;
}
interfaces {
ge-0/0/0.0;
}
}
security-zone public {
address-book {
address proxy 172.16.1.3/32;
address phone2 172.16.1.2/32;
}
interfaces {
ge-0/0/2.0;
}
}
[edit]
user@host# show security nat
source {
rule-set sip-phones {
from zone private;
to zone public;
rule phone1 {
match {
source-address 10.1.1.2/32;
}
then {
source-nat {
interface;
}
}
}
}
}
[edit]
user@host# show security policies
from-zone private to-zone public {
policy outgoing {
match {
source-address phone1;
destination-address [ phone2 proxy ];
application junos-sip;
}
then {
permit;
}
}
}
from-zone public to-zone private {
policy incoming {
match {
source-address [ phone2 proxy ];
destination-address phone1 ;
application junos-sip;
}
then {
permit;
}
}
}
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
Verificar el uso de reglas TDR de origen
Propósito
Compruebe que hay tráfico que coincide con la regla TDR de origen.
Acción
Desde el modo operativo, introduzca el show security nat source rule all comando. Vea el campo Resultados de traducción para comprobar si hay tráfico que coincida con la regla.
user@host> show security nat source rule all
source NAT rule: phone1 Rule-set: sip-phones
Rule-Id : 1
Rule position : 1
From zone : private
To zone : public
Match
Source addresses : 0.0.0.0 - 255.255.255.255
Destination port : 0 - 0
Action : interface
Persistent NAT type : N/A
Persistent NAT mapping type : address-port-mapping
Inactivity timeout : 0
Max session number : 0
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Significado
El Translation hits campo muestra que no hay tráfico que coincida con la regla TDR de origen.
Verificación del estado de SIP ALG
Propósito
Compruebe que SIP ALG esté habilitado en el sistema.
Acción
Desde el modo operativo, introduzca el show security alg status comando.
user@host> show security alg status ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SIP ALG de la siguiente manera:
-
Habilitado: muestra que SIP ALG está habilitado.
-
Deshabilitado: muestra que el ALG SIP está deshabilitado.
Ejemplo: Disminución de la complejidad de la red mediante la configuración de un grupo TDR de origen para llamadas SIP entrantes
En este ejemplo, se muestra cómo disminuir la complejidad de la red mediante la configuración de un grupo de TDR de origen en una interfaz externa para habilitar TDR para las llamadas SIP entrantes.
Requisitos
Antes de comenzar, comprenda cómo funciona TDR con SIP ALG. Consulte Descripción de SIP, ALG y TDR.
Descripción general
En un escenario de dos zonas con el servidor proxy SIP en una zona externa o pública, puede usar TDR para llamadas entrantes configurando un grupo TDR en la interfaz a la zona pública.
En este ejemplo (vea la Figura 6), phone1 está en la zona privada y phone2 y el servidor proxy están en la zona pública. Configure un grupo de TDR de origen para hacer TDR. También puede crear una política que permita el tráfico SIP desde la zona privada a la pública. Esto permite que phone1 en la zona privada se registre con el servidor proxy en la zona pública y también habilita las llamadas entrantes desde la zona pública a la zona privada.
Topología
La Figura 6 muestra el grupo de TDR de origen para las llamadas entrantes.
En este ejemplo, configure la TDR de origen de la siguiente manera:
-
Defina el grupo de TDR de origen llamado sip-nat-pool para contener el intervalo de direcciones IP de 172.16.1.20/32 a 172.16.1.40/32.
-
Cree un conjunto de reglas TDR de origen llamado sip-nat con una regla sip-r1 para hacer coincidir los paquetes de la zona privada a la zona pública con la dirección IP de origen 10.1.1.3/24. Para los paquetes coincidentes, la dirección de origen se traduce a una de las direcciones IP en sip-nat-pool.
-
Configure el ARP de proxy para las direcciones 172.16.1.20/32 a 172.16.1.40/32 en la interfaz ge-0/0/2.0. Esto permite que el sistema responda a las solicitudes ARP recibidas en la interfaz para estas direcciones.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 set security zones security-zone private address-book address phone1 10.1.1.3/32 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone public address-book address proxy 172.16.1.3/32 set security zones security-zone public address-book address phone2 172.16.1.4/32 set security zones security-zone public interfaces ge-0/0/2.0 set security nat source pool sip-nat-pool address 172.16.1.20/32 to 172.16.1.40/32 set security nat source address-persistent set security nat source rule-set sip-nat from zone private set security nat source rule-set sip-nat to zone public set security nat source rule-set sip-nat rule sip-r1 match source-address 10.1.1.3/24 set security nat source rule-set sip-nat rule sip-r1 then source-nat pool sip-nat-pool set security nat proxy-arp interface ge-0/0/2.0 address 172.16.1.20/32 to 172.16.1.40/32 set security policies from-zone private to-zone public policy outgoing match source-address phone1 set security policies from-zone private to-zone public policy outgoing match destination-address any set security policies from-zone private to-zone public policy outgoing match application junos-sip set security policies from-zone private to-zone public policy outgoing then permit set security policies from-zone public to-zone private policy incoming match source-address phone2 set security policies from-zone public to-zone private policy incoming match destination-address phone1 set security policies from-zone public to-zone private policy incoming match application junos-sip set security policies from-zone public to-zone private policy incoming then permit
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un grupo TDR de origen para llamadas entrantes:
-
Configure interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24
-
Configure zonas y asígneles interfaces.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/2.0
-
Configure libretas de direcciones.
[edit security zones] user@host# set security-zone private address-book address phone1 10.1.1.3/32 user@host# set security-zone public address-book address proxy 172.16.1.3/32 user@host# set security-zone public address-book address phone2 172.16.1.4/32
-
Configure un grupo TDR de origen.
[edit security nat] user@host# set source pool sip-nat-pool address 172.16.1.20/32 to 172.16.1.40/32
-
Configure un conjunto de reglas de TDR de origen con una regla.
[edit security nat source rule-set sip-nat] user@host# set from zone private user@host# set to zone public user@host# set rule sip-r1 match source-address 10.1.1.3/24 user@host# set rule sip-r1 then source-nat pool sip-nat-pool
-
Habilite la TDR persistente.
[edit security nat] user@host# set source address-persistent
-
Configure el ARP del proxy.
[edit security nat] user@host# set proxy-arp interface ge-0/0/2.0 address 172.16.1.20/32 to 172.16.1.40/32
-
Configure una política de seguridad para permitir el tráfico SIP de salida.
[edit security policies from-zone private to-zone public policy outgoing] set match source-address phone1 set match destination-address any set match application junos-sip set then permit
-
Configure una política de seguridad para permitir el tráfico SIP entrante.
[edit security policies from-zone public to-zone private policy incoming] set match source-address phone2 set match destination-address phone1 set match application junos-sip set then permit
Resultados
Desde el modo de configuración, ingrese los comandos , show security zonesy show security natshow security policies para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show security zones
security-zone private {
address-book {
address phone1 10.1.1.3/32;
}
interfaces {
ge-0/0/0.0;
}
}
security-zone public {
address-book {
address proxy 172.16.1.3/32;
address phone2 172.16.1.4/32;
}
interfaces {
ge-0/0/2.0;
}
}
user@host# show security nat
source {
pool sip-nat-pool {
address {
172.16.1.20/32 to 172.16.1.40/32;
}
}
address-persistent;
rule-set sip-nat {
from zone private;
to zone public;
rule sip-r1 {
match {
source-address 10.1.1.3/24;
}
then {
source-nat {
pool {
sip-nat-pool;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/2.0 {
address {
172.16.1.20/32 to 172.16.1.40/32;
}
}
}
[edit]
user@host# show security policies
from-zone private to-zone public {
policy outgoing {
match {
source-address phone1;
destination-address any;
application junos-sip;
}
then {
permit;
}
}
}
from-zone public to-zone private {
policy incoming {
match {
source-address phone2;
destination-address phone1;
application junos-sip;
}
then {
permit;
}
}
}
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
- Verificar el uso del grupo de TDR de origen
- Verificar el uso de reglas TDR de origen
- Verificación del estado de SIP ALG
- Verificación de las políticas de seguridad de SIP ALG
Verificar el uso del grupo de TDR de origen
Propósito
Verifique que haya tráfico mediante direcciones IP del grupo TDR de origen.
Acción
Desde el modo operativo, introduzca el show security nat source pool all comando.
user@host> show security nat source pool all
Total pools: 1
Pool name : sip-nat-pool
Pool id : 4
Routing instance : default
Host address base : 0.0.0.0
Port : [1024, 63487]
port overloading : 1
Total addresses : 21
Translation hits : 0
Address range Single Ports Twin Ports
172.16.1.20 - 172.16.1.40 0 0
Significado
El Translation hits campo muestra que no hay tráfico utilizado por las direcciones IP del grupo TDR de origen.
Verificar el uso de reglas TDR de origen
Propósito
Compruebe que hay tráfico que coincide con la regla TDR de origen.
Acción
Desde el modo operativo, introduzca el show security nat source rule all comando.
user@host> show security nat source rule all
source NAT rule: sip-r1 Rule-set: sip-nat
Rule-Id : 1
Rule position : 1
From zone : private
To zone : public
Match
Source addresses : 0.0.0.0 - 255.255.255.255
Destination port : 0 - 0
Action : interface
Persistent NAT type : N/A
Persistent NAT mapping type : address-port-mapping
Inactivity timeout : 0
Max session number : 0
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Significado
El Translation hits campo muestra que no hay tráfico que coincida con la regla TDR de origen.
Verificación del estado de SIP ALG
Propósito
Compruebe que SIP ALG esté habilitado en el sistema.
Acción
Desde el modo operativo, introduzca el show security alg status comando.
user@host> show security alg status
ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SIP ALG de la siguiente manera:
-
•Habilitado: muestra que SIP ALG está habilitado.
-
•Desactivado: muestra que el ALG SIP está desactivado.
Verificación de las políticas de seguridad de SIP ALG
Propósito
Compruebe que el TDR de origen entre la zona pública y la zona privada está establecido.
Acción
Desde el modo operativo, introduzca el show security policies comando.
user@host> show security policies
from-zone private to-zone public {
policy outgoing {
match {
source-address phone1;
destination-address any;
application junos-sip;
}
then {
permit;
}
}
from-zone public to-zone private {
policy incoming {
match {
source-address phone2;
destination-address phone1;
application junos-sip;
}
then {
permit;
}
}
Significado
La salida de ejemplo muestra que el TDR de origen entre la zona pública y la zona privada está configurado.
Ejemplo: Configuración de TDR estático para llamadas SIP entrantes
En este ejemplo, se muestra cómo configurar una asignación TDR estática que permite a las personas que llaman en la zona privada registrarse en el servidor proxy de la zona pública.
Requisitos
Antes de comenzar, comprenda cómo funciona TDR con SIP ALG. Consulte Descripción de SIP, ALG y TDR.
Descripción general
Cuando un servidor proxy SIP se encuentra en una zona externa o pública, puede configurar TDR estático en la interfaz pública para permitir que las personas que llaman en la zona privada se registren en el servidor proxy.
En este ejemplo (vea la Figura 7), phone1 está en la interfaz ge-0/0/0 en la zona privada, y phone2 y el servidor proxy están en la interfaz ge-0/0/2 en la zona pública. Puede crear un conjunto de reglas de TDR estático llamado incoming-sip con una regla llamada phone1 para hacer coincidir los paquetes de la zona pública con la dirección de destino 172.16.1.3/32. Para los paquetes coincidentes, la dirección IP de destino se traduce a la dirección privada 10.1.1.3/32. También puede crear ARP de proxy para la dirección 172.16.1.3/32 en la interfaz ge-0/0/2.0. Esto permite que el sistema responda a las solicitudes ARP recibidas en la interfaz para estas direcciones. Por último, se crea una política de seguridad llamada entrante que permite el tráfico SIP desde la zona pública a la zona privada.
Cuando configure TDR estático para llamadas SIP entrantes, asegúrese de configurar una dirección pública para cada dirección privada en la zona privada.
Topología
La Figura 7 muestra el TDR estático para las llamadas entrantes.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone private address-book address phone1 10.1.1.5/32 set security zones security-zone public interfaces ge-0/0/2.0 set security zones security-zone public address-book address proxy 172.16.1.3/32 set security zones security-zone public address-book address phone2 172.16.1.4/32 set security nat static rule-set incoming-sip from zone public set security nat static rule-set incoming-sip rule phone1 match destination-address 172.16.1.3/32 set security nat static rule-set incoming-sip rule phone1 then static-nat prefix 10.1.1.3/32 set security nat proxy-arp interface ge-0/0/2.0 address 172.16.1.3/32 set security policies from-zone public to-zone private policy incoming match source-address phone2 set security policies from-zone public to-zone private policy incoming match source-address proxy set security policies from-zone public to-zone private policy incoming match destination-address phone1 set security policies from-zone public to-zone private policy incoming match application junos-sip set security policies from-zone public to-zone private policy incoming then permit set security policies from-zone private to-zone public policy outgoing match source-address phone1 set security policies from-zone private to-zone public policy outgoing match destination-address phone2 set security policies from-zone private to-zone public policy outgoing match destination-address proxy set security policies from-zone private to-zone public policy outgoing match application junos-sip set security policies from-zone private to-zone public policy outgoing then permit
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar TDR estático para llamadas entrantes:
-
Configure interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24
-
Cree zonas de seguridad.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/2.0
-
Asigne direcciones a las zonas de seguridad.
[edit security zones] user@host# set security-zone private address-book address phone1 10.1.1.5/32 user@host# set security-zone public address-book address proxy 172.16.1.3/32 user@host# set security-zone public address-book address phone2 172.16.1.4/32
-
Cree un conjunto de reglas de TDR estático con una regla.
[edit security nat static rule-set incoming-sip] user@host# set from zone public user@host# set rule phone1 match destination-address 172.16.1.3/32 user@host# set rule phone1 then static-nat prefix 10.1.1.3/32
-
Configure el ARP del proxy.
[edit security nat] user@host# set proxy-arp interface ge-0/0/2.0 address 172.16.1.3/32
-
Defina una política de seguridad para permitir el tráfico SIP entrante.
[edit security policies from-zone public to-zone private policy incoming] user@host# set match source-address phone2 user@host# set match source-address proxy user@host# set match destination-address phone1 user@host# set match application junos-sip user@host# set then permit
-
Defina una política de seguridad para permitir el tráfico SIP de salida.
[edit security policies from-zone private to-zone public policy outgoing] user@host# set match source-address phone1 user@host# set match destination-address phone2 user@host# set match destination-address proxy user@host# set match application junos-sip user@host# set then permit
Resultados
Desde el modo de configuración, ingrese los comandos , show security zonesy show security natshow security policies para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show security zones
security-zone private {
address-book {
address phone1 10.1.1.5/32;
}
interfaces {
ge-0/0/0.0;
}
}
security-zone public {
address-book {
address proxy 172.16.1.3/32;
address phone2 172.16.1.4/32;
}
interfaces {
ge-0/0/2.0;
}
}
[edit]
user@host# show security nat
static {
rule-set incoming-sip {
from zone public;
rule phone1 {
match {
destination-address 172.16.1.3/32;
}
then {
static-nat prefix 10.1.1.3/32;
}
}
}
}
proxy-arp {
interface ge-0/0/2.0 {
address {
172.16.1.3/32;
}
}
}
[edit]
user@host# show security policies
from-zone public to-zone private {
policy incoming {
match {
source-address phone2;
destination-address phone1;
application junos-sip;
}
then {
permit;
}
}
}
from-zone private to-zone public {
policy outgoing {
match {
source-address phone1;
destination-address [phone2 proxy];
application junos-sip;
}
then {
permit;
}
}
}
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
- Verificar la configuración estática de TDR
- Verificación del estado de SIP ALG
- Verificación de las políticas de seguridad de SIP ALG
Verificar la configuración estática de TDR
Propósito
Compruebe que hay tráfico que coincide con el conjunto de reglas estáticas de TDR.
Acción
Desde el modo operativo, introduzca el show security nat static rule all comando.
user@host> show security nat static rule all
Static NAT rule: phone1 Rule-set: incoming-sip Rule-Id : 1 Rule position : 1 From zone : public Destination addresses : 172.16.1.3 Host addresses : 172.16.1.4 Netmask : 24 Host routing-instance : N/A Translation hits : 4 Successful sessions : 4 Failed sessions : 0 Number of sessions : 4
Significado
El Translation hits campo muestra que hay tráfico que coincide con el conjunto de reglas de TDR estático.
Verificación del estado de SIP ALG
Propósito
Compruebe que SIP ALG esté habilitado en el sistema.
Acción
Desde el modo operativo, introduzca el show security alg status comando.
user@host> show security alg status
ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SIP ALG de la siguiente manera:
-
•Habilitado: muestra que SIP ALG está habilitado.
-
•Desactivado: muestra que el ALG SIP está desactivado.
Verificación de las políticas de seguridad de SIP ALG
Propósito
Compruebe que el TDR estático entre la zona pública y la zona privada está establecido.
Acción
Desde el modo operativo, introduzca el show security policies comando.
user@host> show security policies
from-zone public to-zone private {
policy incoming {
match {
source-address [ phone2 proxy ];
destination-address phone1;
application junos-sip;
}
then {
permit;
}
}
}
from-zone private to-zone public {
policy outgoing {
match {
source-address phone1;
destination-address [ phone2 proxy ];
application junos-sip;
}
then {
permit;
}
}
}
Significado
La salida de ejemplo muestra que se ha establecido el TDR estático entre la zona pública y la zona privada.
Ejemplo: Configuración del proxy SIP en la zona privada y TDR en la zona pública
En este ejemplo, se muestra cómo configurar un servidor proxy SIP en una zona privada y un TDR estático en una zona pública para permitir que las personas que llaman en la zona pública se registren en el servidor proxy.
Requisitos
Antes de comenzar, comprenda cómo funciona TDR con SIP ALG. Consulte Descripción de SIP, ALG y TDR.
Descripción general
Con el servidor proxy SIP en la zona privada, puede configurar TDR estático en la interfaz externa o pública para permitir que las personas que llaman en la zona pública se registren en el servidor proxy.
En este ejemplo (vea la Figura 8), phone1 y el servidor proxy SIP están en la interfaz ge-0/0/0 en la zona privada, y phone2 está en la interfaz ge-0/0/2 en la zona pública. Configure una regla TDR estática para el servidor proxy a fin de permitir que phone2 se registre en el servidor proxy y, a continuación, cree una política denominada saliente que permita el tráfico SIP de la zona pública a la privada para permitir que las personas que llaman de la zona pública se registren en el servidor proxy. También puede configurar una política llamada entrante desde la zona privada a la pública para permitir que phone1 llame.
Topología
La Figura 8 muestra la configuración del proxy SIP en la zona privada y de TDR en una zona pública.
pública
En este ejemplo, configure TDR de la siguiente manera:
-
Configure la TDR estática en la interfaz ge-0/0/2 del servidor proxy con un conjunto de reglas denominado incoming-sip con una regla denominada proxy para hacer coincidir los paquetes de la zona pública con la dirección de destino 172.16.1.2/32. Para los paquetes coincidentes, la dirección IP de destino se traduce a la dirección privada 10.1.1.5/32.
-
Configure un segundo conjunto de reglas denominado sip-phones con una regla denominada phone1 para habilitar la interfaz TDR para la comunicación de phone1 a phone2.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 set interfaces ge-0/0/2 unit 0 proxy-arp set security zones security-zone private address-book address phone1 10.1.1.3/32 set security zones security-zone private address-book address proxy 10.1.1.5/32 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone public address-book address phone2 172.16.1.4/32 set security zones security-zone public interfaces ge-0/0/2.0 set security nat source rule-set sip-phones from zone private set security nat source rule-set sip-phones to zone public set security nat source rule-set sip-phones rule phone1 match source-address 10.1.1.3/32 set security nat source rule-set sip-phones rule phone1 then source-nat interface set security nat static rule-set incoming-sip from zone public set security nat static rule-set incoming-sip rule proxy match destination-address 172.16.1.2/32 set security nat static rule-set incoming-sip rule proxy then static-nat prefix 10.1.1.5/32 set security nat proxy-arp interface ge-0/0/2.0 address 172.16.1.2/32 set security policies from-zone private to-zone public policy outgoing match source-address any set security policies from-zone private to-zone public policy outgoing match destination-address phone2 set security policies from-zone private to-zone public policy outgoing match application junos-sip set security policies from-zone private to-zone public policy outgoing then permit set security policies from-zone public to-zone private policy incoming match source-address phone2 set security policies from-zone public to-zone private policy incoming match destination-address proxy set security policies from-zone public to-zone private policy incoming match application junos-sip set security policies from-zone public to-zone private policy incoming then permit
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar TDR estático para llamadas entrantes:
-
Configure interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 user@host# set interfaces ge-0/0/2 unit 0 proxy-arp
-
Configure las zonas de seguridad.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/2.0
-
Asigne direcciones a las zonas de seguridad.
[edit security zones] user@host# set security-zone private address-book address phone1 10.1.1.3/32 user@host# set security-zone private address-book address proxy 10.1.1.5/32 user@host# set security-zone public address-book address phone2 172.16.1.4/32
-
Cree un conjunto de reglas para TDR estático y asígnele una regla.
[edit security nat static rule-set incoming-sip] user@host# set from zone public user@host# set rule proxy match destination-address 172.16.1.2/32 user@host# set rule proxy then static-nat prefix 10.1.1.5/32
-
Configure proxy-arp para la dirección 172.16.1.2/32.
[edit security nat] user@host# proxy-arp interface ge-0/0/2.0 address 172.16.1.2/32
-
Configure el segundo conjunto de reglas y asígnele una regla.
[edit security nat source rule-set sip-phones] user@host# set from zone private user@host# set to zone public user@host# set rule phone1 match source-address 10.1.1.3/32 user@host# set rule phone1 then source-nat interface
-
Configure una política de seguridad para el tráfico saliente.
[edit security policies from-zone private to-zone public policy outgoing] user@host# set match source-address any user@host# set match destination-address phone2 user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para el tráfico entrante.
[edit security policies from-zone public to-zone private policy incoming] user@host# set match source-address phone2 user@host# set match destination-address proxy user@host# set match application junos-sip user@host# set then permit
Resultados
Desde el modo de configuración, ingrese los comandos , show security zonesy show security natshow security policies para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
ge-0/0/2 {
unit 0 {
proxy-arp;
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show security zones
security-zone private {
address-book {
address phone1 10.1.1.3/32;
address proxy 10.1.1.5/32;
}
interfaces {
ge-0/0/0.0;
}
}
security-zone public {
address-book {
address phone2 172.16.1.4/32;
}
interfaces {
ge-0/0/2.0;
}
}
[edit]
user@host# show security nat
source {
rule-set sip-phones {
from zone private;
to zone public;
rule phone1 {
match {
source-address 10.1.1.3/32;
}
then {
source-nat {
interface;
}
}
}
}
}
static {
rule-set incoming-sip {
from zone public;
rule proxy {
match {
destination-address 172.16.1.2/32;
}
then {
static-nat prefix 10.1.1.5/32;
}
}
}
proxy-arp {
interface ge-0/0/2.0 {
address {
172.16.1.2/32;
}
}
}
}
[edit]
user@host# show security policies
from-zone private to-zone public {
policy outgoing {
match {
source-address any;
destination-address phone2;
application junos-sip;
}
then {
permit;
}
}
}
from-zone public to-zone private {
policy incoming {
match {
source-address phone2;
destination-address proxy;
application junos-sip;
}
then {
permit;
}
}
}
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
- Verificar la configuración estática de TDR
- Verificación del estado de SIP ALG
- Verificar la regla TDR de origen
- Verificación de la sesión de flujo de seguridad
Verificar la configuración estática de TDR
Propósito
Compruebe que hay tráfico que coincide con el conjunto de reglas estáticas de TDR.
Acción
Desde el modo operativo, introduzca el show security nat static rule all comando. Vea el campo Resultados de traducción para comprobar si hay tráfico que coincida con la regla.
user@host> show security nat static rule all
Total static-nat rules: 1
Total referenced IPv4/IPv6 ip-prefixes: 2/0
Static NAT rule: proxy Rule-set: incoming-sip
Rule-Id : 2
Rule position : 1
From zone : public
Destination addresses : 172.16.1.2
Host addresses : 10.1.1.5
Netmask : 32
Host routing-instance : N/A
Translation hits : 23
Successful sessions : 23
Failed sessions : 0
Number of sessions : 0
Significado
El Translation hits campo muestra que hay 23 tráfico que coinciden con la regla estática de TDR.
Verificación del estado de SIP ALG
Propósito
Compruebe que SIP ALG esté habilitado en el sistema.
Acción
Desde el modo operativo, introduzca el show security alg status comando.
user@host> show security alg status ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SIP ALG de la siguiente manera:
-
Habilitado: muestra que SIP ALG está habilitado.
-
Deshabilitado: muestra que el ALG SIP está deshabilitado.
Verificar la regla TDR de origen
Propósito
Compruebe que la configuración de la regla TDR de origen.
Acción
Desde el modo operativo, introduzca el show security nat source rule all comando.
user@host> show security nat source rule all
Total referenced IPv4/IPv6 ip-prefixes: 1/0
source NAT rule: phone1 Rule-set: sip-phones
Rule-Id : 1
Rule position : 1
From zone : private
To zone : public
Match
Source addresses : 10.1.1.3 - 10.1.1.3
Action : interface
Persistent NAT type : N/A
Persistent NAT mapping type : address-port-mapping
Inactivity timeout : 0
Max session number : 0
Translation hits : 88
Successful sessions : 88
Failed sessions : 0
Number of sessions : 0
Significado
El Translation hits campo muestra que hay 88 tráfico que coinciden con la regla TDR de origen.
Verificación de la sesión de flujo de seguridad
Propósito
Verifique que la traducción TDR phone1 a phone2.
Acción
Desde el modo operativo, introduzca el run show security flow session comando.
user@host> run show security flow session Session ID: 169, Policy name: allow-all/4, Timeout: 2, Valid In: 10.1.1.3/4 --> 172.16.1.4/52517;icmp, Conn Tag: 0x0, If: ge-0/0/0.0, Pkts: 1, Bytes: 84, Out: 172.16.1.4/52517 --> 172.16.1.1/25821;icmp, Conn Tag: 0x0, If: ge-0/0/1.0, Pkts: 1, Bytes: 84,
Significado
El resultado muestra la traducción TDR phone1 a phone2.
Ejemplo: Configuración de un escenario SIP ALG y TDR de tres zonas
En este ejemplo, se muestra cómo configurar un servidor proxy SIP en una zona privada y un TDR estático en una zona pública para permitir que las personas que llaman en la zona pública se registren en el servidor proxy.
Requisitos
Antes de comenzar, comprenda cómo funciona TDR con SIP ALG. Consulte Descripción de SIP, ALG y TDR.
Descripción general
En una configuración SIP de tres zonas, el servidor proxy SIP suele estar en una zona diferente de los sistemas que llaman y a los que se llama. Tal escenario requiere una configuración adicional de dirección y zona, y políticas para garantizar que todos los sistemas tengan acceso entre sí y al servidor proxy.
En este ejemplo, phone1 está en la interfaz ge-0/0/0.0 en la zona privada, phone2 está en la interfaz ge-0/0/2.0 en la zona pública y el servidor proxy está en la interfaz ge-0/0/1.0 en la ZDM. Configure la regla TDR estática para phone1 en la zona privada. A continuación, se crean políticas para el tráfico que atraviesa desde la zona privada a la ZDM y desde la ZDM a la zona privada, desde la zona pública a la ZDM y desde la ZDM a la zona pública y desde la zona privada a la zona pública. Las flechas de la Figura 9 muestran el flujo del tráfico de señalización SIP cuando phone2 en la zona pública realiza una llamada a phone1 en la zona privada. Una vez iniciada la sesión, los datos fluyen directamente entre phone1 y phone2.
En este ejemplo, configure TDR de la siguiente manera:
-
Configure un conjunto de reglas TDR estático llamado incoming-sip con una regla phone1 para hacer coincidir los paquetes de la zona pública con la dirección de destino 10.1.2.3/32. Para los paquetes coincidentes, la dirección IP de destino se traduce a la dirección privada 10.1.1.3/32.
-
Configure el ARP de proxy para la dirección 10.1.2.3/32 en la interfaz ge-0/0/1.0, lo que permite que el sistema responda a las solicitudes ARP recibidas en la interfaz para esta dirección.
-
Configure un segundo conjunto de reglas denominado sip-phones con una regla r1 para habilitar la interfaz TDR para la comunicación desde phone1 al servidor proxy y desde phone1 a phone2.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.
set security nat static rule-set sip-phone from zone private set security nat static rule-set sip-phone from zone public set security nat static rule-set sip-phone rule phone1 match destination-address 10.1.2.3/32 set security nat static rule-set sip-phone rule phone1 then static-nat prefix 10.1.1.3/32 set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.2/24 set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24 set security zones security-zone private address-book address phone1 10.1.1.3/32 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone public address-book address phone2 172.16.1.4/32 set security zones security-zone public interfaces ge-0/0/2.0 set security zones security-zone dmz address-book address proxy 10.1.2.4/32 set security zones security-zone dmz interfaces ge-0/0/1.0 set security nat source rule-set sip-phones from zone private set security nat source rule-set sip-phones to zone dmz set security nat source rule-set sip-phones rule r1 match source-address 10.1.1.3/32 set security nat source rule-set sip-phones rule r1 then source-nat interface set security policies from-zone private to-zone dmz policy private-to-proxy match source-address phone1 set security policies from-zone private to-zone dmz policy private-to-proxy match destination-address proxy set security policies from-zone private to-zone dmz policy private-to-proxy match application junos-sip set security policies from-zone private to-zone dmz policy private-to-proxy then permit set security policies from-zone public to-zone dmz policy public-to-proxy match source-address phone2 set security policies from-zone public to-zone dmz policy public-to-proxy match destination-address proxy set security policies from-zone public to-zone dmz policy public-to-proxy match application junos-sip set security policies from-zone public to-zone dmz policy public-to-proxy then permit set security policies from-zone public to-zone private policy public-to-private match source-address phone2 set security policies from-zone public to-zone private policy public-to-private match destination-address phone1 set security policies from-zone public to-zone private policy public-to-private match application junos-sip set security policies from-zone public to-zone private policy public-to-private then permit set security policies from-zone private to-zone public policy private-to-public match source-address phone1 set security policies from-zone private to-zone public policy private-to-public match destination-address phone2 set security policies from-zone private to-zone public policy private-to-public match application junos-sip set security policies from-zone private to-zone public policy private-to-public then permit set security policies from-zone dmz to-zone private policy proxy-to-private match source-address proxy set security policies from-zone dmz to-zone private policy proxy-to-private match destination-address phone1 set security policies from-zone dmz to-zone private policy proxy-to-private match application junos-sip set security policies from-zone dmz to-zone private policy proxy-to-private then permit set security policies from-zone dmz to-zone public policy proxy-to-public match source-address proxy set security policies from-zone dmz to-zone public policy proxy-to-public match destination-address phone2 set security policies from-zone dmz to-zone public policy proxy-to-public match application junos-sip set security policies from-zone dmz to-zone public policy proxy-to-public then permit
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un servidor proxy SIP en una zona privada y un TDR estático en una zona pública:
-
Cree un conjunto de reglas para TDR estático y asígnele una regla.
[edit security nat static rule-set] user@host# sip-phone from zone private user@host# sip-phone from zone public user@host# sip-phone rule phone1 match destination-address 10.1.2.3/32 user@host# phone1 then static-nat prefix 10.1.1.3/32
-
Configure interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.2/24 user@host# set interfaces ge-0/0/2 unit 0 family inet address 172.16.1.1/24
-
Configure las zonas de seguridad.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/2.0 user@host# set security-zone dmz interfaces ge-0/0/1.0
-
Asigne direcciones a las zonas de seguridad.
[edit security zones] user@host# set security-zone private address-book address phone1 10.1.1.3/32 user@host# set security-zone public address-book address phone2 172.16.1.4/32 user@host# set security-zone dmz address-book address proxy 10.1.2.4/32
-
Configure la interfaz TDR para la comunicación desde el teléfono1 al proxy.
[edit security nat source rule-set sip-phones] user@host# set from zone private user@host# set to zone dmz user@host# set rule r1 match source-address 10.1.1.3/32 user@host# set rule r1 then source-nat interface
-
Configure una política de seguridad para permitir el tráfico desde la zona privada a la zona ZDM.
[edit security policies from-zone private to-zone dmz policy private-to-proxy] user@host# set match source-address phone1 user@host# set match destination-address proxy user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico de la zona pública a la zona ZDM.
[edit security policies from-zone public to-zone dmz policy public-to-proxy] user@host# set match source-address phone2 user@host# set match destination-address proxy user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico de una zona privada a una zona pública.
[edit security policies from-zone private to-zone public policy private-to-public] user@host# set match source-address phone1 user@host# set match destination-address phone2 user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico de una zona pública a una zona privada.
[edit security policies from-zone public to-zone private policy public-to-private] user@host# set match source-address phone2 user@host# set match destination-address phone1 user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico desde la zona ZDM a la zona privada.
[edit security policies from-zone dmz to-zone private policy proxy-to-private] user@host# set match source-address proxy user@host# set match destination-address phone1 user@host# set match application junos-sip user@host# set then permit
-
Configure una política de seguridad para permitir el tráfico desde la zona ZDM a la zona pública.
[edit security policies from-zone dmz to-zone public policy proxy-to-public] user@host# set match source-address proxy user@host# set match destination-address phone2 user@host# set match application junos-sip user@host# set then permit
Resultados
Desde el modo de configuración, ingrese los comandos , show security zonesy show security natshow security policies para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración de este ejemplo para corregirla.
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.2.2/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.16.1.1/24;
}
}
}
[edit]
user@host# show security zones
security-zone private {
address-book {
address phone1 10.1.1.3/32;
}
interfaces {
ge-0/0/0.0;
}
}
security-zone public {
address-book {
address phone2 172.16.1.4/32;
}
interfaces {
ge-0/0/2.0;
}
}
security-zone dmz {
address-book {
address proxy 10.1.2.4/32;
}
interfaces {
ge-0/0/1.0;
}
}
[edit]
user@host# show security nat
static {
rule-set sip-phone {
from zone [ private public ];
rule phone1 {
match {
destination-address 10.1.2.3/32;
}
then {
static-nat {
prefix {
10.1.1.3/32;
}
}
}
}
}
}
source {
rule-set sip-phones {
from zone private;
to zone dmz;
rule r1 {
match {
source-address 10.1.1.3/32;
}
then {
source-nat {
interface;
}
}
}
}
}
proxy-arp {
interface ge-0/0/1.0 {
address {
10.1.2.3/32;
}
}
}
[edit]
user@host# show security policies
from-zone private to-zone dmz {
policy private-to-proxy {
match {
source-address phone1;
destination-address proxy;
application junos-sip;
}
then {
permit;
}
}
}
from-zone public to-zone dmz {
policy public-to-proxy {
match {
source-address phone2;
destination-address proxy;
application junos-sip;
}
then {
permit;
}
}
}
from-zone public to-zone private {
policy public-to-private {
match {
source-address phone2;
destination-address phone1;
}
then {
permit;
}
}
}
from-zone private to-zone public {
policy private to-zone public {
match {
source-address phone1;
destination-address phone2;
}
then {
permit;
}
}
}
from-zone dmz to-zone private {
policy proxy-to-private {
match {
source-address proxy;
destination-address phone2;
application junos-sip;
}
then {
permit;
}
}
}
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Para confirmar que la configuración funcione correctamente, realice las siguientes tareas:
- Verificar el uso de reglas TDR de origen
- Verificar el uso de reglas de TDR estáticas
- Verificación del estado de SIP ALG
Verificar el uso de reglas TDR de origen
Propósito
Compruebe que hay tráfico que coincide con la regla TDR de origen.
Acción
Desde el modo operativo, introduzca el show security nat source rule all comando. Vea el campo Resultados de traducción para comprobar si hay tráfico que coincida con la regla.
user@host> show security nat source rule all
source NAT rule: r1 Rule-set: sip-phones
Rule-Id : 1
Rule position : 1
From zone : private
To zone : public
Match
Source addresses : 0.0.0.0 - 255.255.255.255
Destination port : 0 - 0
Action : interface
Persistent NAT type : N/A
Persistent NAT mapping type : address-port-mapping
Inactivity timeout : 0
Max session number : 0
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Significado
Esto Translation hits field muestra que no hay tráfico que coincida con la regla TDR de origen.
Verificar el uso de reglas de TDR estáticas
Propósito
Compruebe que hay tráfico que coincide con la regla estática de TDR.
Acción
Desde el modo operativo, introduzca el show security nat static rule all comando. Vea el campo Resultados de traducción para comprobar si hay tráfico que coincida con la regla.
user@host> show security nat static rule all
Total static-nat rules: 1
Total referenced IPv4/IPv6 ip-prefixes: 2/0
Static NAT rule: phone1 Rule-set: sip-phone
Rule-Id : 1
Rule position : 1
From zone : private
: public
Destination addresses : 10.1.2.3
Host addresses : 10.1.2.4
Netmask : 32
Host routing-instance : N/A
Translation hits : 127
Successful sessions : 127
Failed sessions : 0
Number of sessions : 0
Significado
El Translation hits campo muestra el tráfico que coincide con la regla estática de TDR.
Verificación del estado de SIP ALG
Propósito
Compruebe que SIP ALG esté habilitado en el sistema.
Acción
Desde el modo operativo, introduzca el show security alg status comando.
user@host> show security alg status ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SIP ALG de la siguiente manera:
-
Habilitado: muestra que SIP ALG está habilitado.
-
Deshabilitado: muestra que el ALG SIP está deshabilitado.
Tabla de historial de cambios
La compatibilidad de la función depende de la plataforma y la versión que utilice. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.