Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Protocolo de controle de portas

Visão geral do protocolo de controle de portas

O Protocolo de Controle de Portas (PCP) oferece uma maneira de controlar o encaminhamento de pacotes de entrada por dispositivos upstream, como NAT44 e dispositivos de firewall, e uma maneira de reduzir o tráfego keepalive de aplicativos. O PCP tem suporte nos PICs MS-DPC, MS-100, MS-400 e MS-500 multiservices. A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também tem suporte no MS-MPC e MS-MIC. A partir do Junos 20.2R1, o PCP para serviços CGNAT DS-Lite tem suporte para serviços de próxima geração.Começando no Junos OS Release 18.2R1, PCP no MS-MPC e MS-MIC suporta DS-Lite. No Junos OS Release 18.1 e versões anteriores, PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite.

O PCP foi projetado para ser implementado no contexto de NATs de nível de operadora (CGNs) e PEQUENOS NATs (por exemplo, NATs residenciais). O PCP permite que os hosts operem servidores por muito tempo (como no caso de uma webcam) ou um curto espaço de tempo (por exemplo, enquanto jogam um jogo ou em uma ligação telefônica) quando estão por trás de um dispositivo NAT, incluindo quando está por trás de um CGN operado por seu ISP. O PCP permite que aplicativos criem mapeamentos de um endereço IP externo e porta para um endereço IP e uma porta interna. Esses mapeamentos são necessários para comunicações de entrada bem-sucedidas destinadas a máquinas localizadas atrás de um NAT ou um firewall. Após a criação de um mapeamento para conexões de entrada, os computadores remotos devem ser informados sobre o endereço IP e a porta para a conexão de entrada. Isso geralmente é feito de maneira específica do aplicativo.

O Junos OS oferece suporte para PCP versão 2 e versão 1.

O PCP consiste nos seguintes componentes:

  • Cliente PCP — um host ou gateway que emite solicitações de PCP a um servidor PCP a fim de obter e controlar recursos.

  • Servidor PCP — Normalmente um gateway CGN ou servidor co-localizado que recebe e processa solicitações de PCP

O Junos OS permite a configuração de servidores PCP para fluxos de mapeamento usando recursos NAPT44, como encaminhamento de portas e alocação de blocos de porta. Os fluxos podem ser processados a partir dessas fontes:

  • Tráfego que contém solicitações de PCP recebidas diretamente do equipamento do usuário, conforme mostrado na Figura 1.

    Figura 1: Topologia Basic PCP NAPT44 Topology básica PCP NAPT44
  • Mapeamento do tráfego que contém solicitações de PCP adicionadas por um roteador que funciona como um iniciador de softwire DS-Lite (B4). Este modo, conhecido como modo simples DS-Lite, é mostrado na Figura 2.

    Figura 2: PCP com modo PCP with DS-Lite Plain Mode simples DS-Lite
Nota:

O Junos OS não oferece suporte à alocação determinística de blocos de porta para tráfego originado por PCP.

Benefícios do protocolo de controle de portas

Muitos aplicativos amigáveis à NAT enviam mensagens frequentes de nível de aplicativo para garantir que suas sessões não estão sendo cronometradas por um dispositivo NAT. O PCP é usado para:

  • Reduza a frequência dessas mensagens keepalive nat

  • Reduza a largura de banda na rede de acesso do assinante

  • Reduza o tráfego para o servidor

  • Reduza o consumo de bateria em dispositivos móveis

Protocolo de controle de porta Versão 2

Começando pelo Junos OS Release 15.1, o Protocolo de Controle de Porta (PCP) versão 2 é suportado, o que está em conformidade com o RFC 6887. O PCP oferece uma maneira de controlar o encaminhamento de pacotes de entrada por dispositivos upstream, como NAT44 e dispositivos de firewall, e uma maneira de reduzir o tráfego continuamente vivo de aplicativos. A versão 2 do PCP oferece suporte à autenticação de nonce. O PCP permite que aplicativos criem mapeamentos de um endereço IP externo e porta para um endereço IP e uma porta interna. Uma carga nonce evita um ataque de repetição e é enviada por padrão a menos que seja explicitamente desativada.

A verificação de nonce do cliente para solicitações de mapa da versão 2 (para atualização ou exclusão) exige que a nonce recebida na solicitação de mapa original que faz com que o mapeamento do PCP seja criado seja preservado. A versão da solicitação inicial que permite a criação do mapeamento também está preservada. Esse comportamento de salvar o nó e os parâmetros de versão denota que 13 bytes por mapeamento PCP são usados. Esse pequeno aumento no espaço de armazenamento não é significativo quando combinado com o uso atual de memória de um sistema para um único mapeamento solicitado (levando em conta o mapeamento independente de endpoint (EIM) e a filtragem independente de endpoint (EIF) que são criadas junto com ele). Em uma implantação do cliente, o PCP faz com que os mapeamentos EIM e EIF representem uma fração de todos esses mapeamentos.

