BMP no Huawei NE para o EdgeWarden, configuração comentada

Configuração BMP de um Huawei NE de borda linha a linha: sessão, Adj-RIB-In, Adj-RIB-Out e Local-RIB em IPv4 e IPv6, o que chega ao EdgeWarden e conferência.

O que o BMP entrega ao EdgeWarden

O BMP (BGP Monitoring Protocol, RFC 7854) envia ao coletor, em tempo real, as tabelas BGP do roteador. No EdgeWarden, elas aparecem em BGP → BMP Station, numa tela só de leitura. A explicação de cada tabela (RIB) e de quem depende delas está em BMP no Juniper MX para o EdgeWarden, configuração comentada; aqui o foco é a configuração do Huawei.

Na Huawei, o BMP fica numa visão própria, fora do BGP, e tudo é declarado no mesmo lugar, por sessão e por família. Não há a armadilha de hierarquias do Junos.

O endereço do coletor foi trocado por um endereço de documentação: 192.0.2.10. Troque pelo seu.

Pré-requisitos

  • Licença Enterprise: sem ela, o receptor BMP do EdgeWarden não sobe e o log registra o motivo. Depois do upgrade, reinicie o coletor.
  • Porta 11019/TCP liberada no servidor do EdgeWarden, só para os IPs dos roteadores. O EdgeWarden abre a porta e espera: quem conecta é sempre o roteador.
  • VRP com confirmação em duas etapas: nada vale até o commit.

A configuração

Esta é a configuração como aparece no display current-configuration:

VRP: BMP em produção
bmp
 #
 bmp-session 192.0.2.10 alias netflowspec
  tcp connect port 11019
  connect-interface LoopBack0
  #
  monitor public
   route-mode ipv4-family unicast adj-rib-in pre-policy
   route-mode ipv4-family unicast adj-rib-out pre-policy
   route-mode ipv4-family unicast adj-rib-out post-policy
   route-mode ipv4-family unicast local-rib
   route-mode ipv6-family unicast adj-rib-in pre-policy
   route-mode ipv6-family unicast adj-rib-out pre-policy
   route-mode ipv6-family unicast adj-rib-out post-policy
   route-mode ipv6-family unicast local-rib
  #
  monitor peer 192.0.2.10
#

Sessão

  • bmp: entra na visão do BMP, separada da configuração do BGP.
  • bmp-session 192.0.2.10 alias netflowspec: cria a sessão BMP com o coletor do EdgeWarden. O alias dá nome à sessão e permite ter mais de uma sessão para o mesmo IP.
  • tcp connect port 11019: o roteador abre a conexão TCP para a porta 11019 do coletor, a porta padrão do EdgeWarden.
  • connect-interface LoopBack0: a sessão sai pela loopback. É o IP de origem da sessão que vira a identidade do roteador no EdgeWarden; com a loopback, ele fica estável e igual ao do cadastro do dispositivo e do SNMP. Sem essa linha, a sessão sai pela interface que alcança o coletor, e uma mudança de rota faz o roteador reaparecer como se fosse outro, com o histórico partido em dois. Ao aplicar num roteador que já tem a sessão no ar, ela cai e reconecta; as sessões BGP com os vizinhos não são afetadas. Libere a 11019 no servidor também para o IP da loopback.

