NESTA PÁGINA
-
Exemplo: configuração da duração e dos tempos limite da chamada SIP ALG
-
Exemplo: configuração da proteção contra ataques SIP ALG DoS
-
Exemplo: configurar o NAT da origem da interface para chamadas SIP recebidas
-
Exemplo: configurar o NAT estático para chamadas SIP recebidas
-
Exemplo: configurar o proxy SIP na zona privada e o NAT na zona pública
-
Exemplo: Configuração de um cenário SIP ALG e NAT de três zonas
SIP ALG
O Session Initiation Protocol (SIP) é um protocolo de sinalização para iniciar, modificar e encerrar sessões multimídia pela Internet. O SIP oferece suporte a sessões de mídia única e multimídia.
Entendendo o SIP ALG
O Session Initiation Protocol (SIP) é um protocolo padrão da Internet Engineering Task Force (IETF) para iniciar, modificar e encerrar sessões multimídia pela Internet. Essas sessões podem incluir conferência, telefonia ou multimídia, com recursos como mensagens instantâneas e mobilidade no nível de aplicativo em ambientes de rede.
O Junos OS oferece suporte ao SIP como serviço, permitindo e negando com base em uma política que você configura. O SIP é um serviço predefinido no Junos OS e usa a porta 5060 como porta de destino.
Uma das funções do SIP é distribuir informações de descrição da sessão e, durante a sessão, negociar e modificar os parâmetros da sessão. O SIP também é usado para encerrar uma sessão multimídia, sinalizar um estabelecimento de chamada, fornecer indicação de falha e fornecer métodos para registro de endpoint.
As informações de descrição da sessão estão incluídas nas mensagens INVITE e 200-OK ou nas mensagens 200-OK e ACK e indicam o tipo de multimídia da sessão; por exemplo, seja voz ou vídeo. Embora o SIP possa usar diferentes protocolos de descrição para descrever a sessão, o Gateway de Camada de aplicativo (ALG) SIP da Juniper Networks suporta apenas o Protocolo de Descrição de Sessão (SDP).
O SDP fornece informações que um sistema pode usar para ingressar em uma sessão multimídia. O SDP pode incluir informações como endereços IP, números de porta, horários e datas. Observe que o endereço IP e o número da porta no cabeçalho SDP (os campos c= e m=, respectivamente) são o endereço e a porta em que o cliente deseja receber os fluxos de mídia e não o endereço IP e o número da porta dos quais a solicitação SIP se origina (embora possam ser os mesmos).
As mensagens SIP consistem em solicitações de um cliente para um servidor e respostas às solicitações de um servidor para um cliente com o objetivo de estabelecer uma sessão (ou uma chamada). Um agente de usuário (UA) é um aplicativo que é executado nos pontos de extremidade da chamada e consiste em duas partes:
-
cliente de agente de usuário (UAC), que envia solicitações SIP em nome do usuário
-
servidor de agente de usuário (UAS), que escuta as respostas e notifica o usuário quando elas chegam
UAC e UAS são definidos em relação ao papel que um determinado agente está desempenhando em uma negociação.
Exemplos de UAs são servidores proxy SIP e telefones.
Este tópico contém as seguintes seções:
Operação SIP ALG
Existem dois tipos de tráfego SIP, a sinalização e o fluxo de mídia. O tráfego de sinalização SIP consiste em mensagens de solicitação e resposta entre o cliente e o servidor e usa protocolos de transporte como UDP ou TCP. O fluxo de mídia transporta os dados (dados de áudio, por exemplo) usando protocolos de transporte.
A partir do Junos OS Release 12.3X48-D25 e do Junos OS Release 17.3R1, o SIP ALG oferece suporte a TCP. O suporte a TCP sobre o SIP ALG reduz o tráfego para o servidor, eliminando a necessidade de registrar novamente ou atualizar o servidor com frequência.
Por padrão, o Junos OS oferece suporte a mensagens de sinalização SIP na porta 5060. Você pode configurar a porta criando uma política que permita o serviço SIP, e o software filtra o tráfego de sinalização SIP como qualquer outro tipo de tráfego, permitindo ou negando. O fluxo de mídia, no entanto, usa números de porta atribuídos dinamicamente que podem ser alterados várias vezes durante uma chamada. Sem portas fixas, não é seguro criar uma política estática para controlar o tráfego de mídia. Nesse caso, o dispositivo invoca o SIP ALG. As portas de transporte do dispositivo usadas para as sessões de mídia não são conhecidas com antecedência; no entanto, as portas usadas para a negociação SIP são bem conhecidas (ou predefinidas). O ALG registra interesse em pacotes da sessão de controle, que pode ser facilmente distinguido dos outros pacotes, e inspeciona a negociação para obter as informações de transporte usadas para a sessão de mídia (endereços IP e portas).
O SIP ALG cria um orifício quando determina um IP, porta, endereço de transporte e protocolo correspondentes, que são identificados com qualquer informação conhecida no momento em que o orifício é aberto.
O SIP ALG monitora as transações SIP e cria e gerencia dinamicamente pinholes com base nas informações que extrai dessas transações. O SIP ALG da Juniper Networks suporta todos os métodos e respostas SIP. Você pode permitir que transações SIP atravessem o firewall da Juniper Networks criando uma política estática que permita o serviço SIP. Se a política estiver configurada para inspecionar o tráfego SIP (ou, mais apropriadamente, se a política enviar algum tráfego para o SIP ALG para inspeção), as ações permitidas serão permitir o tráfego (nesse caso, os orifícios apropriados são abertos) ou negar o tráfego.
O SIP ALG intercepta mensagens SIP que contêm SDP e, usando um analisador, extrai as informações necessárias para criar orifícios. O SIP ALG examina a parte SDP do pacote e um analisador extrai informações como endereços IP e números de porta, que o SIP ALG registra em uma tabela pinhole. O SIP ALG usa os endereços IP e os números de porta registrados na tabela de orifícios para abrir orifícios e permitir que os fluxos de mídia atravessem o dispositivo.
Quando o dispositivo está executando o NAT, os endereços de transporte que os UAs empregam estão incorretos. O SIP ALG modifica os endereços de transporte com base nas portas e endereços convertidos alocados pelo dispositivo que traduz endereços de rede. Quando o SDP é criptografado, o dispositivo não pode extrair ou modificar o conteúdo da mensagem e, portanto, não pode corrigir os endereços de transporte. Para fornecer uma solução alternativa, o protocolo STUN foi implantado (exigindo que os dispositivos NAT façam alguma forma de cone-NAT), o que permite que os clientes determinem os endereços traduzidos e usem esses endereços recém-descobertos nas mensagens SDP.
Os produtos NEC SIP são suportados condicionalmente.
Descrições de sessão do SDP
Uma descrição de sessão SDP é um formato bem definido para transmitir informações suficientes para descobrir e participar de uma sessão multimídia. Uma sessão é descrita por uma série de pares de atributo/valor, um por linha. Os nomes dos atributos são caracteres únicos, seguidos por = e um valor. Os valores opcionais são especificados com =*. Os valores são uma cadeia de caracteres ASCII ou uma sequência de tipos específicos separados por espaços. Os nomes de atributo são exclusivos apenas dentro da construção sintática associada, como somente na sessão, hora ou mídia.
Na descrição da sessão SDP, as informações no nível da mídia começam com o campo m=.
Dos muitos campos na descrição do SDP, dois são particularmente úteis para o SIP ALG porque contêm informações da Camada de Transporte.
-
c=para informações de conexãoEsse campo pode aparecer no nível da sessão ou da mídia. Ele aparece neste formato:
c=<tipo de rede><tipo de endereço><endereço de conexão>
O Junos OS oferece suporte apenas a "IN" (para Internet) como o tipo de rede, "IPv4" como o tipo de endereço e um endereço IP ou nome de domínio unicast como o endereço IP de destino (conexão). A partir do Junos OS versão 15.1X49-D40 e do Junos OS versão 17.3R1, o tipo de endereço "IPv6" também é suportado.
Se o endereço IP de destino for um endereço IP unicast, o SIP ALG criará orifícios usando o endereço IP e os números de porta especificados no campo de descrição de mídia m=.
-
m=para anúncio de mídiaEste campo aparece no nível da mídia e contém a descrição da mídia. Ele aparece neste formato:
lista m=<media><port><transport><fmt>
Atualmente, o Junos OS oferece suporte ao "RTP" como protocolo de transporte da Camada de aplicativo. O número da porta indica a porta de destino do fluxo de mídia (a origem é alocada pelo UA remoto). A lista de formatos (lista fmt) fornece informações sobre o protocolo da Camada de aplicativo que a mídia usa.
O software abre portas apenas para RTP e RTCP (Real-Time Control Protocol). Cada sessão RTP tem uma sessão RTCP correspondente. Portanto, sempre que um fluxo de mídia usa RTP, o SIP ALG deve reservar portas (criar orifícios) para o tráfego RTP e RTCP. Por padrão, o número da porta RTCP é um número maior do que o número da porta RTP.
Criação de pinhole
Cada orifício (um para tráfego RTP e outro para tráfego RTCP) compartilha o mesmo endereço IP de destino. O endereço IP vem do campo c= na descrição da sessão do SDP. Como o campo c= pode aparecer na parte no nível da sessão ou no nível da mídia da descrição da sessão do SDP, o analisador determina o endereço IP com base nas seguintes regras (de acordo com as convenções do SDP):
-
Primeiro, o analisador SIP ALG procura um campo c= contendo um endereço IP no nível de mídia. Se houver esse campo, o analisador extrai esse endereço IP e o SIP ALG usa esse endereço para criar um orifício para a mídia.
-
Se não houver nenhum campo c= no nível de mídia, o analisador SIP ALG extrairá o endereço IP do campo c= no nível de sessão e o SIP ALG usará esse endereço IP para criar um orifício para a mídia. Se a descrição da sessão não contiver um campo c= em nenhum dos níveis, isso indicará um erro na pilha de protocolo, e o dispositivo descartará o pacote e registrará o evento.
O SIP ALG também abre orifícios para o tráfego de sinais. Esses orifícios de sinal são úteis após o tempo limite da sessão de sinal anterior e também são úteis para o tráfego de sinal enviado para um endereço de terceiros que não corresponde à sessão de sinal anterior. Os orifícios de sinal SIP ALG nunca envelhecem, ao contrário dos orifícios RTP ou RTCP, onde apenas o IP de destino e a porta de destino são especificados.
O SIP ALG abre orifícios de sinal para os seguintes cabeçalhos, se necessário:
-
VIA
-
CONTATO
-
ROTA
-
ROTA RECORDE
O SIP ALG precisa das seguintes informações para criar um orifício. Essas informações vêm da descrição da sessão do SDP ou dos cabeçalhos SIP (conforme listado acima).
-
Protocolo — UDP ou TCP.
-
IP de origem — desconhecido.
-
Porta de origem — desconhecida.
-
IP de destino — O analisador extrai o endereço IP de destino do campo c= no nível de mídia ou sessão.
-
Porta de destino — o analisador extrai o número da porta de destino para RTP do campo m= no nível de mídia e calcula o número da porta de destino para RTCP usando a seguinte fórmula:
Número da porta RTP + um
-
Tempo de vida — Esse valor indica o período de tempo (em segundos) durante o qual um orifício é aberto para permitir a passagem de um pacote. Um pacote deve passar pelo orifício antes que o tempo de vida expire. Quando o tempo de vida expira, o SIP ALG remove o orifício.
Quando um pacote passa pelo orifício dentro do período de vida útil, imediatamente após o SIP ALG remove o orifício para a direção de onde o pacote veio.
A Figura 1 descreve uma configuração de chamada entre dois clientes SIP e como o SIP ALG cria pinholes para permitir tráfego RTP e RTCP. A ilustração pressupõe que o dispositivo tenha uma política que permita SIP, abrindo assim a porta 5060 para mensagens de sinalização SIP.
Figura 1: Configuração
de chamada SIP ALG
O SIP ALG não cria pinholes para tráfego RTP e RTCP quando o endereço IP de destino é 0.0.0.0, o que indica que a sessão está em espera. Para colocar uma sessão em espera durante uma comunicação telefônica, por exemplo, o Cliente A envia ao Cliente B uma mensagem SIP na qual o endereço IP de destino é 0.0.0.0. Isso indica ao Cliente B que ele não deve enviar nenhuma mídia até novo aviso. Se o cliente B enviar mídia de qualquer maneira, o dispositivo descartará os pacotes.
- Entendendo o suporte IPv6 para SIP ALG
- Entendendo o suporte de campo de lâmpada ocupada de escala para o SIP ALG baseado em UDP
- Entendendo os métodos de solicitação SIP ALG
- Visão geral da configuração do SIP ALG
- Entendendo a proteção contra ataques SIP ALG DoS
- Entendendo os tipos de mensagens desconhecidas SIP ALG
- Entendendo a duração e os tempos limite da chamada SIP ALG
Entendendo o suporte IPv6 para SIP ALG
O IPv6 é suportado no SIP ALG junto com o modo NAT-PT e a tradução de endereço NAT64.
O SIP ALG processa o endereço IPv6 da mesma forma que processa o endereço IPv4 para atualizar a carga se o NAT estiver configurado e abrir orifícios para tráfego futuro.
O processamento especial ocorre para os seguintes formatos:
-
IPv6 in SIP URIs— O URI SIP tem a mesma aparência de um URI com endereços IPv4. Como em todos os URIs, um endereço IPv6 é colocado entre colchetes. Os blocos de endereço IPv6 são separados por dois pontos. Em muitas notações, dois pontos separam o nome do host ou endereço IP da porta de protocolo. Para analisar o endereço IPv6 completo e separar a porta, o endereço é encapsulado entre colchetes
-
IPv6 in SDP— Os endereços IPv6 no Protocolo de Descrição de Sessão (SDP) têm o marcador IP6.
-
O SIP ALG com suporte a IPv6 tem a seguinte limitação:
-
Quando NAT64 com NAT persistente é implementado, o SIP ALG adiciona a tradução NAT à tabela de associação de NAT persistente se o NAT estiver configurado no Endereço de Registro (AOR). Como o NAT persistente não pode duplicar o endereço configurado, não há suporte para a coexistência de NAT66 e NAT64 configurados no mesmo endereço.
Apenas uma associação é criada para o mesmo endereço IP de origem.
-
Entendendo o suporte de campo de lâmpada ocupada de escala para o SIP ALG baseado em UDP
O campo de lâmpada ocupado (BLF) é uma luz em um telefone IP que indica se outro ramal conectado à mesma central telefônica privada (PBX) está ocupado ou não. Você pode configurar manualmente o BLF usando uma interface da Web. Quando o BLF é configurado, o telefone se inscreve em uma lista de recursos disponível no PBX IP para ser notificado sobre informações de status de outros ramais. O BLF funciona por meio do Protocolo de Iniciação de Sessão (SIP) e usa as mensagens SUBSCRIBE e NOTIFY. Normalmente, o telefone é o assinante e o PBX IP é o notificador.
Quando um telefone é registrado no PBX IP, o PBX IP notifica o telefone sobre o estado da lista de recursos. Por exemplo, se a lista de recursos for enorme, o corpo da mensagem NOTIFY também será enorme. Como o SIP ALG suporta apenas mensagens SIP de 3000 bytes, ele ignora a enorme mensagem NOTIFY. Se houver muitas instâncias de BLF no corpo da mensagem, a carga não será alterada e o portão não será aberto.
Começando com o Junos OS Release 12.3X48-D15 e o Junos OS Release 17.3R1, o SIP ALG oferece suporte a mensagens SIP de 65.000 bytes no protocolo UDP. No aplicativo BLF de dimensionamento, se cada instância tiver cerca de 500 bytes, o SIP ALG dará suporte a 100 instâncias em uma mensagem SIP UDP.
O suporte BLF para o SIP ALG baseado em UDP inclui os seguintes recursos:
-
O dispositivo pode enviar e receber mensagens SIP de 65.000 bytes.
-
O SIP ALG pode analisar as mensagens SIP de 65.000 bytes e abrir o orifício, se necessário.
-
O SIP ALG regenera a nova mensagem SIP jumbo se o NAT estiver configurado e o payload for alterado.
Entendendo os métodos de solicitação SIP ALG
O modelo de transação SIP (Session Initiation Protocol) inclui várias mensagens de solicitação e resposta, cada uma contendo um method campo que indica a finalidade da mensagem.
O Junos OS oferece suporte aos seguintes tipos de método e códigos de resposta:
-
INVITE — Um usuário envia uma solicitação INVITE para convidar outro usuário para participar de uma sessão. O corpo de uma solicitação INVITE pode conter a descrição da sessão.
-
ACK — O usuário do qual o INVITE se originou envia uma solicitação ACK para confirmar o recebimento da resposta final à solicitação INVITE. Se a solicitação INVITE original não contiver a descrição da sessão, a solicitação ACK deverá incluí-la.
-
OPÇÕES — O UA (User Agent, agente de usuário) obtém informações sobre os recursos do proxy SIP. Um servidor responde com informações sobre quais métodos, protocolos de descrição de sessão e codificação de mensagens ele suporta.
-
BYE — Um usuário envia uma solicitação BYE para abandonar uma sessão. Uma solicitação BYE de qualquer usuário encerra automaticamente a sessão.
-
CANCEL — Um usuário envia uma solicitação CANCEL para cancelar uma solicitação INVITE pendente. Uma solicitação CANCEL não terá efeito se o servidor SIP que processa o INVITE tiver enviado uma resposta final para o INVITE antes de receber o CANCEL.
-
REGISTER — Um usuário envia uma solicitação REGISTER a um servidor de registrador SIP para informá-lo sobre a localização atual do usuário. Um servidor de registrador SIP registra todas as informações recebidas em solicitações REGISTER e disponibiliza essas informações para qualquer servidor SIP que tente localizar um usuário.
-
Info — usado para comunicar informações de sinalização no meio da sessão ao longo do caminho de sinalização da chamada.
-
Subscribe — Usado para solicitar atualizações de estado e estado atuais de um nó remoto.
-
Notificar — Enviado para informar os assinantes sobre mudanças no estado para o qual o assinante tem uma assinatura.
-
Referir — Usado para encaminhar o destinatário (identificado pelo URI da solicitação) a terceiros pelas informações de contato fornecidas na solicitação.
Por exemplo, se o usuário A em uma rede privada indicar o usuário B, em uma rede pública, ao usuário C, que também está na rede privada, o SIP Camada de Aplicativo Gateway (ALG) alocará um novo endereço IP e número de porta para o usuário C para que o usuário C possa ser contatado pelo usuário B. Se o usuário C estiver registrado em um registrador, no entanto, seu mapeamento de porta será armazenado na tabela ALG Network Address Translation (NAT) e será reutilizado para executar a tradução.
-
Atualizar — Usado para abrir pinhole para informações de SDP novas ou atualizadas. Os campos de cabeçalho Via:, De:, Para:, ID de chamada:, Contato:, Rota: e Rota de registro: são modificados.
-
1xx, 202, 2xx, 3xx, 4xx, 5xx, 6xx Códigos de Resposta — Usados para indicar o status de uma transação. Os campos de cabeçalho são modificados.
Visão geral da configuração do SIP ALG
O Session Initiation Protocol Camada de aplicativo Gateway (SIP ALG) está desabilitado por padrão no dispositivo SRX — ele deve ser habilitado usando a CLI, se necessário. Em outros dispositivos, ele é ativado por padrão. Para ajustar as operações SIP ALG, use as seguintes instruções:
-
Controle a atividade de chamada SIP. Para obter instruções, consulte Exemplo: Configurando a duração e os tempos limite da chamada SIP ALG.
-
Proteja o servidor proxy SIP contra ataques de inundação de negação de serviço (DoS). Para obter instruções, consulte Exemplo: Configuração da proteção contra ataques SIP ALG DoS.
-
Permite que mensagens desconhecidas passem quando a sessão estiver no modo Network Address Translation (NAT) e no modo de rota. Para obter instruções, consulte Exemplo: Permitindo tipos de mensagem SIP ALG desconhecidos.
-
Acomode fluxos de chamadas SIP proprietários. Para obter instruções, consulte Retenção de recursos de retenção SIP ALG (procedimento CLI)
Entendendo a proteção contra ataques SIP ALG DoS
A capacidade do servidor proxy SIP (Session Initiation Protocol) de processar chamadas pode ser afetada por solicitações SIP INVITE repetidas — solicitações que ele inicialmente negou. O recurso de proteção de negação de serviço (DoS) permite que você configure o dispositivo para monitorar solicitações INVITE e respostas do servidor proxy a elas. Se uma resposta contiver um código de resposta 3xx, , 4xx ou 5xx diferente de 401, 407, 487 e 488 que não sejam respostas de falha reais, a solicitação não deverá ser bloqueada. Consulte Noções básicas sobre SIP, ALG e NAT. O ALG armazena o endereço IP de origem da solicitação e o endereço IP do servidor proxy em uma tabela. Posteriormente, o dispositivo verifica todas as solicitações INVITE nessa tabela e, por um número configurável de segundos (o padrão é 3), descarta todos os pacotes que correspondem às entradas na tabela. Você pode configurar o dispositivo para monitorar e negar solicitações INVITE repetidas a todos os servidores proxy ou pode proteger um servidor proxy específico especificando o endereço IP de destino. A proteção contra ataques SIP é configurada globalmente.
Entendendo os tipos de mensagens desconhecidas SIP ALG
Esse recurso permite que você especifique como as mensagens SIP (Protocolo de Iniciação de Sessão) não identificadas são tratadas pelo dispositivo. O padrão é descartar mensagens desconhecidas (sem suporte).
Não recomendamos permitir mensagens desconhecidas porque elas podem comprometer a segurança. No entanto, em um ambiente seguro de teste ou produção, esse comando pode ser útil para resolver problemas de interoperabilidade com equipamentos de fornecedores diferentes. Permitir mensagens SIP desconhecidas pode ajudá-lo a colocar sua rede operacional para que você possa analisar posteriormente seu tráfego de voz sobre IP (VoIP) para determinar por que algumas mensagens estavam sendo descartadas. O recurso de tipo de mensagem SIP desconhecido permite que você configure o dispositivo para aceitar o tráfego SIP contendo tipos de mensagem desconhecidos no modo Network Address Translation (NAT) e no modo de rota.
Essa opção se aplica somente a pacotes recebidos identificados como pacotes VoIP com suporte. Se um pacote não puder ser identificado, ele sempre será descartado. Se um pacote for identificado como um protocolo suportado e você tiver configurado o dispositivo para permitir tipos de mensagem desconhecidos, a mensagem será encaminhada sem processamento.
Entendendo a duração e os tempos limite da chamada SIP ALG
Os recursos de duração e tempo limite da chamada oferecem controle sobre a atividade de chamada do SIP (Protocolo de Iniciação de Sessão) e ajudam a gerenciar os recursos da rede.
Normalmente, uma chamada termina quando um dos clientes envia uma solicitação BYE ou CANCEL. O Gateway de Camada de aplicativo (ALG) SIP intercepta a solicitação BYE ou CANCEL e remove todas as sessões de mídia para essa chamada. Pode haver motivos ou problemas que impeçam os clientes em uma chamada de enviar solicitações BYE ou CANCEL, por exemplo, uma falha de energia. Nesse caso, a chamada pode continuar indefinidamente, consumindo recursos no dispositivo.
Uma chamada pode ter um ou mais canais de voz. Cada canal de voz tem duas sessões (ou dois fluxos de mídia), uma para tráfego RTP (Real-Time Transport Protocol) e outra para sinalização RTCP (Real-Time Control Protocol). Ao gerenciar as sessões, o dispositivo considera as sessões em cada canal de voz como um grupo. As configurações de tempo limite e duração da chamada se aplicam a um grupo em vez de cada sessão.
Os seguintes parâmetros controlam a atividade de chamada SIP:
-
inactive-media-timeout— Este parâmetro indica o período máximo de tempo (em segundos) em que uma chamada pode permanecer ativa sem nenhum tráfego de mídia (RTP ou RTCP) dentro de um grupo. Cada vez que um pacote RTP ou RTCP ocorre em uma chamada, esse tempo limite é redefinido. Quando o período de inatividade excede essa configuração, as aberturas temporárias (orifícios) no firewall que o SIP ALG abriu para mídia são fechadas. A configuração padrão é de 120 segundos e o intervalo é de 10 a 2550 segundos. Observe que, após o tempo limite, os recursos de mídia (sessões e orifícios) são removidos e as chamadas SIP no dispositivo também serão encerradas se todos os recursos de mídia dessa chamada forem removidos. -
maximum-call-duration— Este parâmetro define o comprimento máximo absoluto de uma chamada. Quando uma chamada excede essa configuração de parâmetro, o SIP ALG destrói a chamada e libera as sessões de mídia. A configuração padrão é de 720 minutos e o intervalo é de 3 a 720 minutos. -
t1-interval— Este parâmetro especifica a estimativa de tempo de ida e volta, em segundos, de uma transação entre endpoints. O padrão é 500 milissegundos. Como muitos temporizadores SIP são dimensionados com o intervalo t1 (conforme descrito no RFC 3261), quando você altera o valor do temporizador de intervalo t1, esses temporizadores SIP também são ajustados. -
t4-interval— Este parâmetro especifica o tempo máximo que uma mensagem permanece na rede. O padrão é 5 segundos e o intervalo é de 5 a 10 segundos. Como muitos temporizadores SIP são dimensionados com o intervalo t4 (conforme descrito no RFC 3261), quando você altera o valor do temporizador de intervalo t4, esses temporizadores SIP também são ajustados. -
c-timeout— Este parâmetro especifica o tempo limite da transação INVITE no proxy, em minutos; O padrão é 3. Como o SIP ALG está no meio, em vez de usar o valor do temporizador de transação INVITE B (que é (64 * T1) = 32 segundos), o SIP ALG obtém seu valor de temporizador do proxy.
Entendendo os recursos de retenção SIP ALG
Quando um usuário coloca uma chamada em espera, o Session Initiation Protocol Layer de aplicativo Gateway (SIP ALG) libera recursos de mídia do Session Description Protocol (SDP), como pinholes e contextos de tradução. Quando o usuário retoma a chamada, uma mensagem de solicitação INVITE negocia uma nova oferta e resposta de SDP e o SIP ALG realoca recursos para o fluxo de mídia. Isso pode resultar em novos endereços IP traduzidos e números de porta para a descrição da mídia, mesmo quando a descrição da mídia é a mesma que a descrição anterior. Isso é compatível com RFC 3264 Um modelo de oferta/resposta com o Protocolo de Descrição de Sessão (SDP).
Algumas implementações SIP proprietárias projetaram fluxos de chamada para que o módulo User Agent (UA) ignore a nova oferta SDP INVITE e continue a usar a oferta SDP da negociação anterior. Para acomodar essa funcionalidade, você deve configurar o dispositivo para reter recursos de mídia SDP quando uma chamada é colocada em espera para reutilização quando a chamada é retomada.
Retenção de recursos de retenção SIP ALG (procedimento CLI)
Para acomodar fluxos de chamada SIP proprietários:
user@host# set security alg sip retain-hold-resource
Entendendo o SIP, ALG e NAT
O protocolo Network Address Translation (NAT) permite que vários hosts em uma sub-rede privada compartilhem um único endereço IP público para acessar a Internet. Para o tráfego de saída, o NAT substitui o endereço IP privado do host na sub-rede privada pelo endereço IP público. Para tráfego de entrada, o endereço IP público é convertido novamente no endereço privado e a mensagem é roteada para o host apropriado na sub-rede privada.
Usar o NAT com o serviço SIP (Session Initiation Protocol) é mais complicado porque as mensagens SIP contêm endereços IP nos cabeçalhos SIP, bem como no corpo do SIP. Ao usar o NAT com o serviço SIP, os cabeçalhos SIP contêm informações sobre o chamador e o receptor, e o dispositivo traduz essas informações para ocultá-las da rede externa. O corpo SIP contém as informações do Protocolo de Descrição de Sessão (SDP), que inclui endereços IP e números de porta para transmissão da mídia. O dispositivo traduz informações de SDP para alocação de recursos para enviar e receber a mídia.
A substituição dos endereços IP e números de porta nas mensagens SIP depende da direção da mensagem. Para uma mensagem de saída, o endereço IP privado e o número da porta do cliente são substituídos pelo endereço IP público e pelo número da porta do firewall da Juniper Networks. Para uma mensagem de entrada, o endereço público do firewall é substituído pelo endereço privado do cliente.
Quando uma mensagem INVITE é enviada pelo firewall, o SIP Camada de aplicativo Gateway (ALG) coleta informações do cabeçalho da mensagem em uma tabela de chamadas, que ele usa para encaminhar mensagens subsequentes para o endpoint correto. Quando uma nova mensagem chega, por exemplo, um ACK ou 200 OK, o ALG compara os campos "De:, Para: e ID da chamada:" com a tabela de chamada para identificar o contexto de chamada da mensagem. Se chegar uma nova mensagem INVITE que corresponda à chamada existente, a ALG a processará como um REINVITE.
Quando uma mensagem contendo informações de SDP chega, o ALG aloca portas e cria um mapeamento NAT entre elas e as portas no SDP. Como o SDP requer portas sequenciais para os canais RTP (Real-Time Transport Protocol) e RTCP (Real-Time Control Protocol), o ALG fornece portas pares e ímpares consecutivas. Se não conseguir localizar um par de portas, ele descarta a mensagem SIP.
O IPv6 é suportado no SIP ALG junto com o modo NAT-PT e a tradução de endereço NAT64.
Este tópico contém as seguintes seções:
- Chamadas efetuadas
- Chamadas recebidas
- Chamadas encaminhadas
- Terminação de chamadas
- Mensagens de reconvite de chamada
- Temporizadores de sessão de chamada
- Cancelamento de chamadas
- Bifurcação
- Mensagens SIP
- Cabeçalhos SIP
- Corpo SIP
- Cenário SIP NAT
- Classes de respostas SIP
- Modo NAT no modo IPv6 puro (NAT66) para SIP IPv6 ALG
- NAT-PT
- NAT64
- STUN e SIP ALG
Chamadas efetuadas
Quando uma chamada SIP é iniciada com uma mensagem de solicitação SIP da rede interna para a externa, o NAT substitui os endereços IP e números de porta no SDP e vincula os endereços IP e números de porta ao firewall da Juniper Networks. Via, Contato, Rota e Registro-Rota Os campos de cabeçalho SIP, se presentes, também estão vinculados ao endereço IP do firewall. O ALG armazena esses mapeamentos para uso em retransmissões e para mensagens de resposta SIP.
O SIP ALG então abre orifícios no firewall para permitir que a mídia através do dispositivo nas portas atribuídas dinamicamente negociadas com base nas informações no SDP e nos campos de cabeçalho Via, Contact e Record-Route. Os orifícios também permitem que os pacotes de entrada alcancem os endereços IP e portas de contato, via e rota de registro. Ao processar o tráfego de retorno, o ALG insere os campos SIP originais de Contato, Via, Rota e Registro-Rota de volta nos pacotes.
Chamadas recebidas
As chamadas recebidas são iniciadas da rede pública para endereços NAT estáticos públicos ou para endereços IP de interface no dispositivo. NATs estáticos são endereços IP configurados estaticamente que apontam para hosts internos; Os endereços IP da interface são registrados dinamicamente pelo ALG enquanto ele monitora as mensagens REGISTER enviadas por hosts internos ao registrador SIP. Quando o dispositivo recebe um pacote SIP de entrada, ele configura uma sessão e encaminha a carga útil do pacote para o SIP ALG.
O ALG examina a mensagem de solicitação SIP (inicialmente um INVITE) e, com base nas informações do SDP, abre portas para mídia de saída. Quando uma mensagem de resposta 200 OK chega, o SIP ALG executa NAT nos endereços IP e portas e abre orifícios na direção de saída. (Os portões abertos têm um curto tempo de vida e atingem o tempo limite se uma mensagem de resposta 200 OK não for recebida rapidamente.)
Quando uma resposta 200 OK chega, o proxy SIP examina as informações do SDP e lê os endereços IP e os números de porta para cada sessão de mídia. O SIP ALG no dispositivo executa NAT nos endereços e números de porta, abre pinholes para tráfego de saída e atualiza o tempo limite para portões na direção de entrada.
Quando o ACK chega para o 200 OK, ele também passa pelo SIP ALG. Se a mensagem contiver informações de SDP, o SIP ALG garantirá que os endereços IP e os números de porta não sejam alterados em relação ao INVITE anterior — se forem, o ALG excluirá os orifícios antigos e criará novos orifícios para permitir a passagem da mídia. O ALG também monitora os campos SIP Via, Contact e Record-Route e abre novos orifícios se determinar que esses campos foram alterados.
Chamadas encaminhadas
Uma chamada encaminhada é quando, por exemplo, o usuário A fora da rede chama o usuário B dentro da rede e o usuário B encaminha a chamada para o usuário C fora da rede. O SIP ALG processa o CONVITE do usuário A como uma chamada de entrada normal. Mas quando o ALG examina a chamada encaminhada de B para C fora da rede e percebe que B e C são alcançados usando a mesma interface, ele não abre furos no firewall, porque a mídia fluirá diretamente entre o usuário A e o usuário C.
Terminação de chamadas
A mensagem BYE encerra uma chamada. Quando o dispositivo recebe uma mensagem BYE, ele traduz os campos de cabeçalho da mesma forma que faz com qualquer outra mensagem. Mas como uma mensagem BYE deve ser confirmada pelo receptor com um 200 OK, o ALG atrasa a desmontagem da chamada por 5 segundos para dar tempo para a transmissão do 200 OK.
Mensagens de reconvite de chamada
Re-INVITE mensagens, adicione novas sessões de mídia a uma chamada e remova as sessões de mídia existentes. Quando novas sessões de mídia são adicionadas a uma chamada, novos orifícios são abertos no firewall e novas ligações de endereço são criadas. O processo é idêntico à configuração original da chamada. Quando todas as sessões de mídia ou orifícios de mídia são removidos de uma chamada, a chamada é removida quando uma mensagem BYE é recebida.
Temporizadores de sessão de chamada
Como medida de precaução, o SIP ALG usa valores de tempo limite rígidos para definir a quantidade máxima de tempo que uma chamada pode existir. Isso garante que o dispositivo esteja protegido caso ocorra um dos seguintes eventos:
-
Os sistemas finais travam durante uma chamada e uma mensagem BYE não é recebida.
-
Usuários mal-intencionados nunca enviam um BYE na tentativa de atacar um SIP ALG.
-
Implementações ruins do proxy SIP falham ao processar Record-Route e nunca enviam uma mensagem BYE.
-
Falhas de rede impedem que uma mensagem BYE seja recebida.
Cancelamento de chamadas
Qualquer uma das partes pode cancelar uma chamada enviando uma mensagem CANCELAR. Ao receber uma mensagem CANCEL, o SIP ALG fecha os orifícios no firewall — se algum tiver sido aberto — e libera as ligações de endereço. Antes de liberar os recursos, o ALG atrasa o envelhecimento do canal de controle por aproximadamente 5 segundos para dar tempo para a passagem dos 200 OK finais. A chamada é encerrada quando o tempo limite de 5 segundos expira, independentemente de uma resposta 487 ou não 200 chegar.
Bifurcação
A bifurcação permite que um proxy SIP envie uma única mensagem INVITE para vários destinos simultaneamente. Quando as várias mensagens de resposta 200 OK chegam para a chamada única, o SIP ALG analisa, mas atualiza as informações da chamada com as primeiras 200 mensagens OK recebidas.
Mensagens SIP
O formato de mensagem SIP consiste em uma seção de cabeçalho SIP e o corpo SIP. Em mensagens de solicitação, a primeira linha da seção de cabeçalho é a linha de solicitação, que inclui o tipo de método, o URI de solicitação e a versão do protocolo. Nas mensagens de resposta, a primeira linha é a linha de status, que contém um código de status. Os cabeçalhos SIP contêm endereços IP e números de porta usados para sinalização. O corpo SIP, separado da seção de cabeçalho por uma linha em branco, é reservado para informações de descrição da sessão, que são opcionais. Atualmente, o Junos OS oferece suporte apenas ao SDP. O corpo SIP contém endereços IP e números de porta usados para transportar a mídia.
Cabeçalhos SIP
No exemplo de mensagem de solicitação SIP a seguir, o NAT substitui os endereços IP nos campos de cabeçalho para ocultá-los da rede 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>
A forma como a conversão de endereço IP é executada depende do tipo e da direção da mensagem. Uma mensagem pode ser qualquer uma das seguintes:
-
Solicitação de entrada
-
Resposta de saída
-
Solicitação de saída
-
Resposta de entrada
A Tabela 1 mostra como o NAT é realizado em cada um desses casos. Observe que, para vários dos campos de cabeçalho, o ALG determina mais do que apenas se as mensagens vêm de dentro ou de fora da rede. Ele também deve determinar qual cliente iniciou a chamada e se a mensagem é uma solicitação ou resposta.
|
Solicitação de entrada (de público para privado) |
Para: |
Substituir domínio por endereço local |
|
A partir de: |
Nenhum |
|
|
ID da chamada: |
Nenhum |
|
|
Via: |
Nenhum |
|
|
URI da solicitação: |
Substituir endereço ALG por endereço local |
|
|
Contato: |
Nenhum |
|
|
Rota de registro: |
Nenhum |
|
|
Rota: |
Nenhum |
|
|
Resposta de saída (de privado para público) |
Para: |
Substituir endereço ALG por endereço local |
|
A partir de: |
Nenhum |
|
|
ID da chamada: |
Nenhum |
|
|
Via: |
Nenhum |
|
|
URI da solicitação: |
N/A |
|
|
Contato: |
Substituir endereço local pelo endereço ALG |
|
|
Rota de registro: |
Substituir endereço local pelo endereço ALG |
|
|
Rota: |
Nenhum |
|
|
Solicitação de saída (de privado para público) |
Para: |
Nenhum |
|
A partir de: |
Substituir endereço local pelo endereço ALG |
|
|
ID da chamada: |
Nenhum |
|
|
Via: |
Substituir endereço local pelo endereço ALG |
|
|
URI da solicitação: |
Nenhum |
|
|
Contato: |
Substituir endereço local pelo endereço ALG |
|
|
Rota de registro: |
Substituir endereço local pelo endereço ALG |
|
|
Rota: |
Substituir endereço local pelo endereço ALG |
|
|
Resposta de saída (de público para privado) |
Para: |
Nenhum |
|
A partir de: |
Substituir endereço ALG por endereço local |
|
|
ID da chamada: |
Nenhum |
|
|
Via: |
Substituir endereço ALG por endereço local |
|
|
URI da solicitação: |
N/A |
|
|
Contato: |
Nenhum |
|
|
Rota de registro: |
Substituir endereço ALG por endereço local |
|
|
Rota: |
Substituir endereço ALG por endereço local |
Corpo SIP
As informações de SDP no corpo SIP incluem endereços IP que o ALG usa para criar canais para o fluxo de mídia. A tradução da seção SDP também aloca recursos, ou seja, números de porta para enviar e receber a mídia.
O trecho a seguir de uma seção SDP de exemplo mostra os campos que são convertidos para alocação de recursos.
o=user 2344234 55234434 IN IP410.150.20.3c=IN IP410.150.20.3m=audio43249RTP/AVP 0
As mensagens SIP podem conter mais de um fluxo de mídia. O conceito é semelhante a anexar vários arquivos a uma mensagem de email. Por exemplo, uma mensagem INVITE enviada de um cliente SIP para um servidor SIP pode ter os seguintes 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
O Junos OS oferece suporte a até 6 canais SDP negociados para cada direção, para um total de 12 canais por chamada. Para obter mais informações, consulte Noções básicas sobre o SIP ALG.
Cenário SIP NAT
A Figura 2 e a Figura 3 mostram uma chamada SIP INVITE e 200 OK. Na Figura 2, ph1 envia uma mensagem SIP INVITE para ph2. Observe como os endereços IP nos campos de cabeçalho — mostrados em negrito — são traduzidos pelo dispositivo.
A seção SDP da mensagem INVITE indica onde o chamador está disposto a receber mídia. Observe que o orifício de mídia contém dois números de porta, 52002 e 52003, para RTCP e RTP. O orifício de via/contato fornece o número da porta 5060 para sinalização SIP.
Observe como, na mensagem de resposta 200 OK na Figura 3, as traduções realizadas na mensagem INVITE são revertidas. Os endereços IP nesta mensagem, sendo públicos, não são traduzidos, mas os portões são abertos para permitir que o fluxo de mídia acesse a rede privada.
1 do SIP NAT
2 do SIP NAT
Classes de respostas SIP
As respostas SIP fornecem informações de status sobre transações SIP e incluem um código de resposta e uma frase de motivo. As respostas SIP são agrupadas nas seguintes classes:
-
Informativo (100 a 199) — Solicitação recebida, continuando a processá-la.
-
Sucesso (200 a 299) — Ação recebida, compreendida e aceita com sucesso.
-
Redirecionamento (300 a 399) — Ação adicional necessária para concluir a solicitação.
-
Erro do cliente (400 a 499) — A solicitação contém sintaxe incorreta ou não pode ser atendida neste servidor.
-
Erro de servidor (500 a 599) — O servidor falhou ao atender a uma solicitação aparentemente válida.
-
Falha global (600 a 699) — A solicitação não pode ser atendida em nenhum servidor.
A Tabela 2 fornece uma lista completa das respostas SIP atuais.
|
Informativo |
100 tentativas |
180 Toque |
A chamada 181 está sendo encaminhada |
|
182 na fila |
183 Progresso da sessão |
|
|
|
Sucesso |
200 OK |
202 Aceito |
|
|
Redirecionamento |
300 opções múltiplas |
301 Movido permanentemente |
302 Movido temporariamente |
|
305 Usar proxy |
Serviço alternativo 380 |
|
|
|
Erro do cliente |
400 Solicitação incorreta |
401 Não autorizado |
402 Pagamento necessário |
|
403 Proibido |
404 Não encontrado |
405 Método não permitido |
|
|
406 Não aceitável |
407 Requer autenticação de proxy |
408 Tempo limite da solicitação |
|
|
409 Conflito |
410 Desaparecido |
411 Comprimento necessário |
|
|
413 Entidade de solicitação muito grande |
414 URL de solicitação muito grande |
415 Tipo de mídia não suportado |
|
|
420 Extensão ruim |
480 Temporariamente indisponível |
481 O trecho/transação de chamada não existe |
|
|
482 Loop detectado |
483 Muitos saltos |
484 Endereço incompleto |
|
|
485 Ambíguo |
486 Ocupado aqui |
487 Solicitação cancelada |
|
|
488 Não aceitável aqui |
|
|
|
|
Erro de servidor |
500 Erro interno do servidor |
501 Não implementado |
502 Gateway incorreto |
|
502 Serviço indisponível |
504 Tempo limite do gateway |
Versão 505 SIP não suportada |
|
|
Falha global |
600 Ocupado em todos os lugares |
603 Declínio |
604 Não existe em lugar nenhum |
|
606 Não aceitável |
|
|
Modo NAT no modo IPv6 puro (NAT66) para SIP IPv6 ALG
O SIP IPv6 ALG suporta NAT66 assim como NAT44. O NAT66 (IPv6 NAT) fornece funções NAT de origem e NAT estáticas semelhantes ao NAT44 (IPv4 NAT).
NAT-PT
Network Address Translation Protocol Translation (NAT-PT) (RFC 2766) é um mecanismo de tradução de protocolo que permite a comunicação entre nós somente IPv6 e IPv4 por meio da tradução independente de protocolo de datagramas IPv4 e IPv6, não exigindo informações de estado para a sessão.
NAT-PT é implementado por NAT normal do endereço IPv6 para o endereço IPv4 e vice-versa. O SIP ALG processa essas traduções de endereços no payload da mesma forma que os endereços são processados no NAT normal.
O NAT-PT vincula os endereços na rede IPv6 aos endereços na rede IPv4 e vice-versa para fornecer roteamento transparente para os datagramas que atravessam entre os domínios de endereço.
A principal vantagem do NAT-PT é que os dispositivos finais e as redes podem executar endereços IPv4 ou IPv6 e o tráfego pode ser iniciado de qualquer lado.
NAT64
O NAT64 é um mecanismo para permitir que hosts IPv6 se comuniquem com servidores IPv4. O NAT64 é necessário para manter o mapeamento de endereços IPv6 para IPv4. Esse mapeamento de endereço é configurado estaticamente pelo administrador do sistema (tradução sem estado) ou, mais frequentemente, criado automaticamente quando o primeiro pacote da rede IPv6 atinge o NAT64 para ser traduzido (stateful).
O NAT64 é implementado em dispositivos usando NAT persistente. Quando a primeira mensagem de solicitação SIP (o primeiro pacote deve ser apenas do IPv6) atravessa o DUT, a vinculação de endereços é criada e, em seguida, os pacotes podem fluir em ambas as direções.
O mecanismo NAT64 converte pacotes IPv6 em pacotes IPv4 e vice-versa, o que permite que os clientes IPv6 entrem em contato com os servidores IPv4 usando UDP, TCP ou ICMP unicast. O comportamento do NAT-PT e do NAT64 parece semelhante, mas esses mecanismos são implementados de forma diferente.
Quando NAT64 com NAT persistente é implementado, o SIP ALG com suporte a IPv6 adiciona a conversão de NAT à tabela de associação de NAT persistente se o NAT estiver configurado no endereço de registro. Como o NAT persistente não pode duplicar o endereço configurado, não há suporte para a coexistência de NAT66 e NAT64 configurados no mesmo endereço.
Apenas uma associação é criada para o mesmo endereço IP de origem.
STUN e SIP ALG
Session Traversal Concessionárias for NAT (STUN) é uma solução para fazer o VoIP funcionar através de NAT e firewall.
Anteriormente, o STUN funcionava sem o SIP ALG. Isso significa que o SIP ALG não estava envolvido quando o NAT persistente foi configurado.
O STUN pode coexistir com o SIP ALG e o SIP ALG está envolvido quando o NAT persistente está configurado.
Entendendo o suporte a chamadas SIP ALG de entrada usando o registrador SIP e o NAT
O registro do Protocolo de Iniciação de Sessão (SIP) fornece um recurso de descoberta pelo qual os proxies SIP e os servidores de localização podem identificar o local ou locais onde os usuários desejam ser contatados. Um usuário registra um ou mais locais de contato enviando uma mensagem REGISTER ao registrador. Os campos Para e Contato na mensagem REGISTER contêm o URI (Uniform Resource Identifier) do endereço de registro e um ou mais URIs de contato, conforme mostrado na figura abaixo. O registro cria associações em um serviço de local que associa o endereço de registro ao endereço ou endereços de contato.
O dispositivo monitora mensagens REGISTER de saída, executa Network Address Translation (NAT) nesses endereços e armazena as informações em uma tabela NAT de entrada. Em seguida, quando uma mensagem INVITE é recebida de fora da rede, o dispositivo usa a tabela NAT de entrada para identificar para qual host interno rotear a mensagem INVITE. Você pode aproveitar o serviço de registro de proxy SIP para permitir chamadas recebidas configurando pools NAT ou NAT de origem de interface na interface de saída do dispositivo. O NAT de origem da interface é adequado para lidar com chamadas de entrada em um pequeno escritório, enquanto recomendamos configurar pools de NAT de origem para redes maiores ou um ambiente corporativo.
O suporte a chamadas recebidas usando o NAT de origem da interface ou um pool NAT de origem é suportado apenas para serviços SIP e H.323. Para chamadas recebidas, o Junos OS atualmente oferece suporte apenas a UDP e TCP. No momento, também não há suporte para a resolução de nomes de domínio; portanto, os URIs devem conter endereços IP, conforme mostrado na figura abaixo.
SIP
Exemplo: configuração da duração e dos tempos limite da chamada SIP ALG
Este exemplo mostra como definir a duração da chamada e o tempo limite de inatividade de mídia.
Requerimentos
Antes de começar, examine os recursos de duração e tempo limite da chamada usados para controlar a atividade de chamada SIP. Consulte Noções básicas sobre a duração e os tempos limite da chamada SIP ALG.
Visão geral
Os recursos de duração da chamada e tempo limite de mídia de inatividade ajudam você a conservar os recursos da rede e maximizar a taxa de transferência.
O maximum-call-duration parâmetro define o período máximo permitido de tempo que uma chamada pode estar ativa. Quando a duração é excedida, o SIP ALG destrói a chamada e libera as sessões de mídia. A configuração padrão é de 720 minutos e o intervalo é de 3 a 720 minutos. Essa configuração também libera largura de banda nos casos em que as chamadas não são encerradas corretamente.
O inactive-media-timeout parâmetro indica o período máximo de tempo (em segundos) em que uma chamada pode permanecer ativa sem nenhum tráfego de mídia (RTP ou RTPC) em um grupo. Cada vez que um pacote RTP ou RTCP ocorre em uma chamada, esse tempo limite é redefinido. Quando o período de inatividade excede essa configuração, as aberturas temporárias SIP ALG (orifícios) para mídia no firewall são fechadas. A configuração padrão é de 120 segundos e o intervalo é de 10 a 2550 segundos. Após o tempo limite, enquanto os recursos de mídia (sessões e orifícios) são removidos, a chamada não é encerrada.
Neste exemplo, a duração da chamada é definida como 36000 segundos e o tempo limite de inatividade de mídia é definido como 90 segundos.
Configuração
Tramitação processual
Configuração rápida da GUI
Procedimento passo a passo
Para definir a duração da chamada SIP ALG e o tempo limite de inatividade de mídia:
-
Selecione Configurar >Segurança >ALG.
-
Selecione a guia SIP .
-
No campo Duração máxima da chamada, digite
600. -
No campo Tempo limite de mídia inativo, insira
90. -
Clique em OK para verificar sua configuração e salvá-la como uma configuração candidata.
-
Se terminar de configurar o dispositivo, clique em Opções de confirmação >Confirmar.
Procedimento passo a passo
Para definir a duração da chamada SIP ALG e o tempo limite de inatividade de mídia:
-
Configure a duração da chamada SIP ALG.
[edit] user@host# set security alg sip maximum-call-duration 600
-
Configure o tempo limite da mídia de inatividade SIP ALG.
[edit] user@host# set security alg sip inactive-media-timeout 90
-
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@host# commit
Verificação
Para verificar se a configuração está funcionando corretamente, insira o show security alg sip comando.
Exemplo: configuração da proteção contra ataques SIP ALG DoS
Este exemplo mostra como configurar o recurso de proteção contra ataques DoS.
Requerimentos
Antes de começar, examine o recurso de proteção contra ataques DoS usado para controlar a atividade de chamadas SIP. Consulte Noções básicas sobre a proteção contra ataques SIP ALG DoS.
Visão geral
A capacidade do servidor proxy SIP de processar chamadas pode ser afetada por solicitações SIP INVITE repetidas — solicitações que o servidor inicialmente negou. O recurso de proteção contra DoS permite que você configure o dispositivo para monitorar solicitações INVITE e respostas do servidor proxy a elas.
Neste exemplo, o dispositivo está configurado para proteger um único servidor proxy SIP (10.1.1.3) contra solicitações INVITE repetidas para as quais o serviço já foi negado. Os pacotes são descartados por um período de 5 segundos, após o qual o dispositivo retoma o encaminhamento de solicitações INVITE dessas fontes.
Configuração
Tramitação processual
Configuração rápida da GUI
Procedimento passo a passo
Para configurar a proteção contra ataques SIP ALG DoS:
-
Selecione Configurar>Segurança>ALG.
-
Selecione a guia SIP .
-
Na área Ativar proteção contra ataques, clique na opção Servidores selecionados .
-
Na caixa IP de destino, insira
10.1.1.3e clique em Adicionar. -
Clique em OK para verificar sua configuração e salvá-la como uma configuração candidata.
-
Se terminar de configurar o dispositivo, clique em Opções de Confirmação>Confirmar.
Procedimento passo a passo
Para configurar a proteção contra ataques SIP ALG DoS:
-
Configure o dispositivo para proteger um único servidor proxy SIP.
[edit] user@host# set security alg sip application-screen protect deny destination-ip 10.1.1.3
Observação:O IPv6 é suportado no SIP ALG junto com o modo Network Address Translation Protocol Translation (NAT-PT) e a tradução de endereço NAT64.
O tipo de <endereço IP de destino> é alterado de endereço IPv4 para prefixo IP para suportar todos os tipos de endereços IP e, correspondentemente, um prefixo é suportado para permitir vários endereços IP.
-
Configure o dispositivo para o período de tempo limite de negação.
[edit] user@host# set security alg sip application-screen protect deny timeout 5
-
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@host# commit
Verificação
Para verificar se a configuração está funcionando corretamente, insira o show security alg sip comando.
Exemplo: permitir tipos de mensagem SIP ALG desconhecidos
Este exemplo mostra como permitir tipos de mensagens desconhecidos.
Requerimentos
Antes de começar, examine como as mensagens SIP não identificadas são tratadas pelo dispositivo. Consulte Entendendo os tipos de mensagem desconhecidos SIP ALG.
Visão geral
Neste exemplo, você configura o dispositivo para permitir tipos de mensagens desconhecidos no tráfego SIP no modo NAT e no modo de rota. O padrão é descartar mensagens desconhecidas (sem suporte).
Configuração
Tramitação processual
Configuração rápida da GUI
Procedimento passo a passo
Para permitir tipos de mensagem SIP ALG desconhecidos:
-
Selecione Configurar>Segurança>ALG.
-
Selecione a guia SIP .
-
Marque a caixa de seleção Habilitar permissão NAT aplicada .
-
Marque a caixa de seleção Habilitar Permissão roteada .
-
Clique em OK para verificar sua configuração e salvá-la como uma configuração candidata.
-
Se terminar de configurar o dispositivo, clique em Opções de Confirmação>Confirmar.
Procedimento passo a passo
Para permitir tipos de mensagem SIP ALG desconhecidos:
-
Configure o dispositivo para permitir tipos de mensagens desconhecidos no tráfego SIP.
[edit] user@host# set security alg sip application-screen unknown-message permit-nat-applied permit-routed
-
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@host# commit
Verificação
Para verificar se a configuração está funcionando corretamente, insira o show security alg sip comando.
Exemplo: configurar o NAT da origem da interface para chamadas SIP recebidas
Este exemplo mostra como configurar uma regra NAT de origem em uma interface de zona pública permitindo que o NAT seja usado para chamadas SIP de entrada.
Requerimentos
Antes de começar, entenda como o NAT funciona com o SIP ALG. Consulte Noções básicas sobre SIP, ALG e NAT.
Visão geral
Em um cenário de duas zonas com o servidor proxy SIP em uma zona externa, você pode usar o NAT para chamadas de entrada configurando uma regra NAT de origem na interface na zona pública ou externa.
Neste exemplo (consulte a Figura 5), phone1 está na interface ge-0/0/0 na zona privada e phone2 e o servidor proxy estão na interface ge-0/0/2 na zona pública. Você configura uma regra NAT de origem na interface pública ge-0/0/2.0.
Topologia
A Figura 5 mostra o NAT de origem para chamadas SIP recebidas.
SIP recebidas
Neste exemplo, depois de criar zonas chamadas privadas e públicas e atribuí-las a interfaces, você configura catálogos de endereços a serem usados no conjunto de regras NAT de origem. Em seguida, você configura o NAT de origem definindo um conjunto de regras chamado sip-phones e uma regra chamada phone1 que corresponde a qualquer pacote do endereço de origem 10.1.1.2/32.
Por fim, você cria políticas de segurança para permitir todo o tráfego SIP entre as zonas privadas e públicas.
Configuração
Tramitação processual
Configuração rápida da CLI
Para configurar rapidamente esta seção do exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede, copie e cole os comandos na CLI no nível de [edit] hierarquia e, em seguida, entre commit no modo de configuração.
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
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar uma regra NAT de origem em uma interface 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 e atribua-as às 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 catálogos de endereços e crie endereços.
[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 um conjunto de regras NAT de origem.
[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 a tradução NAT de origem persistente.
[edit security nat source] user@host# set address-persistent -
Configure uma política de segurança para permitir o tráfego SIP de saída.
[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 uma política de segurança para permitir o tráfego SIP de entrada.
[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
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show security zones, , show security policiese show security nat . Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
[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;
}
}
}
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Para confirmar se a configuração está funcionando corretamente, execute estas tarefas:
Verificando o uso da regra NAT de origem
Finalidade
Verifique se há tráfego correspondente à regra NAT de origem.
Ação
Do modo operacional, insira o show security nat source rule all comando. Exiba o campo Ocorrências de tradução para verificar se há tráfego que corresponda à regra.
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
O Translation hits campo mostra que não há tráfego correspondente à regra NAT de origem.
Verificando o status do SIP ALG
Finalidade
Verifique se o SIP ALG está habilitado em seu sistema.
Ação
Do modo operacional, insira o 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
A saída mostra o status SIP ALG da seguinte maneira:
-
Habilitado — Mostra que o SIP ALG está habilitado.
-
Desabilitado — Mostra que o SIP ALG está desabilitado.
Exemplo: diminuir a complexidade da rede configurando um pool NAT de origem para chamadas SIP recebidas
Este exemplo mostra como diminuir a complexidade da rede configurando um pool NAT de origem em uma interface externa para habilitar o NAT para chamadas SIP de entrada.
Requerimentos
Antes de começar, entenda como o NAT funciona com o SIP ALG. Consulte Noções básicas sobre SIP, ALG e NAT.
Visão geral
Em um cenário de duas zonas com o servidor proxy SIP em uma zona externa ou pública, você pode usar o NAT para chamadas de entrada configurando um pool NAT na interface para a zona pública.
Neste exemplo (consulte a Figura 6), phone1 está na zona privada e phone2 e o servidor proxy estão na zona pública. Você configura um pool NAT de origem para fazer NAT. Você também cria uma política que permite o tráfego SIP da zona privada para a pública. Isso permite que phone1 na zona privada se registre no servidor proxy na zona pública e também permite chamadas de entrada da zona pública para a zona privada.
Topologia
A Figura 6 mostra o pool NAT de origem para chamadas recebidas.
SIP recebidas
Neste exemplo, você configura o NAT de origem da seguinte maneira:
-
Defina o pool NAT de origem chamado sip-nat-pool para conter o intervalo de endereços IP de 172.16.1.20/32 a 172.16.1.40/32.
-
Crie um conjunto de regras NAT de origem chamado sip-nat com uma regra sip-r1 para combinar pacotes da zona privada com a zona pública com o endereço IP de origem 10.1.1.3/24. Para pacotes correspondentes, o endereço de origem é convertido em um dos endereços IP em sip-nat-pool.
-
Configure o ARP proxy para os endereços 172.16.1.20/32 a 172.16.1.40/32 na interface ge-0/0/2.0. Isso permite que o sistema responda às solicitações ARP recebidas na interface para esses endereços.
Configuração
Tramitação processual
Configuração rápida da CLI
Para configurar rapidamente esta seção do exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede, copie e cole os comandos na CLI no nível de [edit] hierarquia e, em seguida, entre commit no modo de configuração.
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
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar um pool NAT de origem para chamadas recebidas:
-
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 e atribua interfaces a elas.
[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 catálogos de endereços.
[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 um pool NAT de origem.
[edit security nat] user@host# set source pool sip-nat-pool address 172.16.1.20/32 to 172.16.1.40/32
-
Configure um conjunto de regras NAT de origem com uma regra.
[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 o NAT persistente.
[edit security nat] user@host# set source address-persistent
-
Configure o ARP do 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 uma política de segurança para permitir o tráfego SIP de saída.
[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 uma política de segurança para permitir o tráfego SIP de entrada.
[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
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show security zones, , show security nate show security policies . Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
[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;
}
}
}
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Para confirmar se a configuração está funcionando corretamente, execute estas tarefas:
- Verificando o uso do pool NAT de origem
- Verificando o uso da regra NAT de origem
- Verificando o status do SIP ALG
- Verificando as Políticas de Segurança do SIP ALG
Verificando o uso do pool NAT de origem
Finalidade
Verifique se há tráfego usando endereços IP do pool NAT de origem.
Ação
Do modo operacional, insira o 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
O Translation hits campo mostra que não há tráfego usado por endereços IP do pool NAT de origem.
Verificando o uso da regra NAT de origem
Finalidade
Verifique se há tráfego correspondente à regra NAT de origem.
Ação
Do modo operacional, insira o 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
O Translation hits campo mostra que não há tráfego correspondente à regra NAT de origem.
Verificando o status do SIP ALG
Finalidade
Verifique se o SIP ALG está habilitado em seu sistema.
Ação
Do modo operacional, insira o 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
A saída mostra o status SIP ALG da seguinte maneira:
-
•Habilitado — Mostra que o SIP ALG está habilitado.
-
•Desativado — Mostra que o SIP ALG está desativado.
Verificando as Políticas de Segurança do SIP ALG
Finalidade
Verifique se o NAT de origem entre a zona pública e a zona privada está definido.
Ação
Do modo operacional, insira o 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
A saída de exemplo mostra que o NAT de origem entre a zona pública e a zona privada está definido.
Exemplo: configurar o NAT estático para chamadas SIP recebidas
Este exemplo mostra como configurar um mapeamento NAT estático que permite que os chamadores na zona privada se registrem no servidor proxy na zona pública.
Requerimentos
Antes de começar, entenda como o NAT funciona com o SIP ALG. Consulte Noções básicas sobre SIP, ALG e NAT.
Visão geral
Quando um servidor proxy SIP está localizado em uma zona externa ou pública, você pode configurar o NAT estático na interface pública para permitir que os chamadores na zona privada se registrem no servidor proxy.
Neste exemplo (consulte a Figura 7), phone1 está na interface ge-0/0/0 na zona privada e phone2 e o servidor proxy estão na interface ge-0/0/2 na zona pública. Você cria um conjunto de regras NAT estático chamado incoming-sip com uma regra chamada phone1 para combinar pacotes da zona pública com o endereço de destino 172.16.1.3/32. Para pacotes correspondentes, o endereço IP de destino é convertido para o endereço privado 10.1.1.3/32. Você também cria o ARP proxy para o endereço 172.16.1.3/32 na interface ge-0/0/2.0. Isso permite que o sistema responda às solicitações ARP recebidas na interface para esses endereços. Por fim, você cria uma política de segurança chamada incoming que permite o tráfego SIP da zona pública para a zona privada.
Ao configurar o NAT estático para chamadas SIP de entrada, certifique-se de configurar um endereço público para cada endereço privado na zona privada.
Topologia
A Figura 7 mostra o NAT estático para chamadas recebidas.
recebidas
Configuração
Tramitação processual
Configuração rápida da CLI
Para configurar rapidamente esta seção do exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede, copie e cole os comandos na CLI no nível de [edit] hierarquia e, em seguida, entre commit no modo de configuração.
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
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar o NAT estático para chamadas recebidas:
-
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
-
Crie zonas de segurança.
[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
-
Atribua endereços às zonas de segurança.
[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
-
Crie um conjunto de regras NAT estáticas com uma regra.
[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 o ARP do proxy.
[edit security nat] user@host# set proxy-arp interface ge-0/0/2.0 address 172.16.1.3/32
-
Defina uma política de segurança para permitir a entrada de tráfego SIP.
[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
-
Definir uma política de segurança para permitir o tráfego SIP de saída.
[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
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show security zones, , show security nate show security policies . Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
[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;
}
}
}
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Para confirmar se a configuração está funcionando corretamente, execute estas tarefas:
- Verificando a configuração de NAT estático
- Verificando o status do SIP ALG
- Verificando as Políticas de Segurança do SIP ALG
Verificando a configuração de NAT estático
Finalidade
Verifique se há tráfego correspondente ao conjunto de regras NAT estático.
Ação
Do modo operacional, insira o 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
O Translation hits campo mostra que há tráfego correspondente ao conjunto de regras NAT estático.
Verificando o status do SIP ALG
Finalidade
Verifique se o SIP ALG está habilitado em seu sistema.
Ação
Do modo operacional, insira o 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
A saída mostra o status SIP ALG da seguinte maneira:
-
•Habilitado — Mostra que o SIP ALG está habilitado.
-
•Desativado — Mostra que o SIP ALG está desativado.
Verificando as Políticas de Segurança do SIP ALG
Finalidade
Verifique se o NAT estático entre a zona pública e a zona privada está definido.
Ação
Do modo operacional, insira o 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
A saída de exemplo mostra que o NAT estático entre a zona pública e a zona privada está definido.
Exemplo: configurar o proxy SIP na zona privada e o NAT na zona pública
Este exemplo mostra como configurar um servidor proxy SIP em uma zona privada e NAT estático em uma zona pública para permitir que os chamadores na zona pública se registrem no servidor proxy.
Requerimentos
Antes de começar, entenda como o NAT funciona com o SIP ALG. Consulte Noções básicas sobre SIP, ALG e NAT.
Visão geral
Com o servidor proxy SIP na zona privada, você pode configurar o NAT estático na interface externa ou pública para permitir que os chamadores na zona pública se registrem no servidor proxy.
Neste exemplo (consulte a Figura 8), phone1 e o servidor proxy SIP estão na interface ge-0/0/0 na zona privada e phone2 está na interface ge-0/0/2 na zona pública. Você configura uma regra NAT estática para o servidor proxy para permitir que o phone2 se registre no servidor proxy e, em seguida, cria uma política chamada outgoing que permite que o tráfego SIP da zona pública para a zona privada permita que os chamadores na zona pública se registrem no servidor proxy. Você também configura uma política chamada incoming da zona privada para a pública para permitir que phone1 ligue.
Topologia
A Figura 8 mostra a configuração do proxy SIP na zona privada e do NAT em uma zona pública.
pública
Neste exemplo, você configura o NAT da seguinte maneira:
-
Configure o NAT estático na interface ge-0/0/2 para o servidor proxy com um conjunto de regras chamado incoming-sip com uma regra chamada proxy para combinar pacotes da zona pública com o endereço de destino 172.16.1.2/32. Para pacotes correspondentes, o endereço IP de destino é convertido para o endereço privado 10.1.1.5/32.
-
Configure um segundo conjunto de regras chamado sip-phones com uma regra chamada phone1 para habilitar a interface NAT para comunicação de phone1 para phone2.
Configuração
Tramitação processual
Configuração rápida da CLI
Para configurar rapidamente esta seção do exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede, copie e cole os comandos na CLI no nível de [edit] hierarquia e, em seguida, entre commit no modo de configuração.
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
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar o NAT estático para chamadas recebidas:
-
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 zonas de segurança.
[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
-
Atribua endereços às zonas de segurança.
[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
-
Crie um conjunto de regras para NAT estático e atribua uma regra a ele.
[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 o endereço 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 o segundo conjunto de regras e atribua uma regra a ele.
[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 uma política de segurança para o tráfego de saída.
[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 uma política de segurança para o tráfego de entrada.
[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
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show security zones, , show security nate show security policies . Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
[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;
}
}
}
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Para confirmar se a configuração está funcionando corretamente, execute estas tarefas:
- Verificando a configuração de NAT estático
- Verificando o status do SIP ALG
- Verificando a regra NAT de origem
- Verificando a Sessão de Fluxo de Segurança
Verificando a configuração de NAT estático
Finalidade
Verifique se há tráfego correspondente ao conjunto de regras NAT estático.
Ação
Do modo operacional, insira o show security nat static rule all comando. Exiba o campo Ocorrências de tradução para verificar se há tráfego que corresponda à regra.
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
O Translation hits campo mostra que há 23 tráfegos que correspondem à regra NAT estática.
Verificando o status do SIP ALG
Finalidade
Verifique se o SIP ALG está habilitado em seu sistema.
Ação
Do modo operacional, insira o 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
A saída mostra o status SIP ALG da seguinte maneira:
-
Habilitado — Mostra que o SIP ALG está habilitado.
-
Desabilitado — Mostra que o SIP ALG está desabilitado.
Verificando a regra NAT de origem
Finalidade
Verifique se a configuração da regra NAT de origem.
Ação
Do modo operacional, insira o 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
O Translation hits campo mostra que há 88 tráfegos correspondentes à regra NAT de origem.
Verificando a Sessão de Fluxo de Segurança
Finalidade
Verifique se a conversão do NAT phone1 para phone2.
Ação
Do modo operacional, insira o 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
A saída exibe a conversão NAT phone1 para phone2.
Exemplo: Configuração de um cenário SIP ALG e NAT de três zonas
Este exemplo mostra como configurar um servidor proxy SIP em uma zona privada e NAT estático em uma zona pública para permitir que os chamadores na zona pública se registrem no servidor proxy.
Requerimentos
Antes de começar, entenda como o NAT funciona com o SIP ALG. Consulte Noções básicas sobre SIP, ALG e NAT.
Visão geral
Em uma configuração SIP de três zonas, o servidor proxy SIP geralmente está em uma zona diferente dos sistemas de chamada e chamados. Esse cenário requer configuração adicional de endereço e zona, além de políticas para garantir que todos os sistemas tenham acesso uns aos outros e ao servidor proxy.
Neste exemplo, phone1 está na interface ge-0/0/0.0 na zona privada, phone2 está na interface ge-0/0/2.0 na zona pública e o servidor proxy está na interface ge-0/0/1.0 na DMZ. Você configura a regra NAT estática para phone1 na zona privada. Em seguida, você cria políticas para o tráfego que atravessa da zona privada para a DMZ e da DMZ para a zona privada, da zona pública para a DMZ e da DMZ para a zona pública e da zona privada para a zona pública. As setas na Figura 9 mostram o fluxo do tráfego de sinalização SIP quando o telefone2 na zona pública faz uma chamada para o telefone1 na zona privada. Depois que a sessão é iniciada, os dados fluem diretamente entre phone1 e phone2.
Neste exemplo, você configura o NAT da seguinte maneira:
-
Configure um conjunto de regras NAT estático chamado incoming-sip com uma regra phone1 para combinar pacotes da zona pública com o endereço de destino 10.1.2.3/32. Para pacotes correspondentes, o endereço IP de destino é convertido para o endereço privado 10.1.1.3/32.
-
Configure o proxy ARP para o endereço 10.1.2.3/32 na interface ge-0/0/1.0, permitindo que o sistema responda às solicitações ARP recebidas na interface para este endereço.
-
Configure um segundo conjunto de regras chamado sip-phones com uma regra r1 para habilitar a interface NAT para comunicação do phone1 para o servidor proxy e do phone1 para o phone2.
Configuração
Tramitação processual
Configuração rápida da CLI
Para configurar rapidamente esta seção do exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede, copie e cole os comandos na CLI no nível de [edit] hierarquia e, em seguida, entre commit no modo de configuração.
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
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar um servidor proxy SIP em uma zona privada e um NAT estático em uma zona pública:
-
Crie um conjunto de regras para NAT estático e atribua uma regra a ele.
[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 zonas de segurança.
[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
-
Atribua endereços às zonas de segurança.
[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 a interface NAT para comunicação do telefone1 para o 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 uma política de segurança para permitir o tráfego da zona privada para a zona DMZ.
[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 uma política de segurança para permitir o tráfego da zona pública para a zona DMZ.
[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 uma política de segurança para permitir o tráfego da zona privada para a 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 uma política de segurança para permitir o tráfego da zona pública para a 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 uma política de segurança para permitir o tráfego da zona DMZ para a 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 uma política de segurança para permitir o tráfego da zona DMZ para a 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
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show security zones, , show security nate show security policies . Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
[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;
}
}
}
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Para confirmar se a configuração está funcionando corretamente, execute estas tarefas:
- Verificando o uso da regra NAT de origem
- Verificando o uso da regra NAT estática
- Verificando o status do SIP ALG
Verificando o uso da regra NAT de origem
Finalidade
Verifique se há tráfego correspondente à regra NAT de origem.
Ação
Do modo operacional, insira o show security nat source rule all comando. Exiba o campo Ocorrências de tradução para verificar se há tráfego que corresponda à regra.
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
O Translation hits field mostra que não há tráfego correspondente à regra NAT de origem.
Verificando o uso da regra NAT estática
Finalidade
Verifique se há tráfego correspondente à regra NAT estática.
Ação
Do modo operacional, insira o show security nat static rule all comando. Exiba o campo Ocorrências de tradução para verificar se há tráfego que corresponda à regra.
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
O Translation hits campo mostra que o tráfego corresponde à regra NAT estática.
Verificando o status do SIP ALG
Finalidade
Verifique se o SIP ALG está habilitado em seu sistema.
Ação
Do modo operacional, insira o 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
A saída mostra o status SIP ALG da seguinte maneira:
-
Habilitado — Mostra que o SIP ALG está habilitado.
-
Desabilitado — Mostra que o SIP ALG está desabilitado.
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.