Até o Junos Release 15.1, os PICs de serviços oferecem suporte a servidores PCP em roteadores Juniper Networks de acordo com a versão 22 do draft do PCP com codificação de mensagens versão 1. Com o PCP sendo refinado a partir da versão de rascunho definida no Protocolo de Controle de Portas (PCP) draft-ietf-pcp-base-22 (expiração de julho de 2012) para uma versão finalizada e padrão definida no RFC 6887 -- Protocolo de controle de portas (PCP), a codificação da mensagem mudou para a versão 2 com a inclusão de uma carga de nonce aleatória para autenticar solicitações de peer e mapa conforme necessário. A versão 1 não decodifica mensagens em conformidade com o formato da versão 2 e a autenticação de nonce não é suportada. Em um ambiente de rede de palavras reais, com dispositivos de equipamento nas instalações do cliente (CPE) com suporte cada vez maior apenas à versão 2, é necessário analisar e enviar mensagens da versão 2. A compatibilidade retrógrada com dispositivos CPE com suporte à versão 1 é mantida (a negociação de versão faz parte do padrão) e autentica os pacotes de payload de solicitação de nonce quando as mensagens v2 estão em uso.

A saída do show services pcp statistics comando contém o campo de versão sem suporte pcp, que é incrementado para indicar sempre que a versão não é 1 ou 2. Um novo campo, o nó de solicitação de PCP não corresponde ao mapeamento existente, é introduzido para indicar o número de solicitações de PCP versão 2 que foram ignorados porque a carga de pagamento de nonce não correspondia à registrada no mapeamento (a autenticação falhou). Se a versão 2 estiver em uso, o nó do cliente é usado para autenticação.

Configuração do protocolo de controle de portas

Este tópico descreve como configurar o protocolo de controle de portas (PCP). O PCP tem suporte nos PICs MS-DPC, MS-100, MS-400 e MS-500 multiservices. A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também tem suporte no MS-MPC e MS-MIC. A partir do Junos OS Release 18.2R1, PCP no MS-MPC e MS-MIC oferece suporte a DS-Lite. No Junos OS Release 18.1 e versões anteriores, PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite. A partir do lançamento do Junos OS, o PCP 20.2R1 tem suporte na placa de serviços de segurança MX-SPC3 para serviços CGNAT.

Execute as seguintes tarefas de configuração:

Configuração de opções de servidor PCP

  1. Especifique o nome de um servidor PCP.
  2. Defina os endereços IPv4 ou IPv6 do servidor. Para PCP DS-Lite, é ipv6-address necessário combinar o endereço do AFTR (Roteador de transição da família de endereços ou concentrador de softwire).
    Nota:

    A partir do Junos OS Release 18.2R1, PCP no MS-MPC e MS-MIC oferece suporte a DS-Lite. No Junos OS Release 18.1 e versões anteriores, PCP no MS-MPC e MS-MIC não oferece suporte ao DS-Lite.

    Ou

  3. Para PCP DS-Lite, forneça o nome da configuração do concentrador de softwire DS-Lite.
  4. Especifique as vidas mínimas e máximas de mapeamento para o servidor.
  5. Especifique os limites de tempo para gerar erros de vida útil curta ou longos.
  6. (Opcional)— habilite opções de PCP no servidor PCP especificado. As opções a seguir estão disponíveis ethird-partyprefer-failure. A opção de terceiros é necessária para habilitar solicitações de terceiros pelo cliente PCP. O DS-Lite requer a opçãothird-party. A opção prefer-failure solicita a geração de uma mensagem de erro quando o cliente do PCP solicita um endereço/porta IP específico que não esteja disponível, em vez de atribuir outro endereço disponível no pool de NAT. Se prefer-failure não for especificado, o NAPT44 atribui um endereço/porta disponível do grupo NAT com base nas opções de NAT configuradas.
  7. (Opcional)— Especifique qual grupo de NAT usar para mapeamento.
    Nota:

    Quando você não especifica explicitamente um pool de NAT para mapeamento, o Junos OS executa uma correspondência parcial de regras com base no IP de origem, porta de origem e protocolo, e o Junos OS usa o pool DE NAT configurado para a primeira regra de correspondência para alocar mapeamentos para PCP.

    Você deve usar uma configuração explícita para usar vários grupos de NAT.

    Para a placa de serviços de segurança MX-SPC3 e os Serviços de Próxima Geração, a nat-options declaração oferece suporte a apenas um nome de pool a ser anexado a um servidor PCP.

  8. (Opcional)— Configure o número máximo de mapeamentos por cliente. O padrão é de 32 e máximo de 128.

