Aplicativos ALG
Configuração de propriedades de aplicativos
Para configurar as propriedades do aplicativo, inclua a application
declaração no nível de [edit applications]
hierarquia:
[edit applications] application application-name { application-protocol protocol-name; child-inactivity-timeout seconds; destination-port port-number; gate-timeout seconds; icmp-code value; icmp-type value; inactivity-timeout value; protocol type; rpc-program-number number; snmp-command command; source-port port-number; ttl-threshold value; uuid hex-value; }
Você pode agrupar objetos de aplicativo configurando a application-set
declaração; para obter mais informações, veja Configurando conjuntos de aplicativos.
Esta seção inclui as seguintes tarefas para configurar aplicativos:
- Configuração de um protocolo de aplicativo
- Configuração do protocolo de rede
- Configurando o código e o tipo do ICMP
- Configuração de portas de origem e destino
- Configurando o período de inatividade
- Configuração de um aplicativo IKE ALG
- Configuração do SIP
- Configuração de um comando SNMP para correspondência de pacotes
- Configuração de um número de programa de RPC
- Configuração do limite de TTL
- Configurando um identificador único universal
Configuração de um protocolo de aplicativo
A application-protocol
declaração permite especificar qual dos protocolos de aplicativo (ALGs) suportados configuram e incluem em um conjunto de aplicativos para processamento de serviços. Para configurar protocolos de aplicativo, inclua a application-protocol
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] application-protocol protocol-name;
A Tabela 1 mostra a lista de protocolos suportados. Para obter mais informações sobre protocolos específicos, veja descrições da ALG.
Nome do protocolo |
Valor de CLI |
Comentários |
---|---|---|
Protocolo Bootstrap (BOOTP) |
|
Oferece suporte ao BOOTP e ao protocolo dinâmico de configuração de host (DHCP). |
Chamada de procedimento remoto de ambiente de computação distribuída (DCE) (RPC) |
|
Exige que a |
Portamap de DCE RPC |
|
Exige que a |
Sistema de nomes de domínio (DNS) |
|
Exige que a |
Exec |
|
Exige que a |
FTP |
|
Exige que a |
H.323 |
|
– |
IKE ALG |
|
Exige que a |
Protocolo de mensagem de controle de Internet (ICMP) |
|
Exige que a |
Protocolo Inter-ORB da Internet |
|
– |
IP |
|
– |
Login |
|
– |
Netbios |
|
Exige que a |
Netshow |
|
Exige que a |
Protocolo de tunelamento ponto a ponto |
|
– |
Realaudio |
|
– |
Protocolo de streaming em tempo real (RTSP) |
|
Exige que a |
Protocolo de datagram do usuário RPC (UDP) ou TCP |
|
Exige que a |
Mapeamento de porta RPC |
|
Exige que a |
Shell |
|
Exige que a |
Protocolo de iniciação de sessão |
|
– |
SNMP |
|
Exige que a |
SQLNet |
|
Exige que a |
Talk Program |
|
|
Trace route |
|
Exige que a |
FTP trivial (TFTP) |
|
Exige que a |
WinFrame |
|
– |
Você pode configurar gateways de nível de aplicativo (ALGs) para ICMP e rastrear rotas sob regras stateful de firewall, NAT ou CoS quando duas vezes o NAT estiver configurado no mesmo conjunto de serviços. Essas ALGs não podem ser aplicadas a fluxos criados pelo Packet Gateway Controller Protocol (PGCP). O NAT duas vezes não oferece suporte a nenhuma outra ALGs. O NAT aplica apenas o endereço IP e os cabeçalhos TCP ou UDP, mas não a carga.
Para obter mais informações sobre a configuração de NAT duas vezes, consulte a visão geral do endereçamento da rede consciente do Junos Address Aware.
Configuração do protocolo de rede
A protocol
declaração permite que você especifique qual dos protocolos de rede suportados corresponderá em uma definição de aplicativo. Para configurar protocolos de rede, inclua a protocol
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] protocol type;
Você especifica o tipo de protocolo como um valor numérico; para os protocolos mais usados, os nomes de texto também são suportados na interface de linha de comando (CLI). A Tabela 2 mostra a lista dos protocolos suportados.
Tipo de protocolo de rede |
Valor de CLI |
Comentários |
---|---|---|
Cabeçalho de autenticação de segurança IP (IPsec) (AH) |
|
– |
Protocolo de gateway externo (EGP) |
|
– |
IPsec encapsulando a carga de segurança (ESP) |
|
– |
Encapsulamento de roteamento genérico (GR) |
|
– |
ICMP |
|
Requer um |
ICMPv6 |
|
Requer um |
Protocolo de gerenciamento de grupos de Internet (IGMP) |
|
– |
IP em IP |
|
– |
OSPF |
|
– |
Protocolo independente multicast (PIM) |
|
– |
Protocolo de reserva de recursos (RSVP) |
|
– |
TCP |
|
Requer um |
UDP |
|
Requer um |
Para obter uma lista completa de possíveis valores numéricos, consulte RFC 1700, Números atribuídos (para o Pacote de protocolo de Internet).
A versão IP 6 (IPv6) não é suportada como um protocolo de rede em definições de aplicativos.
Por padrão, o recurso nat duas vezes pode afetar cabeçalhos IP, TCP e UDP incorporados na carga de mensagens de erro do ICMP. Você pode incluir as declarações e protocol udp
as protocol tcp
declarações com a declaração do aplicativo para duas configurações de NAT. Para obter mais informações sobre a configuração de NAT duas vezes, consulte a visão geral do endereçamento da rede consciente do Junos Address Aware.
Configurando o código e o tipo do ICMP
O código e o tipo do ICMP fornecem especificação adicional, em conjunto com o protocolo de rede, para correspondência de pacotes em uma definição de aplicativo. Para configurar as configurações do ICMP, inclua as declarações e icmp-type
as icmp-code
declarações no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] icmp-code value; icmp-type value;
Você pode incluir apenas um código ICMP e um valor de tipo. A application-protocol
declaração deve ter o valor icmp
. A Tabela 3 mostra a lista de valores de ICMP suportados.
Declaração da CLI |
Descrição |
---|---|
|
Esse valor ou palavra-chave fornece informações mais específicas do que No lugar do valor numérico, você pode especificar um dos seguintes sinônimos de texto (os valores de campo também estão listados). As palavras-chave são agrupadas pelo tipo ICMP com as quais estão associadas: problema de parâmetro: redirecionamento: tempo excedido: inalcançável: |
|
Normalmente, você especifica esta correspondência em conjunto com a declaração de No lugar do valor numérico, você pode especificar um dos seguintes sinônimos de texto (os valores de campo também estão listados): |
Se você configurar uma interface com um filtro de firewall de entrada que inclua uma ação de rejeição e com um conjunto de serviços que inclui regras de firewall stateful, o roteador executa o filtro de firewall de entrada antes que as regras de firewall stateful sejam executadas no pacote. Como resultado, quando o Mecanismo de encaminhamento de pacotes envia uma mensagem de erro do ICMP pela interface, as regras de firewall stateful podem soltar o pacote porque ele não foi visto na direção de entrada.
Possíveis soluções alternativas devem incluir um filtro de tabela de encaminhamento para realizar a ação de rejeição, porque esse tipo de filtro é executado após o firewall stateful na direção de entrada, ou incluir um filtro de serviço de saída para evitar que os pacotes ICMP gerados localmente vão para o serviço de firewall stateful.
Configuração de portas de origem e destino
A porta de origem e destino TCP ou UDP fornece especificação adicional, em conjunto com o protocolo de rede, para correspondência de pacotes em uma definição de aplicativo. Para configurar portas, inclua as declarações e source-port
as destination-port
declarações no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] destination-port value; source-port value;
Você deve definir uma única porta de origem ou destino. Normalmente, você especifica esta correspondência em conjunto com a declaração de protocol
correspondência para determinar qual protocolo está sendo usado na porta; para restrições, veja Tabela 1.
Você pode especificar um valor numérico ou um dos sinônimos de texto listados na Tabela 4.
Nome da porta |
Número de porta correspondente |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para obter mais informações sobre critérios de correspondência, consulte as políticas de roteamento, filtros de firewall e guia de usuário de policiais de tráfego.
Configurando o período de inatividade
Você pode especificar um período de tempo limite para a inatividade do aplicativo. Se o software não tiver detectado nenhuma atividade durante a duração, o fluxo se tornará inválido quando o temporizador expirar. Para configurar um período de tempo limite, inclua a inactivity-timeout
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] inactivity-timeout seconds;
O valor padrão é de 30 segundos. O valor que você configura para um aplicativo substitui qualquer valor global configurado no nível de [edit interfaces interface-name service-options]
hierarquia; para obter mais informações, veja Configurações de tempo limite padrão para interfaces de serviços.
Configuração de um aplicativo IKE ALG
Antes do lançamento do Junos OS 17.4R1, o Network Address Translation-Traversal (NAT-T) não é compatível com o pacote Junos VPN Site Secure de recursos IPsec nos roteadores da Série MX. O IKE ALG permite a passagem de pacotes IKEv1 e IPsec por filtros NAPT-44 e NAT64 entre pares IPsec que não estão em conformidade com o NAT-T. Essa ALG oferece suporte apenas ao modo de túnel ESP. Você pode usar o aplicativo junos-ike
IKE ALG predefinido, que tem valores predefinidos para a porta de destino (500), tempo limite de inatividade (30 segundos), tempo limite do portão (120 segundos) e tempo de sessão esp ocioso (800 segundos). Se você quiser usar o IKE ALG com valores diferentes do aplicativo predefinido junos-ike
, você precisa configurar um novo aplicativo IKE ALG.
Para configurar um aplicativo IKE ALG:
Especifique um nome para o aplicativo.
[edit applications] user@host# set application junos-ike
Especifique o IKE ALG.
[edit applications application junos-ike] user@host# set application-protocol ike-esp-nat
Especifique o protocolo UDP.
[edit applications application junos-ike] user@host# set protocol udp
Especifique o 500 para a porta de destino.
[edit applications application junos-ike] user@host# set destination-port 500
-
Especifique o número de segundos em que a sessão de IKE está inativa antes de ser excluída. O padrão é de 30 segundos.
[edit applications application junos-ike] user@host# set inactivity-timeout seconds
Especifique o número de segundos que podem ser passados após o IKE estabelecer a associação de segurança entre o cliente e o servidor IPsec e antes que o tráfego ESP comece em ambas as direções. Se o tráfego ESP não tiver começado antes desse valor de intervalo, os portões ESP serão excluídos e o tráfego ESP será bloqueado. O padrão é de 120 segundos.
[edit applications application junos-ike] user@host# set gate-timeout seconds
Especifique o tempo de inatividade da sessão esp (tráfego de dados IPsec) em segundos. Se nenhum tráfego de dados IPsec for transmitido na sessão esp neste momento, a sessão será excluída. O padrão é de 800 segundos.
[edit applications application junos-ike] user@host# set child-inactivity-timeout seconds
Configuração do SIP
O Protocolo de Iniciação de Sessão (SIP) é um protocolo generalizado de comunicação entre endpoints envolvidos em serviços de Internet, como telefonia, fax, videoconferência, mensagens instantâneas e troca de arquivos.
O Junos OS fornece serviços ALG de acordo com o padrão descrito na RFC 3261, SIP: Session Initiation Protocol. Os fluxos SIP sob o Junos OS são descritos na RFC 3665, exemplos básicos de fluxo de chamadas do Protocolo de Iniciação de Sessão (SIP).
Antes de implementar o Junos OS SIP ALG, você deve estar familiarizado com certas limitações, discutidas nas limitações do Junos OS SIP ALG
O uso de NAT em conjunto com o SIP ALG resulta em mudanças nos campos de cabeçalho SIP devido à tradução de endereços. Para obter uma explicação dessas tradução, consulte a interação do SIP ALG com a tradução de endereços de rede.
Para implementar o SIP em interfaces de serviços adaptativos, você configura a application-protocol
declaração no nível de [edit applications application application-name]
hierarquia com o valor sip
. Para obter mais informações sobre essa declaração, consulte Configurando um protocolo de aplicativo. Além disso, existem outras duas declarações que você pode configurar para modificar a forma como o SIP é implementado:
Você pode permitir que o roteador aceite quaisquer chamadas SIP de entrada para os dispositivos de endpoint que estão por trás do firewall NAT. Quando um dispositivo por trás do firewall se registra com o proxy que está fora do firewall, o AS ou o PIC de multisserviços mantém o estado de registro. Quando a
learn-sip-register
declaração é habilitada, o roteador pode usar essas informações para aceitar chamadas de entrada. Se essa declaração não estiver configurada, nenhuma chamada de entrada será aceita; apenas os dispositivos por trás do firewall podem chamar dispositivos fora do firewall.Para configurar o registro do SIP, inclua a
learn-sip-register
declaração no nível de[edit applications application application-name]
hierarquia:[edit applications application application-name] learn-sip-register;
Nota:A
learn-sip-register
declaração não é aplicável ao MX-SPC3 de serviços de próxima geração.Você também pode inspecionar manualmente o registro do SIP emitindo o
show services stateful-firewall sip-register
comando; para obter mais informações, consulte a referência de comando de comando do sistema Junos OS. Oshow services stateful-firewall sip-register
comando não é suportado pelos Serviços de próxima geração.Você pode especificar um período de tempo limite para a duração das chamadas SIP que são colocadas em espera. Quando uma chamada é colocada em espera, não há atividade e os fluxos podem sair depois que o período configurado
inactivity-timeout
expirar, resultando em um rompimento do estado de chamada. Para evitar isso, quando uma chamada é colocada em espera, o temporizador de fluxo é reiniciado nosip-call-hold-timeout
ciclo para preservar o estado de chamada e os fluxos por mais tempo do que oinactivity-timeout
período.Nota:A
sip-call-hold-timeout
declaração não é aplicável ao MX-SPC3 de serviços de próxima geração.Para configurar um período de tempo limite, inclua a
sip-call-hold-timeout
declaração no nível de[edit applications application application-name]
hierarquia:[edit applications application application-name] sip-call-hold-timeout seconds;
O valor padrão é de 7200 segundos e o intervalo é de 0 a 36.000 segundos (10 horas).
Interação do SIP ALG com a tradução de endereços de rede
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 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 de volta no endereço privado, e a mensagem é roteada para o host apropriado na sub-rede privada.
Usar o NAT com o serviço Session Initiation Protocol (SIP) é mais complicado porque as mensagens SIP contêm endereços IP nos cabeçalhos SIP, bem como no corpo 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 escondê-la 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 alocar recursos para enviar e receber a mídia.
A forma como os endereços IP e os números de porta nas mensagens SIP são substituídos depende da direção da mensagem. Para uma mensagem de saída, o endereço IP privado e o número de porta do cliente são substituídos pelo endereço IP público e o número de porta do firewall 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 DE CONVITE é enviada por todo o firewall, o GATEWAY de camada de aplicativo SIP (ALG) coleta informações do cabeçalho da mensagem em uma tabela de chamadas, que ela usa para encaminhar mensagens subseqüentes ao endpoint correto. Quando uma nova mensagem chega, por exemplo, uma ACK ou 200 OK, a ALG compara os campos "From:, to:, and Call-ID:" em relação à tabela de chamadas para identificar o contexto de chamada da mensagem. Se chegar uma nova mensagem INVITE que corresponda à chamada existente, a ALG a processa como uma REINVITE.
Quando uma mensagem contendo informações de SDP chega, a ALG aloca portas e cria um mapeamento de NAT entre elas e as portas do SDP. Como o SDP requer portas sequenciais para os canais de protocolo de transporte em tempo real (RTP) e protocolo de controle em tempo real (RTCP), o ALG oferece portas uniformes consecutivas. Se não conseguir encontrar um par de portas, ele descarta a mensagem SIP.
Este tópico contém as seguintes seções:
Chamadas de saída
Quando uma chamada SIP é iniciada com uma mensagem de solicitação de SIP do interno para a rede externa, o NAT substitui os endereços IP e os números de porta no SDP e vincula os endereços IP e os números de porta ao firewall Juniper Networks. Os campos de cabeçalhos SIP via contato, rota e rota de registro, se presentes, também estão vinculados ao endereço IP do firewall. A ALG armazena esses mapeamentos para uso em retransmissões e para mensagens de resposta SIP.
O SIP ALG então abre buracos no firewall para permitir a mídia através do dispositivo nas portas dinamicamente atribuídas negociadas com base em informações nos campos de cabeçalho via, contato e rota de registro. Os pinholes também permitem que os pacotes de entrada cheguem aos endereços e portas IP de contato, via e registro de rota. Ao processar o tráfego de retorno, a ALG insere os campos SIP originais de contato, via, rota e rota de registro de volta em pacotes.
Chamadas recebidas
As chamadas recebidas são iniciadas da rede pública para endereços NAT estáticos públicos ou para interface de endereços IP 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 pela ALG enquanto 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 do pacote para o SIP ALG.
A ALG examina a mensagem de solicitação de SIP (inicialmente um CONVITE) e, com base em informações no SDP, abre portões para a mídia de saída. Quando uma mensagem de resposta 200 OK chega, o SIP ALG executa NAT nos endereços e portas IP e abre buracos na direção de saída. (Os portões abertos têm pouco tempo de vida, e eles saem se uma mensagem de resposta 200 OK não for recebida rapidamente.)
Quando uma resposta de 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 buracos 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 contém informações de SDP, o SIP ALG garante que os endereços IP e os números de porta não sejam alterados em relação ao CONVITE anterior — se forem, o ALG apaga pinholes antigos e cria novos pinholes para permitir que a mídia passe. A ALG também monitora os campos DE VIA, contato e rota de registro e abre novos pinholes se determinar que esses campos mudaram.
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 a 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 buracos no firewall, porque a mídia fluirá diretamente entre o usuário A e o usuário C.
Rescisão de chamadas
A mensagem BYE encerra uma chamada. Quando o dispositivo recebe uma mensagem BYE, ele traduz os campos de cabeçalho da maneira como faz para qualquer outra mensagem. Mas como uma mensagem BYE deve ser reconhecida pelo receptor com um 200 OK, a ALG atrasa a desativação da chamada por cinco segundos para dar tempo de transmissão do 200 OK.
Mensagens de revidamento de chamadas
As mensagens de re-CONVITE adicionam novas sessões de mídia a uma chamada e removem as sessões de mídia existentes. Quando novas sessões de mídia são adicionadas a uma chamada, novos pinholes são abertos no firewall e novas ligações de endereços são criadas. O processo é idêntico à configuração de chamada original. Quando uma ou mais sessões de mídia são removidas de uma chamada, os pinholes são fechados e as ligações são liberadas da maneira como acontece com uma mensagem BYE.
Ligue para os Session Timers
O SIP ALG usa o valor da Sessão expira para cronometrar uma sessão se uma mensagem de revidamento ou atualização não for recebida. A ALG recebe o valor da Sessão expira, se presente, da resposta de 200 OK ao INVITE e usa esse valor para sinalização de tempo limite. Se a ALG receber outro CONVITE antes do intervalo da sessão, ele redefinirá todos os valores de tempo limite para este novo CONVITE ou para valores padrão, e o processo se repete.
Como medida de precaução, o SIP ALG usa valores de tempo limite difíceis para definir o tempo máximo que uma chamada pode existir. Isso garante que o dispositivo esteja protegido caso ocorra um dos seguintes eventos:
Os sistemas finais falham durante uma chamada e uma mensagem BYE não é recebida.
Usuários maliciosos nunca enviam um BYE na tentativa de atacar um SIP ALG.
Implementações ruins do proxy SIP não processam a Rota de registro 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 ligação enviando uma mensagem CANCEL. Ao receber uma mensagem CANCEL, o SIP ALG fecha os pinholes através do firewall — se tiver aberto algum — e libera as vinculações de endereços. Antes de liberar os recursos, a ALG atrasa a saída do canal de controle por aproximadamente cinco segundos para dar tempo para a aprovação final de 200 OK. A chamada é terminada quando o intervalo de cinco segundos expira, independentemente de uma resposta 487 ou não-200 chegar.
Bifurcação
A forking permite que um proxy SIP envie uma única mensagem DE CONVITE para vários destinos simultaneamente. Quando as várias mensagens de resposta OK chegam para a chamada única, o SIP ALG analisa, mas atualiza as informações de chamadas com as primeiras 200 mensagens OK que recebe.
Mensagens SIP
O formato de mensagem SIP consiste em uma seção de cabeçalho SIP e o corpo SIP. Nas 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, a solicitação-URI e a versão de protocolo. Em 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 do SIP, separado da seção de cabeçalho por uma linha em branco, está reservado para informações de descrição da sessão, o que é opcional. 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
Na mensagem de solicitação de SIP da amostra a seguir, o NAT substitui os endereços IP nos campos de cabeçalho para escondê-los da rede externa.
INVITE bob@10.150.20.5
SIP/2.0 Via: SIP/2.0/UDP10.150.20.3
:5434 From: alice@10.150.20.3
To: bob@10.150.20.5
Call-ID: a12abcde@10.150.20.3
Contact: alice@10.150.20.3
:5434 Route: <sip:netscreen@10.150.20.3
:5060> Record-Route: <sip:netscreen@10.150.20.3
:5060>
A forma como a tradução de endereço IP é realizada depende do tipo e 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 5 mostra como o NAT é executado em cada um desses casos. Observe que para vários dos campos de cabeçalho a ALG determina mais do que apenas se as mensagens vêm de dentro ou 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 (do público ao privado) |
Para: |
Substitua o domínio por endereço local |
De: |
Nenhum |
|
ID de chamada: |
Nenhum |
|
Via: |
Nenhum |
|
Request-URI: |
Substitua o endereço ALG por endereço local |
|
Contato: |
Nenhum |
|
Rota de registro: |
Nenhum |
|
Rota: |
Nenhum |
|
Resposta de saída (do privado ao público) |
Para: |
Substitua o endereço ALG por endereço local |
De: |
Nenhum |
|
ID de chamada: |
Nenhum |
|
Via: |
Nenhum |
|
Request-URI: |
N/A |
|
Contato: |
Substitua o endereço local por endereço ALG |
|
Rota de registro: |
Substitua o endereço local por endereço ALG |
|
Rota: |
Nenhum |
|
Solicitação de saída (do privado ao público) |
Para: |
Nenhum |
De: |
Substitua o endereço local por endereço ALG |
|
ID de chamada: |
Nenhum |
|
Via: |
Substitua o endereço local por endereço ALG |
|
Request-URI: |
Nenhum |
|
Contato: |
Substitua o endereço local por endereço ALG |
|
Rota de registro: |
Substitua o endereço local por endereço ALG |
|
Rota: |
Substitua o endereço ALG por endereço local |
|
Resposta de saída (do público ao privado) |
Para: |
Nenhum |
De: |
Substitua o endereço ALG por endereço local |
|
ID de chamada: |
Nenhum |
|
Via: |
Substitua o endereço ALG por endereço local |
|
Request-URI: |
N/A |
|
Contato: |
Nenhum |
|
Rota de registro: |
Substitua o endereço ALG por endereço local |
|
Rota: |
Substitua o endereço ALG por endereço local |
Corpo de SIP
As informações de SDP no órgão SIP incluem endereços IP que a 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 de SDP de amostra mostra os campos que são traduzidos para alocação de recursos.
o=user 2344234 55234434 IN IP410.150.20.3
c=IN IP410.150.20.3
m=audio43249
RTP/AVP 0
As mensagens SIP podem conter mais de um fluxo de mídia. O conceito é semelhante à anexação de vários arquivos a uma mensagem de e-mail. Por exemplo, uma mensagem DE CONVITE enviada de um cliente SIP para um servidor SIP pode ter os seguintes campos:
c=IN IP410.123.33.4
m=audio33445
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33447
RTP/AVP 0 c=IN IP410.123.33.4
m=audio33449
RTP/AVP 0
O Junos OS oferece suporte a até 6 canais SDP negociados para cada direção, para um total de 12 canais por chamada.
Limitações do Junos OS SIP ALG
As seguintes limitações se aplicam à configuração do SIP ALG:
Apenas os métodos descritos na RFC 3261 são suportados.
Apenas o SIP versão 2 é compatível.
O TCP não é suportado como um mecanismo de transporte para sinalizar mensagens para MS-MPCs, mas é suportado pelos Serviços de próxima geração.
Não configure o SIP ALG ao usar o TASER. se os clientes usarem o FIREWALL/TURN para detectar o firewall ou os dispositivos NAT entre o chamador e o respondente ou proxy, o cliente tenta adivinhar melhor o comportamento do dispositivo NAT e agir de acordo para fazer a chamada.
No MS-MPCs, não use a opção de pool de mapeamento independente de endpoint em conjunto com o SIP ALG. Os erros resultarão. Isso não se aplica aos Serviços de Próxima Geração.
Os dados de sinalização IPv6 não são suportados para MS-MPCs, mas são suportados para serviços de próxima geração.
A autenticação não é suportada.
Mensagens criptografadas não são suportadas.
A fragmentação de SIP não é suportada para MS-MPCs, mas é suportada para serviços de próxima geração.
Assume-se que o tamanho máximo de pacote UDP contendo uma mensagem SIP é de 9 KB. Mensagens SIP maiores do que essas não são suportadas.
Assume-se que o número máximo de canais de mídia em uma mensagem SIP seja de seis.
Os nomes de domínio totalmente qualificados (FQDNs) não são suportados em campos críticos.
O QoS não é compatível. O SIP oferece suporte a reescritas de DSCP.
A alta disponibilidade não é suportada, exceto para um espera quente.
Uma configuração de tempo limite de nunca é suportada no SIP ou NAT.
O multicast (proxy de fornução) não é suportado.
Configuração de um comando SNMP para correspondência de pacotes
Você pode especificar uma configuração de comando SNMP para correspondência de pacotes. Para configurar o SNMP, inclua a snmp-command
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] snmp-command value;
Os valores suportados sãoget
, get-next
eset
trap
. Você pode configurar apenas um valor para a correspondência. A application-protocol
declaração no nível hierárquica [edit applications application application-name]
deve ter o valorsnmp
. Para obter informações sobre como especificar o protocolo do aplicativo, consulte Configurando um protocolo de aplicativo.
Configuração de um número de programa de RPC
Você pode especificar um número do programa RPC para correspondência de pacotes. Para configurar um número de programa RPC, inclua a rpc-program-number
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] rpc-program-number number;
A gama de valores usados para DCE ou RPC é de 100.000 a 400.000. A application-protocol
declaração no nível hierárquica [edit applications application application-name]
deve ter o valor rpc
. Para obter informações sobre como especificar o protocolo do aplicativo, consulte Configurando um protocolo de aplicativo.
Configuração do limite de TTL
Você pode especificar um valor de limiar de tempo de rota para a vida (TTL), que controla o nível aceitável de penetração de rede para roteamento de vestígios. Para configurar um valor TTL, inclua a ttl-threshold
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] ttl-threshold value;
A application-protocol
declaração no nível hierárquica [edit applications application application-name]
deve ter o valor traceroute
. Para obter informações sobre como especificar o protocolo do aplicativo, consulte Configurando um protocolo de aplicativo.
Configurando um identificador único universal
Você pode especificar um Identificador Único Universal (UUID) para objetos DCE RPC. Para configurar um valor UUID, inclua a uuid
declaração no nível de [edit applications application application-name]
hierarquia:
[edit applications application application-name] uuid hex-value;
O uuid
valor está na notação hexadimamal. A application-protocol
declaração no nível hierárquica [edit applications application application-name
deve ter o valor dce-rpc
. Para obter informações sobre como especificar o protocolo do aplicativo, consulte Configurando um protocolo de aplicativo. Para obter mais informações sobre os números de UUID, veja http://www.opengroup.org/onlinepubs/9629399/apdxa.htm
.
Veja também
Configuração de conjuntos de aplicativos
Você pode agrupar os aplicativos que definiu em um objeto nomeado, incluindo a application-set
declaração no nível de [edit applications]
hierarquia com uma declaração application
para cada aplicativo:
[edit applications] application-set application-set-name { application application; }
Para um exemplo de um conjunto típico de aplicativos, veja Exemplos: Configuração de protocolos de aplicativos.
Exemplos: Configuração de protocolos de aplicativos
O exemplo a seguir mostra uma definição de protocolo de aplicativo descrevendo um aplicativo FTP especial em execução na porta 78:
[edit applications] application my-ftp-app { application-protocol ftp; protocol tcp; destination-port 78; timeout 100; # inactivity timeout for FTP service }
O exemplo a seguir mostra um protocolo ICMP especial (application-protocol icmp
) do tipo 8 (eco ICMP):
[edit applications] application icmp-app { application-protocol icmp; protocol icmp; icmp-type icmp-echo; }
O exemplo a seguir mostra um possível conjunto de aplicativos:
[edit applications] application-set basic { http; ftp; telnet; nfs; icmp; }
O software inclui um conjunto predefinido de protocolos de aplicativos bem conhecidos. O conjunto inclui aplicativos para os quais as portas de destino TCP e UDP já são reconhecidas por filtros de firewall stateless.
Verificando a saída das sessões alg
Esta seção contém exemplos de saída bem-sucedida de sessões alg e informações sobre a configuração de log do sistema. Você pode comparar os resultados de suas sessões para verificar se as configurações estão funcionando corretamente.
Exemplo de FTP
Este exemplo analisa a saída durante uma sessão ftp ativa. Consiste em quatro fluxos diferentes; dois são fluxos de controle e dois são fluxos de dados. O exemplo consiste nas seguintes partes:
Saída de amostra
Placa MS-MPC
Para MS-MPCs, o seguinte é uma saída de amostra completa do comando do show services stateful-firewall conversations application-protocol ftp
modo operacional:
user@host>show services stateful-firewall conversations application-protocol ftp Interface: ms-1/3/0, Service set: CLBJI1-AAF001 Conversation: ALG protocol: ftp Number of initiators: 2, Number of responders: 2 Flow State Dir Frm count TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118 TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Para cada fluxo, a primeira linha mostra informações de fluxo, incluindo protocolo (TCP), endereço fonte, porta fonte, endereço de destino, porta de destino, estado do fluxo, direção e contagem de quadros.
O estado de um fluxo pode ser
Watch
,Forward
ouDrop
:Um
Watch
estado de fluxo indica que o fluxo de controle é monitorado pela ALG para obter informações na carga. O processamento de NAT é realizado no cabeçalho e carga, conforme necessário.Um
Forward
fluxo encaminha os pacotes sem monitorar a carga. O NAT é executado no cabeçalho conforme necessário.Um
Drop
fluxo derruba qualquer pacote que corresponda ao 5 tuple.
A contagem de quadros (
Frm count
) mostra o número de pacotes que foram processados nesse fluxo.
A segunda linha mostra as informações de NAT.
source
indica NAT de origem.dest
indica NAT de destino.O primeiro endereço e a porta da linha NAT são o endereço e a porta originais que estão sendo traduzidos para esse fluxo.
O segundo endereço e a porta da linha NAT são o endereço e a porta traduzidos para esse fluxo.
Placa MX-SPC3
Na placa de serviços MX-SPC3, o seguinte é uma saída de amostra completa do comando do show services sessions application-protocol ftp
modo operacional:
user@host>show services sessions application-protocol ftp Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239, Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650, Total sessions: 2
Para cada sessão:
A primeira linha mostra informações de fluxo, incluindo ID de sessão, nome do conjunto de serviços, nome da política, tempo limite de sessão, nome lógico do sistema e seu estado.
A segunda linha indica
Resource information
que a sessão é criada pela ALG, incluindo o nome ALG (FTP ALG) e a id do grupo ASL, que é 1e a ID de recursos ASL, que é 0 para sessão de controle e 1 para sessão de dados.A terceira linha
In
é o fluxo avançado e a quarta linhaOut
é o fluxo reverso, incluindo o endereço de origem, porta de origem, endereço de destino, porta de destino, protocolo (TCP), conn-tag de sessão, entrada e saída paraIn
Out
interface, contagem de quadros recebidos e bytes. O NAT é executado no cabeçalho conforme necessário.
Mensagens de log do sistema FTP
As mensagens de log do sistema são geradas durante uma sessão de FTP. Para obter mais informações sobre logs do sistema, veja Mensagens de log do sistema.
Placa MS-MPC
As seguintes mensagens de log do sistema são geradas durante a criação do fluxo de controle FTP:
Log de sistema de aceitação de regras:
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, Match SFW accept rule-set:, rule: ftp, term: 1
Crie o log do sistema Aceite o fluxo:
Oct 27 11:42:54 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: ftp, fe-3/3/3.0:1.1.1.2:4450 -> 2.2.2.2:21, creating forward or watch flow
Log de sistema para criação de fluxo de dados:
Oct 27 11:43:30 (FPC Slot 1, PIC Slot 1) {ss_ftp}[FWNAT]: ASP_SFW_FTP_ACTIVE_ACCEPT: proto 6 (TCP) application: ftp, so-2/1/2.0:2.2.2.2:20 -> 1.1.1.2:50726, Creating FTP active mode forward flow
Placa de placa MX-SPC3
As seguintes mensagens de log do sistema são geradas durante a criação do fluxo de controle FTP:
Log de sistema para criação de sessão de controle FTP:
Mar 23 23:58:54 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 N/A(N/A) ge-1/0/2.0 UNKNOWN UNKNOWN UNKNOWN N/A N/A -1 N/A Mar 23 23:59:00 esst480r junos-alg: RT_ALG_FTP_ACTIVE_ACCEPT: application:ftp data, vms-3/0/0.0 30.1.1.2:20 -> 20.1.1.2:33947 (TCP)
Log de sistema para criação de sessão de dados FTP:
Mar 23 23:59:00 esst480r RT_FLOW: RT_FLOW_SESSION_CREATE_USF: Tag svc-set-name ss1: session created 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 N/A(N/A) ge-1/1/6.0 FTP-DATA UNKNOWN UNKNOWN Infrastructure File-Servers 2 N/A
O log do sistema para sessão de dados FTP destrói:
Mar 23 23:59:02 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed TCP FIN: 30.1.1.2/20->20.1.1.2/33947 0x0 junos-ftp-data 30.1.1.2/20->20.1.1.2/33947 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneOut ss1-ZoneIn 818413577 2954(4423509) 281(14620) 2 FTP-DATA UNKNOWN N/A(N/A) ge-1/1/6.0 No Infrastructure File-Servers 2 N/A
Log de sistema para sessão de controle FTP destruir:
Mar 23 23:59:39 esst480r RT_FLOW: RT_FLOW_SESSION_CLOSE_USF: Tag svc-set-name ss1: session closed Closed by junos-tcp-clt-emul: 20.1.1.2/52877->30.1.1.2/21 0x0 junos-ftp 20.1.1.2/52877->30.1.1.2/21 0x0 N/A N/A N/A N/A 6 p1 ss1-ZoneIn ss1-ZoneOut 818413576 23(1082) 18(1176) 45 UNKNOWN UNKNOWN N/A(N/A) ge-1/0/2.0 No N/A N/A -1 N/A
Análise
Fluxos de controle
Placa MS-MPC
Os fluxos de controle são estabelecidos após o aperto de mão de três vias estar completo.
Fluxo de controle do cliente FTP para o servidor FTP. A porta de destino TCP é 21.
TCP 1.1.79.2:14083 -> 2.2.2.2:21 Watch I 13 NAT source 1.1.79.2:14083 -> 194.250.1.237:50118
Controle o fluxo do servidor FTP para o cliente FTP. A porta de origem do TCP é 21.
TCP 2.2.2.2:21 -> 194.250.1.237:50118 Watch O 12 NAT dest 194.250.1.237:50118 -> 1.1.79.2:14083
Placa MX-SPC3
Os fluxos de controle são estabelecidos após o aperto de mão de três vias estar completo.
Sessão de controle de cliente FTP para servidor FTP, porta de destino TCP é 21.
Session ID: 536870919, Service-set: ss1, Policy name: p1/131085, Timeout: 29, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 0 In: 12.10.10.10/44194 --> 22.20.20.3/21;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 13, Bytes: 585, Out: 22.20.20.3/21 --> 60.1.1.2/48660;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 11, Bytes: 650,
Sessão de dados do cliente FTP ao servidor FTP, é para o modo passivo DEP.
Session ID: 536870917, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 12.10.10.10/35281 --> 22.20.20.3/8204;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 6, Bytes: 320, Out: 22.20.20.3/8204 --> 60.1.1.2/48747;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 9, Bytes: 8239,
Sessão de dados do servidor FTP ao cliente FTP, é para o modo ativo FTP:
Session ID: 549978117, Service-set: ss1, Policy name: p1/131085, Timeout: 1, Valid Logical system: root-logical-system Resource information : FTP ALG, 1, 1 In: 22.20.20.3/20 --> 60.1.1.3/6049;tcp, Conn Tag: 0x0, If: vms-2/0/0.200, Pkts: 10, Bytes: 8291, Out: 12.10.10.10/33203 --> 22.20.20.3/20;tcp, Conn Tag: 0x0, If: vms-2/0/0.100, Pkts: 5, Bytes: 268,
Fluxos de dados
Uma porta de dados de 20 é negociada para transferência de dados durante o protocolo de controle ftp. Esses dois fluxos são fluxos de dados entre o cliente FTP e o servidor FTP:
TCP 1.1.79.2:14104 -> 2.2.2.2:20 Forward I 3 NAT source 1.1.79.2:14104 -> 194.250.1.237:50119 TCP 2.2.2.2:20 -> 194.250.1.237:50119 Forward O 5 NAT dest 194.250.1.237:50119 -> 1.1.79.2:14104
Questões de solução de problemas
Como sei se o FTP ALG está ativo?
O campo de protocolo ALG na conversa deve ser exibido
ftp
.Deve haver uma contagem de quadros (
Frm count
) válida nos fluxos de controle.Uma contagem válida de quadros nos fluxos de dados indica que a transferência de dados ocorreu.
O que preciso para verificar se a conexão FTP está estabelecida, mas a transferência de dados não ocorre?
Provavelmente, a conexão de controle está ativa, mas a conexão de dados está baixa.
Verifique a saída das conversas para determinar se o controle e os fluxos de dados estão presentes.
Como interpreto cada fluxo? O que significa cada fluxo?
Fluxo iniciador de fluxo de controle FTP — Fluxo com porta de destino 21
Fluxo de fluxo de controle de FTP — Fluxo com porta de origem ; 21
Fluxo de dados FTP iniciador de dados — Fluxo com porta de destino 20
Fluxo de respondente de fluxo de dados FTP — Fluxo com porta de origem 20
Exemplo de RTSP ALG
O exemplo a seguir é uma conversa com o RTSP. O aplicativo usa o protocolo RTSP para conexão de controle. Assim que a conexão é configurada, a mídia é enviada usando o protocolo UDP (RTP).
Este exemplo consiste no seguinte:
- Saída de amostra para MS-MPCs
- Saída de amostra para placa de serviços MX-SPC3
- Análise
- Questões de solução de problemas
Saída de amostra para MS-MPCs
Aqui está a saída do comando do show services stateful-firewall conversations
modo operacional:
user@host# show services stateful-firewall conversations Interface: ms-3/2/0, Service set: svc_set Conversation: ALG protocol: rtsp Number of initiators: 5, Number of responders: 5 Flow State Dir Frm count TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 UDP 1.1.1.3:1028 -> 2.2.2.2:1028 Forward I 0 UDP 1.1.1.3:1029 -> 2.2.2.2:1029 Forward I 0 UDP 1.1.1.3:1030 -> 2.2.2.2:1030 Forward I 0 UDP 1.1.1.3:1031 -> 2.2.2.2:1031 Forward I 0 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5 UDP 2.2.2.2:1028 -> 1.1.1.3:1028 Forward O 6 UDP 2.2.2.2:1029 -> 1.1.1.3:1029 Forward O 0 UDP 2.2.2.2:1030 -> 1.1.1.3:1030 Forward O 3 UDP 2.2.2.2:1031 -> 1.1.1.3:1031 Forward O 0
Saída de amostra para placa de serviços MX-SPC3
Aqui está a saída do comando do show services sessions application-protocol rtsp
modo operacional:
user@host# run show services sessions application-protocol rtsp Session ID: 1073741828, Service-set: sset1, Policy name: p1/131081, Timeout: 116, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 0 In: 31.0.0.2/33575 --> 41.0.0.2/554;tcp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 8, Bytes: 948, Out: 41.0.0.2/554 --> 131.10.0.1/7777;tcp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 6, Bytes: 1117, Session ID: 1073741829, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 1 In: 41.0.0.2/35004 --> 131.10.0.1/7780;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 79200, Out: 31.0.0.2/30004 --> 41.0.0.2/35004;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Session ID: 1073741830, Service-set: sset1, Policy name: p1/131081, Timeout: 120, Valid Logical system: root-logical-system Resource information : RTSP ALG, 1, 4 In: 41.0.0.2/35006 --> 131.10.0.1/7781;udp, Conn Tag: 0x0, If: vms-4/0/0.2, Pkts: 220, Bytes: 174240, Out: 31.0.0.2/30006 --> 41.0.0.2/35006;udp, Conn Tag: 0x0, If: vms-4/0/0.1, Pkts: 0, Bytes: 0, Total sessions: 3
Análise
Uma conversa de RTSP deve consistir em fluxos de TCP correspondentes à conexão de controle RTSP. Deve haver dois fluxos, um em cada direção, do cliente ao servidor e do servidor ao cliente:
TCP 1.1.1.3:58795 -> 2.2.2.2:554 Watch I 7 TCP 2.2.2.2:554 -> 1.1.1.3:58795 Watch O 5
A conexão de controle RTSP para o fluxo de iniciação é enviada da porta de destino 554.
A conexão de controle RTSP para o fluxo de resposta é enviada da porta de origem 554.
Os fluxos de UDP correspondem à mídia RTP enviada pela conexão RTSP.
Questões de solução de problemas
A mídia não funciona quando o RTSP ALG está configurado. O que eu faço?
Verifique as conversas de RTSP para ver se existem fluxos de TCP e UDP.
O protocolo ALG deve ser exibido como
rtsp
.
Nota:O estado do fluxo é exibido como
Watch
, porque o processamento alg está ocorrendo e o cliente está essencialmente "observando" ou processando cargas correspondentes ao aplicativo. Para fluxos DEP e RTSP ALG, as conexões de controle são sempreWatch
fluxos.Como verificar se há erros de ALG?
Você pode verificar se há erros emitindo o seguinte comando. Cada ALG tem um campo separado para erros de pacote ALG.
user@host# show services stateful-firewall statistics extensive Interface: ms-3/2/0 Service set: svc_set New flows: Accepts: 1347, Discards: 0, Rejects: 0 Existing flows: Accepts: 144187, Discards: 0, Rejects: 0 Drops: IP option: 0, TCP SYN defense: 0 NAT ports exhausted: 0 Errors: IP: 0, TCP: 276 UDP: 0, ICMP: 0 Non-IP packets: 0, ALG: 0 IP errors: IP packet length inconsistencies: 0 Minimum IP header length check failures: 0 Reassembled packet exceeds maximum IP length: 0 Illegal source address: 0 Illegal destination address: 0 TTL zero errors: 0, Illegal IP protocol number (0 or 255): 0 Land attack: 0 Non-IPv4 packets: 0, Bad checksum: 0 Illegal IP fragment length: 0 IP fragment overlap: 0 IP fragment reassembly timeout: 0 Unknown: 0 TCP errors: TCP header length inconsistencies: 0 Source or destination port number is zero: 0 Illegal sequence number and flags combinations: 0 SYN attack (multiple SYN messages seen for the same flow): 276 First packet not a SYN message: 0 TCP port scan (TCP handshake, RST seen from server for SYN): 0 Bad SYN cookie response: 0 UDP errors: IP data length less than minimum UDP header length (8 bytes): 0 Source or destination port number is zero: 0 UDP port scan (ICMP error seen for UDP flow): 0 ICMP errors: IP data length less than minimum ICMP header length (8 bytes): 0 ICMP error length inconsistencies: 0 Duplicate ping sequence number: 0 Mismatched ping sequence number: 0 ALG errors: BOOTP: 0, DCE-RPC: 0, DCE-RPC portmap: 0 DNS: 0, Exec: 0, FTP: 0 ICMP: 0 Login: 0, NetBIOS: 0, NetShow: 0 RPC: 0, RPC portmap: 0 RTSP: 0, Shell: 0 SNMP: 0, SQLNet: 0, TFTP: 0 Traceroute: 0
Mensagens de log do sistema
Habilitar a geração de log do sistema e verificar o log do sistema também são úteis para a análise de fluxo alg. Esta seção contém o seguinte:
Configuração de log do sistema
Você pode configurar a habilitação de mensagens de log do sistema em vários níveis diferentes no Junos OS CLI. Conforme mostrado nas seguintes configurações de amostra, a escolha do nível depende de quão específico você deseja que o registro do evento seja e quais opções você deseja incluir. Para obter mais informações sobre as opções de configuração, consulte a Biblioteca de Administração do Junos OS para dispositivos de roteamento (nível de sistema) ou a Biblioteca de interfaces de serviços do Junos OS para dispositivos de roteamento (todos os outros níveis).
No nível mais alto do mundo:
user@host# show system syslog file messages { any any; }
No nível de conjunto de serviços:
user@host# show services service-set svc_set syslog { host local { services any; } } stateful-firewall-rules allow_rtsp; interface-service { service-interface ms-3/2/0; }
No nível de regra de serviço:
user@host# show services stateful-firewall rule allow_rtsp match-direction input-output; term 0 { from { applications junos-rtsp; } then { accept; syslog; } }
Saída de log do sistema
As mensagens de log do sistema são geradas durante a criação de fluxos, conforme mostrado nos seguintes exemplos:
A mensagem de log do sistema a seguir indica que o ASP correspondia a uma regra de aceitação:
Oct 25 16:11:37 (FPC Slot 3, PIC Slot 2) {svc_set}[FWNAT]: ASP_SFW_RULE_ACCEPT: proto 6 (TCP) application: rtsp, ge-2/0/1.0:1.1.1.2:35595 -> 2.2.2.2:554, Match SFW accept rule-set: , rule: allow_rtsp, term: 0
Para obter uma lista completa de mensagens de log do sistema, consulte o System Log Explorer.