BFD para sessões BGP
Entender o BFD para BGP
O protocolo de Detecção de Encaminhamento Bidirecional (BFD) é um mecanismo simples de saudação que detecta falhas em uma rede. Os pacotes Hello são enviados em um intervalo regular especificado. Uma falha de vizinho é detectada quando o dispositivo de roteamento para de receber uma resposta após um intervalo especificado. O BFD trabalha com uma ampla variedade de ambientes de rede e topologias. Os temporizadores de detecção de falhas para BFD têm limites de tempo mais curtos do que os mecanismos de detecção de falhas padrão para BGP, portanto, fornecem uma detecção mais rápida.
Use o Explorador de Recursos para confirmar o suporte à plataforma e à versão para recursos específicos.
Examine a seção BFD específico da plataforma para comportamento do BGP para obter notas relacionadas à sua plataforma.
Configurar o BFD e a reinicialização graciosa para BGP no mesmo dispositivo é contraproducente. Quando uma interface fica inativa, o BFD detecta isso instantaneamente, interrompe o encaminhamento de tráfego e a sessão BGP fica inativa, enquanto a reinicialização graciosa encaminha o tráfego apesar da falha da interface, esse comportamento pode causar problemas de rede. Portanto, não recomendamos configurar BFD e reinicialização graciosa no mesmo dispositivo.
Os temporizadores de detecção de falhas de BFD podem ser ajustados para serem mais rápidos ou mais lentos. Quanto menor o valor do temporizador de detecção de falhas de BFD, mais rápida é a detecção de falhas e vice-versa. Por exemplo, os temporizadores podem se adaptar a um valor mais alto se a adjacência falhar (ou seja, o temporizador detecta falhas mais lentamente). Ou um vizinho pode negociar um valor mais alto para um temporizador do que o valor configurado. Os temporizadores se adaptam a um valor mais alto quando um flap de sessão BFD ocorre mais de três vezes em um período de 15 segundos (15000 milissegundos). Um algoritmo de retirada aumenta o intervalo de recebimento (Rx) em dois se a instância BFD local for o motivo da oscilação de sessão. O intervalo de transmissão (Tx) é aumentado em dois se a instância BFD remota for o motivo da oscilação de sessão. Você pode usar o clear bfd adaptation comando para retornar os temporizadores de intervalo BFD aos seus valores configurados. O clear bfd adaptation comando não tem hits, o que significa que o comando não afeta o fluxo de tráfego no dispositivo de roteamento.
Modo estrito de BFD para sessões de peer BGP
O Junos OS oferece suporte ao modo estrito BFD para sessões de peer BGP. Quando o modo estrito está habilitado, o BGP aguarda que a sessão BFD associada seja estabelecida e estável antes de permitir que a sessão BGP faça a transição para Established. O modo estrito ajuda a reduzir a rotatividade de rota quando o BFD está indisponível ou instável.
- Comportamento
- Exemplo: configurar o intervalo de espera de BFD estrito para um vizinho BGP
- Limites e padrões
Comportamento
-
Quando
strict-bfdconfigurado embfd-liveness-detection, a máquina de estado finito BGP aguarda que a sessão BFD associada relate Up antes de permitir que a sessão BGP entre em Established. -
Se o BFD não relatar Up dentro do intervalo de espera permitido, a sessão BGP será redefinida e o roteador enviará uma notificação BGP com o subcódigo BFD Down para o peer.
-
O intervalo de espera usado é:
-
o tempo de retenção do BGP quando o tempo de espera é diferente de zero, ou
-
o configurado
bfd-up-wait-intervalquando o tempo de espera do BGP é0.
-
-
strict-bfdestá desabilitado por padrão e deve ser configurado explicitamente. -
Alterações
strict-bfdoubfd-up-wait-intervalaplicação imediata para sessões não estabelecidas. Para sessões estabelecidas, as alterações entram em vigor na próxima reinicialização da sessão. -
Ambos os pares devem anunciar suporte para o recurso de BFD estrito para que o comportamento estrito tenha efeito nessa sessão.
Configure os roteadores peer de forma idêntica com o modo estrito BFD e intervalos de espera para evitar estados ociosos indefinidos e garantir o estabelecimento adequado da sessão BGP.
Exemplo: configurar o intervalo de espera de BFD estrito para um vizinho BGP
Você pode configurar o BGP para operar no modo estrito BFD, garantindo que uma sessão BGP não seja estabelecida até que a sessão BFD associada seja estabelecida e estável com êxito.
Essa configuração ajuda a evitar a rotatividade de roteamento e melhora a confiabilidade da sessão em redes onde o caminho do plano de dados pode ser instável.
Para configurar o BGP para aguardar até 20 segundos para que a sessão BFD seja ativada antes de estabelecer a sessão BGP:
[edit protocols bgp] user@host# set group EBGP neighbor 198.51.100.1 bfd-liveness-detection strict-bfd bfd-up-wait-interval 20
Neste exemplo:
-
O roteador aguarda até 20 segundos para que a sessão BFD seja ativada se o tempo de espera do BGP for
0. -
Se o tempo de espera for diferente de zero, esse valor substituirá o intervalo de espera.
-
Se a sessão BFD for ativada antes que o intervalo expire, o cronômetro será cancelado.
-
Se o intervalo expirar sem que o BFD se torne operacional, a sessão BGP será redefinida e uma mensagem de notificação BGP será enviada ao peer.
Limites e padrões
-
Intervalo de espera padrão: 30 segundos (aplica-se quando usado)
-
Intervalo suportado: 10 a 255 segundos
-
Inicialização prática mínima de BFD no Junos (dependente da plataforma): normalmente leva cerca de 4 a 6 segundos. Use os 10 segundos mínimos permitidos para fornecer tempo suficiente para que uma nova sessão BFD conclua a inicialização.
Veja também
Exemplo: configuração de BFD em sessões internas de peer BGP
Este exemplo mostra como configurar sessões internas de peer BGP (IBGP) com o protocolo de Detecção de Encaminhamento Bidirecional (BFD) para detectar falhas em uma rede.
Requerimentos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
A configuração mínima para habilitar o BFD em sessões do IBGP é incluir a bfd-liveness-detection minimum-interval declaração na configuração do BGP de todos os vizinhos que participam da sessão do BFD. A minimum-interval instrução especifica os intervalos mínimos de transmissão e recebimento para detecção de falha. Especificamente, esse valor representa o intervalo mínimo após o qual o dispositivo de roteamento local transmite pacotes de saudação, bem como o intervalo mínimo que o dispositivo de roteamento espera receber uma resposta de um vizinho com o qual estabeleceu uma sessão BFD. Você pode configurar um valor de 1 a 255.000 milissegundos.
Opcionalmente, você pode especificar os intervalos mínimos de transmissão e recebimento separadamente usando as transmit-interval minimum-interval instruções and minimum-receive-interval . Para obter informações sobre essas e outras declarações de configuração BFD opcionais, consulte bfd-liveness-detection.
Dependendo do seu ambiente de rede, estas recomendações adicionais podem ser aplicadas:
Para evitar flapping de BFD durante o evento geral de switchover do Mecanismo de Roteamento, especifique um intervalo mínimo de 5000 milissegundos para sessões baseadas no Mecanismo de Roteamento. Esse valor mínimo é necessário porque, durante o evento geral de comutação do Mecanismo de Roteamento, processos como RPD, MIBD e SNMPD utilizam recursos da CPU para mais do que o valor limite especificado. Portanto, o processamento e o agendamento de BFD são afetados devido a essa falta de recursos de CPU.
Para que as sessões de BFD permaneçam ativas durante o cenário de enlace de controle de cluster dual chassis, quando o primeiro enlace de controle falhar, especifique o intervalo mínimo de 6000 milissegundos para evitar que o LACP bata no nó secundário para sessões baseadas no Mecanismo de Roteamento.
Para implantações de rede em grande escala com um grande número de sessões BFD, especifique um intervalo mínimo de 300 milissegundos para sessões baseadas no Mecanismo de Roteamento e 100 milissegundos para sessões BFD distribuídas.
Para implantações de rede em grande escala com um grande número de sessões de BFD, entre em contato com o suporte ao cliente da Juniper Networks para obter mais informações.
Para que as sessões de BFD permaneçam ativas durante um evento de switchover do Mecanismo de Roteamento quando o roteamento ativo sem interrupções (NSR) estiver configurado, especifique um intervalo mínimo de 2500 milissegundos para sessões baseadas no Mecanismo de Roteamento. Para sessões BFD distribuídas com NSR configurado, as recomendações de intervalo mínimo permanecem inalteradas e dependem apenas da sua implantação de rede.
O BFD é suportado na instância de roteamento padrão (o roteador principal), instâncias de roteamento e sistemas lógicos. Este exemplo mostra BFD em sistemas lógicos.
A Figura 1 mostra uma rede típica com sessões internas de pares.
do IBGP
Configuração
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.
Dispositivo A
set logical-systems A interfaces lt-1/2/0 unit 1 description to-B set logical-systems A interfaces lt-1/2/0 unit 1 encapsulation ethernet set logical-systems A interfaces lt-1/2/0 unit 1 peer-unit 2 set logical-systems A interfaces lt-1/2/0 unit 1 family inet address 10.10.10.1/30 set logical-systems A interfaces lo0 unit 1 family inet address 192.168.6.5/32 set logical-systems A protocols bgp group internal-peers type internal set logical-systems A protocols bgp group internal-peers traceoptions file bgp-bfd set logical-systems A protocols bgp group internal-peers traceoptions flag bfd detail set logical-systems A protocols bgp group internal-peers local-address 192.168.6.5 set logical-systems A protocols bgp group internal-peers export send-direct set logical-systems A protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems A protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems A protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems A protocols ospf area 0.0.0.0 interface lo0.1 passive set logical-systems A protocols ospf area 0.0.0.0 interface lt-1/2/0.1 set logical-systems A policy-options policy-statement send-direct term 2 from protocol direct set logical-systems A policy-options policy-statement send-direct term 2 then accept set logical-systems A routing-options router-id 192.168.6.5 set logical-systems A routing-options autonomous-system 17
Dispositivo B
set logical-systems B interfaces lt-1/2/0 unit 2 description to-A set logical-systems B interfaces lt-1/2/0 unit 2 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 2 peer-unit 1 set logical-systems B interfaces lt-1/2/0 unit 2 family inet address 10.10.10.2/30 set logical-systems B interfaces lt-1/2/0 unit 5 description to-C set logical-systems B interfaces lt-1/2/0 unit 5 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 5 peer-unit 6 set logical-systems B interfaces lt-1/2/0 unit 5 family inet address 10.10.10.5/30 set logical-systems B interfaces lo0 unit 2 family inet address 192.163.6.4/32 set logical-systems B protocols bgp group internal-peers type internal set logical-systems B protocols bgp group internal-peers local-address 192.163.6.4 set logical-systems B protocols bgp group internal-peers export send-direct set logical-systems B protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems B protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems B protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems B protocols ospf area 0.0.0.0 interface lo0.2 passive set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.2 set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.5 set logical-systems B policy-options policy-statement send-direct term 2 from protocol direct set logical-systems B policy-options policy-statement send-direct term 2 then accept set logical-systems B routing-options router-id 192.163.6.4 set logical-systems B routing-options autonomous-system 17
Dispositivo C
set logical-systems C interfaces lt-1/2/0 unit 6 description to-B set logical-systems C interfaces lt-1/2/0 unit 6 encapsulation ethernet set logical-systems C interfaces lt-1/2/0 unit 6 peer-unit 5 set logical-systems C interfaces lt-1/2/0 unit 6 family inet address 10.10.10.6/30 set logical-systems C interfaces lo0 unit 3 family inet address 192.168.40.4/32 set logical-systems C protocols bgp group internal-peers type internal set logical-systems C protocols bgp group internal-peers local-address 192.168.40.4 set logical-systems C protocols bgp group internal-peers export send-direct set logical-systems C protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems C protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems C protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems C protocols ospf area 0.0.0.0 interface lo0.3 passive set logical-systems C protocols ospf area 0.0.0.0 interface lt-1/2/0.6 set logical-systems C policy-options policy-statement send-direct term 2 from protocol direct set logical-systems C policy-options policy-statement send-direct term 2 then accept set logical-systems C routing-options router-id 192.168.40.4 set logical-systems C routing-options autonomous-system 17
Configurando o dispositivo A
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI.
Para configurar o Dispositivo A:
Defina a CLI como Sistema lógico A.
user@host> set cli logical-system A
Configure as interfaces.
[edit interfaces lt-1/2/0 unit 1] user@host:A# set description to-B user@host:A# set encapsulation ethernet user@host:A# set peer-unit 2 user@host:A# set family inet address 10.10.10.1/30 [edit interfaces lo0 unit 1] user@host:A# set family inet address 192.168.6.5/32
Configure BGP.
As
neighbordeclarações são incluídas para o Dispositivo B e o Dispositivo C, mesmo que o Dispositivo A não esteja diretamente conectado ao Dispositivo C.[edit protocols bgp group internal-peers] user@host:A# set type internal user@host:A# set local-address 192.168.6.5 user@host:A# set export send-direct user@host:A# set neighbor 192.163.6.4 user@host:A# set neighbor 192.168.40.4
Configurar BFD.
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
Você deve configurar o mesmo intervalo mínimo no peer de conexão.
(Opcional) Configure o rastreamento BFD.
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
Configure OSPF.
[edit protocols ospf area 0.0.0.0] user@host:A# set interface lo0.1 passive user@host:A# set interface lt-1/2/0.1
Configure uma política que aceite rotas diretas.
Outras opções úteis para esse cenário podem ser aceitar rotas aprendidas por meio de OSPF ou rotas locais.
[edit policy-options policy-statement send-direct term 2] user@host:A# set from protocol direct user@host:A# set then accept
Configure o ID do roteador e o número do sistema autônomo (AS).
[edit routing-options] user@host:A# set router-id 192.168.6.5 user@host:A# set autonomous-system 17
Se você terminar de configurar o dispositivo, entre no
commitmodo de configuração. Repita essas etapas para configurar o Dispositivo B e o Dispositivo C.
Resultados
No modo de configuração, confirme sua configuração inserindo os show interfacescomandos , show policy-options, , show protocolse show routing-options . Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@host:A# show interfaces
lt-1/2/0 {
unit 1 {
description to-B;
encapsulation ethernet;
peer-unit 2;
family inet {
address 10.10.10.1/30;
}
}
}
lo0 {
unit 1 {
family inet {
address 192.168.6.5/32;
}
}
}
user@host:A# show policy-options
policy-statement send-direct {
term 2 {
from protocol direct;
then accept;
}
}
user@host:A# show protocols
bgp {
group internal-peers {
type internal;
traceoptions {
file bgp-bfd;
flag bfd detail;
}
local-address 192.168.6.5;
export send-direct;
bfd-liveness-detection {
minimum-interval 1000;
}
neighbor 192.163.6.4;
neighbor 192.168.40.4;
}
}
ospf {
area 0.0.0.0 {
interface lo0.1 {
passive;
}
interface lt-1/2/0.1;
}
}
user@host:A# show routing-options router-id 192.168.6.5; autonomous-system 17;
Verificação
Confirme se a configuração está funcionando corretamente.
- Verificando se o BFD está habilitado
- Verificando se as sessões de BFD estão ativas
- Exibição de eventos BFD detalhados
- Visualizando eventos BFD detalhados após desativar e reativar uma interface de loopback
Verificando se o BFD está habilitado
Finalidade
Verifique se o BFD está habilitado entre os pares do IBGP.
Ação
Do modo operacional, insira o show bgp neighbor comando. Você pode usar o | match bfd filtro para restringir a saída.
user@host:A> show bgp neighbor | match bfd Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10 Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10
Significado
A saída mostra que o Sistema Lógico A tem dois vizinhos com BFD habilitado. Quando o BFD não está habilitado, a saída é exibida BFD: disabled, downe a <BfdEnabled> opção está ausente. Se o BFD estiver ativado e a sessão estiver inativa, a saída exibirá BFD: enabled, down. A saída também mostra que os eventos relacionados ao BFD estão sendo gravados em um arquivo de log porque as operações de rastreamento estão configuradas.
Verificando se as sessões de BFD estão ativas
Finalidade
Verifique se as sessões de BFD estão ativas e veja detalhes sobre as sessões de BFD.
Ação
Do modo operacional, insira o show bfd session extensive comando.
user@host:A> show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.163.6.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:54:40
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 10, remote discriminator 9
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
Detect Transmit
Address State Interface Time Interval Multiplier
192.168.40.4 Up 3.000 1.000 3
Client BGP, TX interval 1.000, RX interval 1.000
Session up time 00:48:03
Local diagnostic None, remote diagnostic None
Remote state Up, version 1
Logical system 12, routing table index 25
Min async interval 1.000, min slow interval 1.000
Adaptive async TX interval 1.000, RX interval 1.000
Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3
Remote min TX interval 1.000, min RX interval 1.000, multiplier 3
Local discriminator 14, remote discriminator 13
Echo mode disabled/inactive
Multi-hop route table 25, local-address 192.168.6.5
2 sessions, 2 clients
Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 pps
Significado
A TX interval 1.000, RX interval 1.000 saída representa a configuração configurada com a minimum-interval instrução. Todas as outras saídas representam as configurações padrão para BFD. Para modificar as configurações padrão, inclua as instruções opcionais na bfd-liveness-detection instrução.
Exibição de eventos BFD detalhados
Finalidade
Exiba o conteúdo do arquivo de rastreamento BFD para ajudar na solução de problemas, se necessário.
Ação
Do modo operacional, insira o file show /var/log/A/bgp-bfd comando.
user@host:A> file show /var/log/A/bgp-bfd Aug 15 17:07:25 trace_on: Tracing to "/var/log/A/bgp-bfd" started Aug 15 17:07:26.492190 bgp_peer_init: BGP peer 192.163.6.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:26.493176 bgp_peer_init: BGP peer 192.168.40.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:32.597979 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:07:32.599623 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:07:36.869394 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:07:36.870624 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:04.599220 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:08:04.601135 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:08:08.869717 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:08:08.869934 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:36.603544 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:08:36.606726 bgp_read_message: 192.163.6.4 (Internal AS 17): 0 bytes buffered Aug 15 17:08:36.609119 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:36.734033 advertising receiving-speaker only capabilty to neighbor 192.168.40.4 (Internal AS 17) Aug 15 17:08:36.738436 Initiated BFD session to peer 192.168.40.4 (Internal AS 17): address=192.168.40.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:40.537552 BFD session to peer 192.163.6.4 (Internal AS 17) up Aug 15 17:08:40.694410 BFD session to peer 192.168.40.4 (Internal AS 17) up
Significado
Antes que as rotas sejam estabelecidas, a No route to host mensagem aparece na saída. Depois que as rotas são estabelecidas, as duas últimas linhas mostram que ambas as sessões de BFD são ativadas.
Visualizando eventos BFD detalhados após desativar e reativar uma interface de loopback
Finalidade
Verifique o que acontece depois de desligar um roteador ou switch e depois ativá-lo novamente. Para simular a derrubada de um roteador ou switch, desative a interface de loopback no Sistema Lógico B.
Ação
No modo de configuração, insira o
deactivate logical-systems B interfaces lo0 unit 2 family inetcomando.user@host:A# deactivate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
Do modo operacional, insira o
file show /var/log/A/bgp-bfdcomando.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:20:55.995648 bgp_read_v4_message:9747: NOTIFICATION received from 192.163.6.4 (Internal AS 17): code 6 (Cease) subcode 6 (Other Configuration Change) Aug 15 17:20:56.004508 Terminated BFD session to peer 192.163.6.4 (Internal AS 17) Aug 15 17:21:28.007755 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:21:28.008597 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host
No modo de configuração, insira o
activate logical-systems B interfaces lo0 unit 2 family inetcomando.user@host:A# activate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
Do modo operacional, insira o
file show /var/log/A/bgp-bfdcomando.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:25:53.623743 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:25:53.631314 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:25:57.570932 BFD session to peer 192.163.6.4 (Internal AS 17) up
Entender a autenticação BFD para BGP
O protocolo de detecção de encaminhamento bidirecional (BFD) permite a detecção rápida de falhas de comunicação entre sistemas adjacentes. Por padrão, a autenticação para sessões de BFD está desabilitada. No entanto, quando você executa BFD em protocolos de Camada de Rede, o risco de ataques de serviço pode ser significativo. É altamente recomendável usar a autenticação se você estiver executando BFD em vários saltos ou por meio de túneis inseguros. O Junos OS oferece suporte à autenticação para sessões de BFD executadas no BGP. A autenticação BFD não é suportada em sessões MPLS OAM. A autenticação BFD só é suportada na versão do Canadá e dos Estados Unidos da imagem do Junos OS e não está disponível na versão de exportação.
Você autentica sessões BFD especificando um algoritmo de autenticação e conjunto de chaves e, em seguida, associando essas informações de configuração a um conjunto de chaves de autenticação de segurança usando o nome do conjunto de chaves.
As seções a seguir descrevem os algoritmos de autenticação, as chaves de segurança e o nível de autenticação com suporte que podem ser configurados:
- Algoritmos de autenticação BFD
- Chaves de autenticação de segurança
- Autenticação estrita versus frouxa
Algoritmos de autenticação BFD
O Junos OS oferece suporte aos seguintes algoritmos para autenticação BFD:
simple-password— senha de texto simples. Um a 16 bytes de texto simples são usados para autenticar a sessão BFD. Uma ou mais senhas podem ser configuradas. Esse método é o menos seguro e deve ser usado somente quando as sessões de BFD não estão sujeitas à interceptação de pacotes.
keyed-md5— Algoritmo de hash Keyed Message Digest 5 para sessões com intervalos de transmissão e recebimento superiores a 100 ms. Para autenticar a sessão BFD, o MD5 com chave usa uma ou mais chaves secretas (geradas pelo algoritmo) e um número de sequência que é atualizado periodicamente. Com esse método, os pacotes são aceitos na extremidade receptora da sessão se uma das chaves corresponder e o número de sequência for maior ou igual ao último número de sequência recebido. Embora mais seguro do que uma simples senha, esse método é vulnerável a ataques de repetição. Aumentar a taxa na qual o número de sequência é atualizado pode reduzir esse risco.
meticulous-keyed-md5— algoritmo de hash meticuloso do Message Digest 5. Esse método funciona da mesma maneira que o MD5 com chave, mas o número de sequência é atualizado a cada pacote. Embora seja mais seguro do que o MD5 com chave e senhas simples, esse método pode levar mais tempo para autenticar a sessão.
keyed-sha-1— Algoritmo de hash seguro com chave I para sessões com intervalos de transmissão e recepção superiores a 100 ms. Para autenticar a sessão BFD, o SHA com chave usa uma ou mais chaves secretas (geradas pelo algoritmo) e um número de sequência que é atualizado periodicamente. A chave não é transportada dentro dos pacotes. Com esse método, os pacotes são aceitos na extremidade receptora da sessão se uma das chaves corresponder e o número de sequência for maior que o último número de sequência recebido.
meticulous-keyed-sha-1— Algoritmo de hash seguro meticuloso com chave I. Esse método funciona da mesma maneira que o SHA com chave, mas o número de sequência é atualizado a cada pacote. Embora seja mais seguro do que SHA com chave e senhas simples, esse método pode levar mais tempo para autenticar a sessão.
O roteamento ativo sem interrupções (NSR) não é compatível com algoritmos de autenticação meticulous-keyed-md5 e meticulous-keyed-sha-1. As sessões de BFD que usam esses algoritmos podem ficar inativas após um switchover.
Chaves de autenticação de segurança
O conjunto de chaves de autenticação de segurança define os atributos de autenticação usados para atualizações de chave de autenticação. Quando o conjunto de chaves de autenticação de segurança é configurado e associado a um protocolo por meio do nome do conjunto de chaves, as atualizações de chave de autenticação podem ocorrer sem interromper os protocolos de roteamento e sinalização.
As chaves de autenticação contêm uma ou mais chaves. Cada chaveiro contém uma ou mais chaves. Cada chave contém os dados secretos e a hora em que a chave se torna válida. O algoritmo e as chaves devem ser configurados em ambas as extremidades da sessão BFD e devem corresponder. Qualquer incompatibilidade na configuração impede que a sessão BFD seja criada.
O BFD permite vários clientes por sessão, e cada cliente pode ter suas próprias chaves e algoritmos definidos. Para evitar confusão, recomendamos especificar apenas uma chave de autenticação de segurança.
Autenticação estrita versus frouxa
Por padrão, a autenticação estrita é ativada e a autenticação é verificada em ambas as extremidades de cada sessão BFD. Opcionalmente, para facilitar a migração de sessões não autenticadas para sessões autenticadas, você pode configurar a verificação flexível. Quando a verificação flexível é configurada, os pacotes são aceitos sem que a autenticação seja verificada em cada extremidade da sessão. Esta característica destina-se apenas a períodos transitórios.
Veja também
Exemplo: configuração da autenticação BFD para BGP
A partir do Junos OS Release 9.6, você pode configurar a autenticação para sessões de BFD executadas no BGP. Apenas três etapas são necessárias para configurar a autenticação em uma sessão BFD:
Especifique o algoritmo de autenticação BFD para o protocolo BGP.
Associe as chaves de autenticação ao protocolo BGP.
Configure as chaves de autenticação de segurança relacionadas.
As seções a seguir fornecem instruções para configurar e visualizar a autenticação BFD no BGP:
- Configuração de parâmetros de autenticação BFD
- Visualizando informações de autenticação para sessões BFD
Configuração de parâmetros de autenticação BFD
A autenticação BFD pode ser configurada para todo o protocolo BGP ou um grupo BGP específico, vizinho ou instância de roteamento.
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.
Para configurar a autenticação BFD:
A autenticação BFD só é suportada na versão do Canadá e dos Estados Unidos da imagem do Junos OS e não está disponível na versão de exportação.
Visualizando informações de autenticação para sessões BFD
Você pode visualizar a configuração de autenticação BFD existente usando os show bfd session detail comandos e show bfd session extensive .
O exemplo a seguir mostra a autenticação BFD configurada para o bgp-gr1 grupo BGP. Ele especifica o algoritmo de autenticação SHA-1 com chave e um nome de conjunto de chaves de bfd-bgp. As chaves de autenticação são configuradas com duas chaves. A chave 1 contém os dados secretos "$ABC 123$ABC123" e uma hora de início de 1º de junho de 2009, às 9:46:02 AM PST. A chave 2 contém os dados secretos "$ABC 123$ABC123" e uma hora de início de 1º de junho de 2009, às 15:29:20 PST.
[edit protocols bgp]
group bgp-gr1 {
bfd-liveness-detection {
authentication {
algorithm keyed-sha-1;
key-chain bfd-bgp;
}
}
}
[edit security]
authentication key-chains {
key-chain bfd-bgp {
key 1 {
secret “$ABC123$ABC123”;
start-time “2009-6-1.09:46:02 -0700”;
}
key 2 {
secret “$ABC123$ABC123”;
start-time “2009-6-1.15:29:20 -0700”;
}
}
}
Se você confirmar essas atualizações em sua configuração, verá uma saída semelhante à seguinte. Na saída do comando, Autenticar é exibido para indicar que a show bfd session detail autenticação BFD está configurada. Para obter mais informações sobre a configuração, use o show bfd session extensive comando. A saída desse comando fornece o nome do conjunto de chaves, o algoritmo e o modo de autenticação para cada cliente na sessão e o status geral da configuração de autenticação BFD, o nome do conjunto de chaves e o algoritmo e modo de autenticação.
Mostrar detalhes da sessão de BFD
user@host# show bfd session detail
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client BGP, TX interval 0.300, RX interval 0.300, Authenticate
Session up time 3d 00:34
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
Mostrar sessão de BFD extensa
user@host# show bfd session extensive
Detect Transmit
Address State Interface Time Interval Multiplier
192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3
Client BGP, TX interval 0.300, RX interval 0.300, Authenticate
keychain bfd-bgp, algo keyed-sha-1, mode strict
Session up time 00:04:42
Local diagnostic None, remote diagnostic NbrSignal
Remote state Up, version 1
Replicated
Min async interval 0.300, min slow interval 1.000
Adaptive async TX interval 0.300, RX interval 0.300
Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3
Remote min TX interval 0.300, min RX interval 0.300, multiplier 3
Local discriminator 2, remote discriminator 2
Echo mode disabled/inactive
Authentication enabled/active, keychain bfd-bgp, algo keyed-sha-1, mode strict
BFD específico da plataforma para comportamento de BGP
Use o Explorador de Recursos para confirmar o suporte à plataforma e à versão para recursos específicos.
Use a tabela a seguir para analisar os comportamentos específicos da plataforma:
BFD específico da plataforma para comportamento de BGP
| Plataforma | Diferença |
|---|---|
| Série ACX |
|
| Série EX |
|
| Série QFX |
|
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.