Configuração de uma regra de PCP

Uma regra de PCP tem as mesmas opções básicas que todas as regras do conjunto de serviços:

  • Uma term opção que permite que uma única regra tenha vários aplicativos.

    Um termo não é necessário ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

  • Uma from opção que identifica o tráfego que está sujeito à regra.

  • Uma then opção que identifica que medidas devem ser tomadas. No caso de uma regra de PCP, essa opção identifica o servidor pcp que lida com o tráfego selecionado

  1. Vá para o nível de [edit services pcp rule rule-name] hierarquia e especifique a match-direction entrada.
  2. Vá para o nível hierárquico [edit services pcp rule rule-name term term-name] e forneça um nome.

    Essa etapa não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

  3. (Opcional)— Forneça uma from opção para filtrar o tráfego a ser selecionado para processamento pela regra. Quando você omite a opção from , todo o tráfego tratado pela interface de serviço do conjunto de serviços está sujeito à regra. As opções a seguir estão disponíveis no nível de [edit services pcp rule rule-name term term-name from] hierarquia:
    application-sets set-name

    O tráfego para o conjunto de aplicativos é processado pela regra do PCP.

    Essa etapa não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

    applications [ application-name ]

    O tráfego para o aplicativo é processado pela regra do PCP.

    Essa opção não é necessária ao executar a placa de serviços de segurança MX-SPC3 para serviços de próxima geração.

    destination-address address <except>

    O tráfego para o endereço de destino ou prefixo é processado pela regra do PCP. Se você incluir a opção except , o tráfego para o endereço de destino ou prefixo não será processado pela regra do PCP.

    destination-address-range high maximum-value low minimum-value <except>

    O tráfego para a faixa de endereço de destino é processado pela regra do PCP. Se você incluir a opção except , o tráfego para a faixa de endereço de destino não será processado pela regra do PCP.

    destination-port high maximum-value low minimum-value

    O tráfego para a faixa de porta de destino é processado pela regra do PCP.

    destination-prefix-list list-name <except>

    O tráfego para um endereço de destino na lista de prefixo é processado pela regra do PCP. Se você incluir a opção, o except tráfego para um endereço de destino na lista de prefixo não será processado pela regra do PCP.

    source-address address <except>

    O tráfego do endereço de origem ou prefixo é processado pela regra do PCP. Se você incluir a opção except , o tráfego do endereço de origem ou prefixo não será processado pela regra do PCP.

    source-address-range high maximum-value low minimum-value <except>

    O tráfego da faixa de endereço de origem é processado pela regra do PCP. Se você incluir a opção except , o tráfego da faixa de endereço de origem não é processado pela regra do PCP.

    source-prefix-list list-name <except>

    O tráfego de um endereço de origem na lista de prefixo é processado pela regra do PCP. Se você incluir a opção, o except tráfego de um endereço de origem na lista de prefixo não será processado pela regra do PCP.

  4. Defina a opção then de identificar o servidor PCP alvo.

Configuração de uma regra de NAT

Para configurar uma regra de NAT:

  1. Configure o nome da regra de NAT e a direção da correspondência.
  2. Especifique o pool de NAT para usar:
  3. Configure o tipo de tradução.
  4. Se você estiver usando PCP com NAT IPv4-to-IPv4 ou com DS-Lite, configure mapeamento independente de endpoint (EIM) e filtragem independente de endpoint (EIF).
    Nota:

    Os mapeamentos do PCP não serão criados se você não configurar EIM e EIF com PCP para NAT IPv4 a IPv4 ou para DS-Lite.

Configuração de um conjunto de serviços para aplicar PCP

