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 futuros 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 é compatível com o MS-MPC e o 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 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 a 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 período 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 os 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, computadores remotos devem ser informados sobre o endereço IP e a porta para a conexão de entrada. Normalmente, isso é feito de maneira específica da aplicação.

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 para 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 configurar 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 contendo solicitações de PCP recebidos diretamente de equipamentos de usuário, como mostrado na Figura 1.

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

    Figura 2: PCP com modo de planície DS-Lite PCP with DS-Lite Plain Mode
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 compatíveis com NAT enviam mensagens frequentes em nível de aplicativo para garantir que suas sessões não sejam cronometradas por um dispositivo NAT. O PCP está acostumado a:

  • Reduza a frequência dessas mensagens keepalive do 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

A partir do Junos OS Release 15.1, o Protocolo de Controle de Portas (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 futuros 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 os aplicativos criem mapeamentos de um endereço IP externo e porta para um endereço IP e uma porta interna. Um payload nonce evita um ataque de repetição e é enviado por padrão, a menos que seja explicitamente desativado.

A verificação da 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 preservado seja preservado. A versão da solicitação inicial que permite a criação do mapeamento também é preservada. Esse comportamento de salvar os parâmetros de nonce e 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 mapeamentos de 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 nos roteadores da Juniper Networks de acordo com a versão 22 do PCP com codificação de mensagens versão 1. Com o PCP sendo refinado da versão de rascunho conforme definido 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 conforme definido no RFC 6887 -- Protocolo de controle de portas (PCP), a codificação da mensagem mudou para a versão 2 com a adição de uma carga de pagamento 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 CPE (Customer Premises Equipment, equipamentos locais do cliente) que oferecem suporte cada vez maior apenas à versão 2, é necessário analisar e enviar mensagens da versão 2. A compatibilidade reversa com dispositivos CPE com suporte à versão 1 é mantida (a negociação de versão faz parte do padrão) e autentica pacotes de payload de solicitação 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, a nonce de solicitação de PCP não corresponde ao mapeamento existente, é introduzido para indicar o número de solicitações pcp versão 2 que foram ignoradas porque a carga de pagamento da 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 porta (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 é compatível com o MS-MPC e o 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 a DS-Lite. A partir do lançamento do Junos OS 20.2R1 PCP é suportado 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 um nome de servidor PCP.
  2. Defina os endereços IPv4 ou IPv6 do servidor. Para PCP DS-Lite, o ipv6-address endereço deve combinar com o AFTR (Roteador de transição familiar de endereços ou concentrador 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 a 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 curta duração ou longa vida útil.
  6. (Opcional)— Habilite opções de PCP no servidor PCP especificado. As seguintes opções 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 PCP solicita um endereço/porta IP específico que não está disponível, em vez de atribuir outro endereço disponível no pool NAT. Se prefer-failure não for especificado, o NAPT44 atribui um endereço/porta disponível do pool NAT com base nas opções NAT configuradas.
  7. (Opcional)— Especifique qual pool de NAT usar para mapeamento.
    Nota:

    Quando você não especifica explicitamente um pool 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 NAT configurado para a primeira regra de correspondência para alocar mapeamentos para PCP.

    Você deve usar configuração explícita para usar vários pools 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 para anexar a um servidor PCP.

  8. (Opcional)— Configure o número máximo de mapeamentos por cliente. O padrão é de 32 e o 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árias aplicações.

    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 sujeito à regra.

  • Uma then opção que identifica quais 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á ao nível da [edit services pcp rule rule-name] hierarquia e especifique a match-direction entrada.
  2. Vá para o nível de [edit services pcp rule rule-name term term-name] hierarquia e forneça um nome de termo.

    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, todo o from 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 a aplicação é 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 é 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 ou prefixo de origem é processado pela regra do PCP. Se você incluir a opção except , o tráfego do endereço de origem ou prefixo não é 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 do 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 pcp não são criados se você não configurar EIM e EIF com PCP para IPv4-to-IPv4 NAT 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 nível de [edit services service-set service-set-name 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 usada 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 logs PCP. Ele fornece os seguintes níveis de registro:

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

  • protocol-error— Todos os logs relacionados a erros de protocolo (como falha na atualização do mapeamento, falha no visual do PCP, falha na criação do mapeamento). estão incluídos nesse 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 porta

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 estão exemplos da saída desses comandos.

Exemplo: configurar o protocolo de controle de portas com o NAPT44

Nota:

O PCP tem suporte nas PICS de MS-DPC, MS-100, MS-400 e MS-500. A partir do Junos OS Release 17.4R1, o PCP para NATP44 também é compatível com o MS-MPC e o MS-MIC.

Requisitos

Requisitos de hardware

  • UEs com clientes PCP.

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

  • 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 usando uma web ou uma duração mais curta, como jogos online. Um roteador MX 3D fornece 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 de PCP

Configuração rápida da CLI

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

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 pool de NAT chamado pcp-pool.

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

Resultados

Configuração de PCP

Procedimento passo a passo

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

  1. Vá para o nível de edit services pcp 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 regras 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 da edit services service-set hierarquia.

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

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

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

Resultados
Tabela de histórico de lançamento
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 20.2R1 PCP é suportado 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 é compatível com o MS-MPC e o MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NAPT44 também é compatível com o MS-MPC e o MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o PCP para NATP44 também é compatível com o MS-MPC e o MS-MIC.
15.1
A partir do Junos OS Release 15.1, o Protocolo de Controle de Portas (PCP) versão 2 é suportado, o que está em conformidade com o RFC 6887.