O que é monitorado

  • monitor public: monitora os vizinhos BGP da rede pública (fora de VPN). As linhas route-mode abaixo dizem quais tabelas de cada vizinho são enviadas.
  • route-mode ipv4-family unicast adj-rib-in pre-policy: envia o in pre, tudo que cada vizinho anuncia em IPv4, antes do filtro de entrada. Responde "o vizinho está me mandando este prefixo?".
  • route-mode ipv4-family unicast adj-rib-out pre-policy: envia o out pre, o que sairia para cada vizinho em IPv4, antes da política de saída.
  • route-mode ipv4-family unicast adj-rib-out post-policy: envia o out post, o que é de fato anunciado a cada vizinho em IPv4, depois da política de saída. O VRP aceita pre-policy e post-policy juntos no Adj-RIB-Out: com as duas linhas, chegam as duas versões.
  • route-mode ipv4-family unicast local-rib: envia a Local-RIB IPv4, a tabela efetiva do roteador. Ela não tem pre nem post, porque é o resultado da decisão BGP.
  • As quatro linhas ipv6-family: o mesmo para IPv6. Na Huawei, cada família é declarada à parte; sem essas linhas, o IPv6 não chega.
  • monitor peer 192.0.2.10: abre a configuração de monitoramento de um vizinho BGP específico, aqui o próprio servidor do EdgeWarden, que também tem sessão BGP com o roteador. Sem route-mode embaixo, a linha não muda o que é enviado: no display bgp bmp-monitor all, esse vizinho aparece com as mesmas tabelas do monitor public.

Retenção das rotas no BGP

A linha abaixo fica na configuração do BGP, não na visão do BMP:

VRP: BGP com keep-all-routes
bgp 65000
 keep-all-routes
  • bgp 65000: a visão do BGP. Troque pelo seu ASN.
  • keep-all-routes: o roteador guarda todas as rotas recebidas de cada vizinho desde que a sessão subiu, inclusive as que a política de entrada (route-policy, filter-policy, ip-prefix) rejeitou. Elas ficam armazenadas, mas não entram na tabela BGP ativa.
  • O uso original é trocar uma política de entrada sem derrubar a sessão: o roteador reaplica a política nova sobre a cópia local, sem pedir ao vizinho que reenvie as rotas por route-refresh (RFC 2918). É o equivalente ao soft-reconfiguration inbound do Cisco.
  • Para o BMP, é o que deixa o in pre completo. Sem essa linha, o VRP descarta as rotas rejeitadas, elas nunca chegam ao BMP, e o in pre mostra só o que passou no filtro, o contrário do que "pre-policy" promete.
  • O custo é memória: o roteador guarda rotas que de outro modo descartaria. Se o seu BGP ainda não tem a linha, aplique em janela de manutenção e acompanhe a memória da Routing Engine e as sessões BGP depois do commit.

O que chega no EdgeWarden

Com esta configuração, a aba Route Feed da tela BMP Station mostra, na coluna RIB:

RIBDe onde vem
in preadj-rib-in pre-policy, IPv4 e IPv6
out preadj-rib-out pre-policy, IPv4 e IPv6
out postadj-rib-out post-policy, IPv4 e IPv6
loc-riblocal-rib, IPv4 e IPv6

in post não aparece, porque a configuração não pede adj-rib-in post-policy. O EdgeWarden processa IPv4 unicast e IPv6 unicast; VPN, L2VPN e FlowSpec que cheguem pelo BMP são ignorados de propósito.

Pontos de atenção

Os pontos abaixo não mudam a configuração acima; dizem o que cada escolha significa no EdgeWarden.

Adj-RIB-Out em pre e post-policy

O out post é o que o roteador anuncia de fato a cada vizinho, depois da política de saída. A engenharia de entrada do EdgeWarden confirma os sinais (retirada ou prepend de um bloco para um provedor) e confere os anúncios manuais de entrada pelo out post: sem a linha post-policy, essa confirmação não acontece para o roteador. O out pre mostra o que sairia antes da política; comparar os dois mostra o que a política de saída filtrou ou mudou. O RIB Guard usa as duas versões.

Escopo

monitor public envia as tabelas de todos os vizinhos da rede pública, inclusive clientes que recebem tabela cheia. O Adj-RIB-Out de um cliente com tabela cheia gera muito volume sem valor para engenharia de tráfego. Para restringir, a Huawei usa monitor peer com os vizinhos de trânsito e peering, cada um com as suas linhas route-mode, no lugar do monitor public.

Conferência