Para usar o PCP, você deve fornecer o nome de regra (ou nome de uma lista de nomes de regras) na opção pcp-rule rule-name .

  1. Vá para o [edit services service-set service-set-name nível de hierarquia.
  2. Se este for um novo conjunto de serviços, forneça informações básicas do conjunto de serviços, incluindo informações de interface e quaisquer outras regras que possam ser aplicadas.
  3. Especifique o nome da regra ou lista de regras do PCP usado para enviar tráfego ao servidor PCP especificado.
Nota:

Seu conjunto de serviços também deve identificar os requisitos necessários nat-rule e softwire-rule.

Configuração de mensagem SYSLOG

Uma nova classe de syslog, opção de configuração, pcp-logsfoi fornecida para controlar a geração de log PCP. Ele fornece os seguintes níveis de registro:

  • protocol— Todos os logs relacionados à criação de mapeamento, exclusão estão incluídos neste nível de registro.

  • protocol-error— Todos os logs relacionados a erros de protocolo (como falha na atualização de mapeamento, falha na aparência do PCP, falha na criação de mapeamento). estão incluídos neste nível de registro.

  • system-error— Erros de memória e infraestrutura estão incluídos nesse nível de registro.

Monitoramento das operações de protocolo de controle de portas

Você pode monitorar as operações do Protocolo de Controle de Portas (PCP) com os seguintes comandos operacionais:

  • Para MS-MPCs, use o show services nat mappings pcp comando.

    Nota:

    O PCP não tem suporte para serviços de próxima geração no Junos OS Release 19.3R2

  • Para MS-MPCs, use o show services nat mappings endpoint-independent comando.

    Para os serviços de próxima geração, use o show services nat source mappings endpoint-independent comando.

  • show services pcp statistics protocol

A seguir, exemplos da saída desses comandos.

Exemplo: Configuração do protocolo de controle de portas com o NAPT44

Nota:

O PCP tem suporte no PICS MS-DPC, MS-100, MS-400 e MS-500 MultiServices. A partir do Junos OS Release 17.4R1, o PCP para NATP44 também tem suporte no MS-MPC e MS-MIC.

Requisitos

Requisitos de hardware

  • UEs com clientes PCP.

  • Um roteador MX 3D com serviços MS-DPC PIC.

  • Requisitos de software

  • Junos OS 13.2

  • Pacote de serviços de Camada 3

Visão geral

Um ISP quer permitir que ues com clientes PCP mantenham conexões com servidores sem temporizar. Os clientes PCP geram solicitações de PCP para o tipo e duração da conexão que precisam. Conexões podem ser de longa duração, como aplicativos que usam uma web ou uma duração mais curta, como jogos online. Um roteador MX 3D oferece um servidor PCP para interpretar solicitações de clientes PCP e NAPT44. A Figura 3 mostra a topologia básica para este exemplo.

Figura 3: PCP com NAPT44 PCP with NAPT44

Configuração do PCP

Configuração rápida da CLI

Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de hierarquia [editar].

Configuração do chassi

Procedimento passo a passo

Para configurar o PIC de serviço (FPC 2 Slot 0) com o pacote de serviços de Camada 3:

  1. Vá para o nível de hierarquia [editar chassi].

  2. Configure o pacote de serviços de Camada 3.

Resultados

Configuração de interface

Procedimento passo a passo

  1. Configure os serviços MS-DPC.

  2. Configure a interface voltada para o cliente usada para serviços NAT e PCP.

  3. Configure a interface voltada para a Internet.

Resultados

Configuração de NAT

Procedimento passo a passo

  1. Vá na [edit services nat] hierarquia.

  2. Configure um grupo de NAT chamado pcp-pool.

  3. Configure uma regra de NAT chamada pcp-rule.

Resultados

Configuração do PCP

Procedimento passo a passo

Para configurar as opções de regra do servidor PCP e PCP.

  1. Vá para o edit services pcp nível de hierarquia para servidor pcp-s1

  2. Configure as opções de servidor PCP.

  3. Crie a regra do PCP.

  4. Configure as opções de regra do PCP.

Resultados

Configuração do conjunto de serviços

Procedimento passo a passo

  1. Crie um conjunto de serviços, sset_0no nível de edit services service-set hierarquia.

  2. Identificar a regra de NAT associada ao conjunto de serviços.

  3. Identificar a regra do PCP associada ao conjunto de serviços.

  4. Identificar a interface de serviço associada ao conjunto de serviços.

Resultados

Tabela de histórico de mudanças

O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.

Lançamento
Descrição
20.2R1
A partir do Junos 20.2R1, o PCP para serviços CGNAT DS-Lite tem suporte para serviços de próxima geração.
20.2R1
A partir do lançamento do Junos OS, o PCP 20.2R1 tem suporte na placa de serviços de segurança MX-SPC3 para serviços CGNAT.
18.2R1
A partir do Junos OS Release 18.2R1, PCP no MS-MPC e MS-MIC oferece suporte a DS-Lite.
18.2R1
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também tem suporte no MS-MPC e MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também tem suporte no MS-MPC e MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NATP44 também tem suporte no MS-MPC e MS-MIC.
15.1
Começando pelo Junos OS Release 15.1, o Protocolo de Controle de Porta (PCP) versão 2 é suportado, o que está em conformidade com o RFC 6887.