Saída num NE com esta configuração (endereços trocados e lista de vizinhos encurtada):

VRP: estado do BMP
display bgp bmp-monitor all
 0.0.0.0/:: : monitor public / private
 Route modes: a - add-path, A - all, m - path-marking, ID - route-identifier

*>BGP ipv4-family unicast :
  Peer                Session Ip    Alias        State  route-mode
  0.0.0.0             192.0.2.10    netflowspec  up     local-rib
  203.0.113.1         192.0.2.10    netflowspec  up     in pre-policy/out pre-policy/out post-policy
  192.0.2.10          192.0.2.10    netflowspec  up     in pre-policy/out pre-policy/out post-policy
  203.0.113.5         192.0.2.10    netflowspec  up     in pre-policy/out pre-policy/out post-policy

*>BGP ipv6-family unicast :
  Peer                Session Ip    Alias        State  route-mode
  ::                  192.0.2.10    netflowspec  up     local-rib
  2001:DB8:1000::1E   192.0.2.10    netflowspec  up     in pre-policy/out pre-policy/out post-policy
  2001:DB8:8000::FFFE 192.0.2.10    netflowspec  up     in pre-policy/out pre-policy/out post-policy
  • State up em todas as linhas: a sessão BMP está no ar.
  • A Local-RIB aparece como um "vizinho" de endereço 0.0.0.0 (IPv4) e :: (IPv6), com local-rib na coluna route-mode. É normal.
  • Cada vizinho real mostra in pre-policy/out pre-policy/out post-policy, as três tabelas pedidas no monitor public.
  • IPv4 e IPv6 aparecem em blocos separados. Se uma família não aparece, falta o route-mode dela.
  • O IP do coletor (192.0.2.10) aparece também como vizinho, porque o servidor do EdgeWarden tem sessão BGP com este roteador.

No servidor do EdgeWarden, confira a sessão TCP:

Servidor EdgeWarden: sessões BMP
ss -tn state established '( sport = :11019 )'

Na interface, em BGP → BMP Station, a aba Roteadores mostra o NE pelo IP de origem da sessão, e a aba Route Feed mostra in pre, out pre, out post e loc-rib.

Libere a 11019/TCP no servidor só para os IPs dos roteadores. Quem conecta nessa porta e fala BMP entra na lista de roteadores e pode enviar rotas falsas para as automações que dependem do BMP.

Configuração para colar

Os mesmos comandos da configuração acima, com a navegação entre as visões (system-view, quit) e o commit no fim. Troque o coletor e o ASN pelos seus.

VRP: BMP para colar
system-view
bmp
 bmp-session 192.0.2.10 alias netflowspec
  tcp connect port 11019
  connect-interface LoopBack0
  monitor public
   route-mode ipv4-family unicast adj-rib-in pre-policy
   route-mode ipv4-family unicast adj-rib-out pre-policy
   route-mode ipv4-family unicast adj-rib-out post-policy
   route-mode ipv4-family unicast local-rib
   route-mode ipv6-family unicast adj-rib-in pre-policy
   route-mode ipv6-family unicast adj-rib-out pre-policy
   route-mode ipv6-family unicast adj-rib-out post-policy
   route-mode ipv6-family unicast local-rib
   quit
  monitor peer 192.0.2.10
   quit
  quit
 quit
bgp 65000
 keep-all-routes
 quit
commit

Próximos passos

A explicação de cada RIB e das automações que usam o BMP está em BMP no Juniper MX para o EdgeWarden, configuração comentada. Para os flows do mesmo NE, veja NetStream v9 comentado ou NetStream IPFIX comentado. Portas e firewall do servidor estão no guia de instalação.

Artigos relacionados

Todos os artigos

Quer ver esses flows no EdgeWarden?

Crie sua conta na Área do cliente e gere a licença demo: 7 dias com todos os recursos Enterprise, no seu servidor. Depois siga o guia de instalação para subir o coletor.