GP_Advanced_Routing
Este apêndice fornece uma visão geral sobre a implementação do Border Gateway Protocol (BGP), como funciona e como configurá-lo para a sua rede.
Este apêndice contém as seguintes seções:
• Avisos
• Verificar a configuração do BGP
As seções seguintes fornecem uma visão geral do BGP:
BGP é um protocolo de roteamento em grande escala usado para comunicar informações de roteamento entre sistemas autônomos (ASs), os quais são domínios de rede bem definidos e administrados separadamente. O suporte de BGP permite que dispositivos de segurança da SonicWALL substituam um roteador BGP tradicional no limite do AS de uma rede. A implementação atual de BGP da SonicWALL é mais adequada para ambientes de "provedor único/hospedagem única", onde a rede utiliza um ISP como o seu provedor de Internet e tem uma única conexão a esse provedor. O BGP da SonicWALL também é capaz de suportar ambientes de "provedor único/hospedagem múltipla", onde a rede utiliza um único ISP, mas tem um pequeno número de rotas separadas para o provedor. O BGP é habilitado na página Rede > Roteamento da GUI do SonicOS e, em seguida, é totalmente configurado através da interface de linha de comando (CLI) SonicOS.
Os requisitos de licenciamento do BGP são mostrados na tabela abaixo.
|
Note O BGP é compatível com o NSA 3600 com a aquisição de uma licença expandida do SonicOS. As licenças podem ser adquiridas em www.mysonicwall.com
Os protocolos de roteamento não são apenas pacotes transmitidos através de uma rede, mas incluem todos os mecanismos através dos quais roteadores e grupos de roteadores descobrem, organizam e comunicam topologias de rede. Os protocolos de roteamento usam algoritmos distribuídos que dependem de cada participante que segue o protocolo tal como é especificado e são muito úteis quando as rotas em um domínio de rede mudam dinamicamente, uma vez que as ligações entre nós de rede mudam o estado.
Os protocolos de roteamento normalmente interagem com dois bancos de dados:
• Base de informações de roteamento (RIB) – utilizado para armazenar todas as informações de rota requeridas pelos próprios protocolos de roteamento.
• Base de informações de encaminhamento (FIB) – utilizado para encaminhamento de pacotes.
As melhores rotas escolhidas na RIB são usadas para preencher a FIB. A RIB e a FIB mudam dinamicamente, uma vez que as atualizações de roteamento são recebidas por cada protocolo de roteamento, ou a conectividade no dispositivo muda.
Existem duas classes básicas de protocolos de roteamento:
• Protocolos de gateway interior (IGPs) – os protocolos de gateway interior são protocolos de roteamento concebidos para comunicar rotas em redes que existem dentro de um AS. Existem duas gerações de IGPs. A primeira geração consiste em protocolos de vetor de distância. A segunda geração consiste em protocolos de estado de ligações. Os protocolos de vetor de distância são relativamente simples, mas têm problemas quando são dimensionados para um grande número de roteadores. Os protocolos de estado de ligações são mais complexos, mas têm uma capacidade de dimensionamento melhor. Os protocolos existentes de vetor de distância são o IGRP (Interior Gateway Routing Protocol – Protocolo de roteamento de gateway interior), o EIGRP (Enhanced Interior Gateway Routing Protocol – Protocolo de roteamento de gateway interior aprimorado), o RIP (Routing Information Protocol – Protocolo de informações de roteamento) e o RIPv2, uma versão aprimorada do RIP. IGRP e EIGRP são protocolos da Cisco. Os protocolos de estado de ligações em uso no momento são os protocolos OSPF (Open Shortest Path First – Abrir o caminho mais curto primeiro) e IS-IS (Intermediate System to Intermediate System – Sistema intermediário para sistema intermediário).
O SonicOS suporta os protocolos OSPFv2 e RIPv1/v2 (os dois protocolos de gateway interior de roteamento mais comuns), permitindo que os nossos clientes usem os nossos produtos nas suas redes IGP e evitem o custo adicional de um roteador tradicional separado.
• Protocolos de gateway exterior (EGPs) – o protocolo de gateway exterior padrão e generalizado é o BGP (BGP4, para maior exatidão). O BGP é um protocolo de roteamento em grande escala que comunica informações e políticas de roteamento entre domínios de rede bem definidos denominados sistemas autônomos (ASs). Um sistema autônomo é um domínio de rede administrado separadamente, independente de outros sistemas autônomos. O BGP é usado para transmitir rotas e políticas de rotas entre sistemas autônomos. Os ISPs usam frequentemente o BGP para transmitir rotas e políticas de rotas para os seus clientes, bem como para outros ISPs.
Cada sistema autônomo tem um número de 16 bits atribuído. Tal como acontece com os endereços IP, o número de um AS pode ser público ou privado. Números de AS públicos são um recurso limitado e não são fornecidos com base em vários fatores. Os clientes de ISP com redes grandes de hospedagem múltipla para dois ou mais ISPs normalmente têm um AS público, enquanto os clientes com redes menores terão um AS privado administrado pelo seu ISP.
Como os nossos produtos evoluem para suportar os requisitos ao nível corporativo, alguns clientes poderão desejar colocar os nossos produtos no limite do seu AS, em vez de um roteador tradicional de BGP.
Cada sistema autônomo tem um número de 16 bits atribuído. Tal como acontece com os endereços IP, o número de um AS pode ser público ou privado. Números de AS públicos são um recurso limitado e não são fornecidos com base em vários fatores. Os clientes de ISP com redes grandes de hospedagem múltipla para dois ou mais ISPs normalmente têm um AS público, enquanto os clientes com redes menores terão um AS privado administrado pelo seu ISP.
O BGP é um protocolo de roteamento muito flexível e complexo. Como tal, os roteadores de BGP podem ser colocados em uma grande variedade de configurações de topologias, como roteadores de núcleo da Internet, roteadores de ISP intermediários, equipamentos nas instalações do cliente (CPE) de ISP ou roteadores em pequenas redes privadas de BGP. O número de rotas de BGP necessário para diferentes topologias varia entre um valor superior a 300.000 para roteadores de núcleo e 0 para os clientes de ISP que usam um único ISP e usam roteamento padrão para todos os destinos fora de seu AS. É frequentemente necessário que os clientes de ISP executem o BGP do roteador do limite (CPE) ao ISP, independentemente do número de rotas que recebem do ISP. Isso permite que os clientes de ISP controlem as redes que desejam anunciar ao mundo externo. Existe sempre o medo de que um cliente anuncie uma rede ou rede agregada que não lhe pertença, criando um buraco negro no tráfego da Internet para essas redes. Na realidade, os provedores ISP são cuidadosos a filtrar propagandas inválidas de seus clientes (um dos pontos fortes do BGP), por isso esta situação raramente acontece.
Existem três escalas básicas de redes de BGP:
• Provedor único/hospedagem única – a rede recebe uma rota única (hospedagem única) a partir de um ISP único (provedor único). O número de rotas que um cliente de ISP recebe do respectivo ISP depende da natureza de seu AS. Um cliente de ISP que usa apenas um ISP como provedor de Internet e possui uma conexão única a esse provedor (provedor único/hospedagem única) não precisa receber quaisquer rotas, pois todo o tráfego destinado para fora do AS irá para o respectivo ISP. Esses clientes ainda podem anunciar algumas ou todas as suas redes internas ao ISP.
• Provedor único/hospedagem múltipla – a rede recebe rotas múltiplas (hospedagem múltipla) de um único ISP (provedor único). Os clientes de ISP que usam um único ISP, mas têm múltiplas conexões ao ISP, podem receber apenas a rota padrão (0.0.0.0/0) em cada gateway do ISP. Se uma conexão ao ISP falhar, a rota padrão anunciada enviada do roteador CPE conectado para roteadores internos será retirada e o tráfego da Internet fluirá então para um roteador CPE que tem conectividade com o ISP. A rede interna do cliente também será anunciada ao ISP em cada gateway de roteador CPE, permitindo que o ISP use caminhos alternativos se uma conexão específica para um cliente falhar.
• Provedor múltiplo/hospedagem múltipla – os clientes de ISP que usam mais de um ISP (provedor múltiplo/hospedagem múltipla) têm um ou mais roteadores de gateway separados para cada ISP. Nesse caso, o AS do cliente deve ser um AS público e poderá ser um AS de trânsito ou não de trânsito. Um AS de trânsito receberá e encaminhará o tráfego de um ISP destinado a uma rede acessível por meio de outro ISP (o destino do tráfego não se encontra no AS do cliente). Um AS não de trânsito só deverá receber tráfego destinado ao respectivo AS e o restante tráfego será descartado. Os roteadores de BGP em um AS de trânsito recebem frequentemente uma grande quantidade (em muitos casos toda a quantidade) da tabela de encaminhamento de BGP completa de cada ISP.
• Mesmo que você não tenha uma rede grande na Internet, o BGP é o padrão para hospedagem múltipla, balanceamento de carga e redundância:
– Provedor único/hospedagem única – não é normalmente um forte candidato ao BGP, mas pode ainda usá-lo para anunciar redes ao ISP. As redes de hospedagem única não são elegíveis para um AS público de RIRs.
– Provedor único/hospedagem múltipla – é comum seguir a sugestão de RFC2270 para usar um AS privado único (64512 a 65535) para obter o benefício de BGP preservando o ASN público.
– Provedor múltiplo/hospedagem múltipla – altamente redundante, normalmente com roteadores dedicados para cada ISP. Requer ASN público. Grande volume de memória
• O resumo da rota torna o roteamento escalável.
O BGP utiliza a porta TCP 179 para comunicação. O BGP é considerado um protocolo de vetor de caminho, contendo descrições de destinos de caminho completo. Os vizinhos do BGP podem ser internos (iBGP) ou externos (eBGP):
• iBGP – o vizinho encontra-se no mesmo AS.
• eBGP – o vizinho encontra-se em um AS diferente.
Os caminhos são anunciados em mensagens de ATUALIZAÇÃO que são marcadas com vários atributos de caminho. AS_PATH e NEXT_HOP são os dois atributos mais importantes que descrevem o caminho de uma rota em uma mensagem de atualização de BGP.
• AS_PATH: Indica aos ASs que a rota está viajando de uma determinada origem para um determinado destino. No exemplo abaixo, o AS_PATH é proveniente do AS 7675 para o AS 12345. Relativamente ao BGP interno, o AS_PATH especifica o mesmo AS para a origem e para o destino.
• NEXT_HOP: Indica o endereço IP do roteador seguinte para o qual o caminho viaja. Os caminhos anunciados nos limites do AS herdam o endereço NEXT_HOP do roteador de limite. O BGP depende dos protocolos de roteamento internos para chegar aos endereços NEXT_HOP.
Máquina de estado finito de BGP
O RFC 1771, que define o BGP, descreve a operação do BGP em termos da máquina de estado seguinte. A tabela a seguir ao diagrama apresenta informações adicionais sobre os vários estados.
Figure 73:29 Máquina de estado finito de BGP
|
A comunicação de BGP inclui os seguintes tipos de mensagens:
• Abrir – a primeira mensagem entre os pares de BGP após o estabelecimento da sessão TCP. Contém as informações necessárias para estabelecer uma sessão de troca de tráfego, por exemplo, ASN, tempo de espera e recursos como extensões de vários produtos e atualização de rota.
• Atualizar – essas mensagens contêm informações de caminho, como avisos de rota ou retiradas.
• Keepalive – mensagens periódicas para manter a camada TCP ativa e para anunciar a atividade.
• Notificação – uma solicitação para terminar a sessão de BGP. Notificações não fatais contêm o código de erro "cease" (cessar). Os subcódigos fornecem mais detalhes:
|
• Atualização de rota – uma solicitação para o par reenviar as suas rotas.
As mensagens de atualização de BGP podem incluir os seguintes atributos:
|
Para obter mais informações sobre os atributos de BGP, consulte: http://www.iana.org/assignments/bgp-parameters/bgp-parameters.xml
• Escala – atualmente o SonicOS oferece suporte de rotas baseadas em políticas (PBRs) de 512 a 2048. Isso não é suficiente para a totalidade ou mesmo parte das tabelas de roteamento. O número de rotas que existe na RIB poderá ser superior ao número instalado na PBR (que é a FIB). Isso ocorre quando várias rotas concorrentes foram recebidas através de protocolos de roteamento. Para cada caso em que a RIB contém rotas concorrentes rotas em um destino de rede específico, apenas uma dessas rotas é escolhida para ser instalada na FIB.
Atualmente, a nossa implementação é mais adequada para os clientes de provedor único/hospedagem única. As instalações de provedor único/hospedagem múltipla também poderão ser adequadas quando a rota padrão está sendo recebida pelo ISP ou quando um número muito pequeno de rotas específicas de ISP é recebido pelo cliente. A última situação permite que roteadores internos optem pelo caminho ideal para destinos fora do AS, mas ainda no domínio da rede do ISP (isto é denominado rotas parciais).
• Balanceamento de carga – não existe atualmente suporte para múltiplos caminhos no SonicOS ou Zebos (o recurso "caminhos máximos"). Isto impossibilita o balanceamento de carga sem dividir redes.
• Loopback – não existe atualmente nenhum suporte de interface de loopback.
• NAT – o BGP destina-se a roteamento. Não coexiste satisfatoriamente com NAT.
• Atualizações de VPN – as atualizações de BGP por meio de VPN não estão funcionando atualmente.
• Caminhos assimétricos – o firewall estável não tratará atualmente caminhos assimétricos, especialmente em vários firewalls.
As seções a seguir descrevem como configurar o roteamento avançado do BGP do SonicOS:
• Processo de seleção de caminho do BGP
• Multiple Exit Discriminator (MED)
• Sincronização e resumo automático
• Impedir um AS de trânsito acidental
• Usar BGP de hospedagem múltipla para compartilhamento de carga
O BGP transmite pacotes sem codificação. Portanto, para uma segurança forte, a Dell SonicWALL recomenda configurar um túnel IPSec para usar em sessões de BGP. As configurações do túnel IPSec e de BGP são independentes entre si. O túnel IPSec é totalmente configurado na seção de configuração de VPN da GUI do SonicOS e o BGP é habilitado na página Rede > Roteamento e depois configurado na interface de linha de comando do SonicOS. Ao configurar o BGP em IPSec, configure primeiro o túnel IPSec e verifique a conectividade no túnel antes de configurar o BGP.
O procedimento a seguir mostra um exemplo de configuração IPSec entre a SonicWALL e um par de BGP remoto, em que a SonicWALL está configurada para 192.168.168.75/24 na rede X0 e o par remoto está configurado para 192.168.168.35/24 na rede X0.
1. Navegue até a página VPN > Configurações e clique no botão Adicionar na seção Políticas de VPN. A janela Políticas de VPN será exibida.
2. No menu suspenso Tipo de política, certifique-se de que a opção Site a site seja selecionada.
Note Um túnel VPN site a site deve ser usado para BGP através de IPSec. As interfaces de túnel não funcionarão para BGP.
3. Selecione o Método de autenticação desejado. Neste exemplo, estamos usando IKE usando segredo previamente compartilhado.
4. Insira um Nome para a política de VPN.
5. No campo Nome ou endereço de gateway primário IPsec, digite o endereço IP do par remoto (neste exemplo: 192.168.168.35).
6. No campo Nome ou endereço de gateway secundário IPsec, digite 0.0.0.0.
7. Insira um Segredo compartilhado e confirme-o.
8. No campo ID de IKE local, digite o endereço IP do SonicWALL (neste exemplo: 192.168.168.75)
9. No campo ID de IKE par, digite o endereço IP do par remoto (192.168.168.35).
10. Clique na guia Rede.
Para a rede local, selecione X0 IP no menu suspenso Escolher rede local na lista.
12. Para a rede remota, selecione o endereço IP do par remoto no menu suspenso Escolher rede de destino na lista que é, neste exemplo, 192.168.168.35. Se o endereço IP remoto não estiver listado, selecione Criar novo objeto de endereço para criar um objeto de endereço para o endereço IP.
13. Clique na guia Propostas. Você pode usar as propostas IPSec padrão ou personalizá-las como achar adequado.
14. Clique na guia Avançado.
15. Marque a caixa de seleção Habilitar keep alive.
16. Clique em OK.
A política de VPN está agora configurada no firewall. Conclua agora a configuração de IPSec correspondente no par remoto. Quando estiver concluída, retorne à página VPN > Configurações e marque a caixa de seleção Habilitar para a política de VPN iniciar o túnel IPSec.
Use o diagnóstico de ping no SonicWALL para fazer ping ao endereço IP do par de BGP e usar o Wireshark para garantir que a solicitação e a resposta estão sendo encapsuladas em pacotes ESP.
Note Como configurado neste exemplo, o tráfego roteado não percorrerá o túnel IPSEC usado para o BGP. O tráfego é enviado e recebido sem codificação, o que provavelmente será o comportamento desejado, pois o objetivo é proteger o BGP e não todo o tráfego de rede roteado.
Para obter informações detalhadas sobre a configuração de IPSec, consulte os capítulos VPN no Guia do administrador do SonicOS.
Para configurar o BGP em um dispositivo de segurança SonicWALL, execute as seguintes tarefas:
1. Na GUI do SonicOS, navegue até a página Rede > Roteamento.
2. No menu suspenso Modo de roteamento, selecione Roteamento avançado.
3. No menu suspenso BGP, selecione Habilitado (Configurar com CLI).
Após o BGP ter sido habilitado através da GUI, as especificidades da configuração do BGP são executadas usando a interface de linha de comando (CLI) do SonicOS. Para obter informações detalhadas sobre como realizar a conexão à CLI do SonicOS, consulte o Guia da interface de linha de comando do SonicOS em: http://www.sonicwall.com/us/support/230_3623.html
4. Efetue o login na CLI do SonicOS através da interface do console.
5. Entre no modo de configuração digitando o comando configure.
6. Entre na CLI do BGP digitando o comando route ars-bgp. Você verá o seguinte prompt:
ZebOS version 7.7.0 IPIRouter 7/2009
ARS BGP>
7. Agora você está no modo de não configuração do BGP. Digite ? para ver uma lista de comandos de não configuração.
8. Digite show running-config para ver a configuração atual em execução do BGP.
9. Para entrar no modo de configuração do BGP, digite o comando configure terminal. Digite ? para ver uma lista de comandos de configuração.
10. Quando você tiver concluído a sua configuração, digite o comando write file. Se a unidade fizer parte de um par ou cluster de alta disponibilidade, as alterações de configuração serão automaticamente transmitidas para a outra unidade ou unidades.
Processo de seleção de caminho do BGP
Os seguintes atributos podem ser usados para configurar o processo de seleção de caminho do BGP.
|
O comando de peso atribui um valor de peso, por família de endereços, a todas as rotas aprendidas de um vizinho. A rota com o peso mais alto obtém preferência quando o mesmo prefixo é aprendido a partir de mais de um par. O peso é relevante apenas para o roteador local.
Os pesos atribuídos usando o comando set weight substituem os pesos atribuídos com este comando.
Quando o peso está definido para um grupo de pares, todos os membros deste grupo terão o mesmo peso. O comando também pode ser usado para atribuir um peso diferente a um membro de um grupo de pares específico.
O exemplo a seguir mostra a configuração de peso:
router bgp 12345
neighbor 12.34.5.237 remote-as 12345
neighbor 12.34.5.237 weight 60
router bgp 12345
neighbor group1 peer-group
neighbor 12.34.5.237 peer-group group1
neighbor 67.78.9.237 peer-group group1
neighbor group1 weight 60
O atributo de preferência de local é usado para indicar o grau de preferência de cada rota externa na tabela de roteamento de um dispositivo. O atributo de preferência de local está incluído em todas as mensagens de atualização enviadas para dispositivos no mesmo AS. A preferência de local não é comunicada para fora do AS. A figura seguinte mostra um exemplo de topologia ilustrando como a preferência do local afeta as rotas entre os ASs vizinhos.
Figure 73:30 Topologia de preferência de local do BGP
As seguintes configurações de BGP são inseridas em SNWL1 e SNWL2. A preferência de local maior em SNWL2 faz com que SNWL2 seja a rota preferida anunciada pelo AS 12345 (o AS do SonicWALL) para fora de ASs.
|
Preferência de local usada com mapas de rotas
Os mapas de rotas são semelhantes a listas de controle de acesso. Eles consistem em uma série de declarações de permissão e/ou negação que determinam como o dispositivo processa as rotas. Os mapas de rotas são aplicados a tráfego de entrada e não a tráfego de saída. O diagrama a seguir mostra um exemplo de topologia que usa um mapa de rotas para configurar a preferência de local.
Figure 73:31 Topologia de preferência de local do BGP com mapas de rotas
As seguintes configurações de BGP são inseridas em SNWL1 e SNWL2.
|
O mapa de rotas configurado em SNWL2 (rmap1) está configurado para ser aplicado a rotas de entrada do vizinho 10.1.1.1. Ele possui duas condições de permissão:
• route-map rmap1 permit 10: Esta condição de permissão corresponde à lista de acesso 100 que está configurada para permitir tráfego do AS 8888 e definir rotas do AS 8888 para uma preferência de local de 200.
• route-map rmap1 permit 10: Esta condição de permissão define o restante tráfego que não corresponde à lista de acesso 100 (ou seja, o tráfego proveniente do ASs que não 8888) para uma preferência de local de 150.
A precedência de AS_Path é a prática de adicionar mais números ao AS no início da atualização de um caminho. Isso torna o caminho desta rota maior e, portanto, diminui a sua preferência.
A precedência de AS_Path pode ser aplicada a caminhos de entrada ou de saída. A precedência de AS_Path poderá não ser considerada se for rejeitada por um vizinho.
|
Esta configuração faz com que uma rota seja instalada no vizinho 10.50.165.233 com a precedência de AS_Path como 12345 12345. Esta pode ser visualizada digitando o comando show ip bgp.
ARS BGP>show ip bgp
BGP table version is 98, local router ID is 10.50.165.228
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 12.34.5.0/24 10.50.165.233 0 0 12345 12345 12345 i
*> 7.6.7.0/24 0.0.0.0 100 32768 i
Total number of prefixes 2
Multiple Exit Discriminator (MED)
O comando set metric pode ser usado em um mapa de rotas para tornar os caminhos mais ou menos preferíveis:
router bgp 7675
network 7.6.7.0/24
neighbor 10.50.165.233 remote-as 12345
neighbor 10.50.165.233 route-map highmetric out
!
route-map highmetric permit 10
set metric 300
O Multi Exit Discriminator (MED) é um atributo opcional que pode ser usado para influenciar a preferência do caminho. Ele é não transitivo, o que significa que está configurado em um único dispositivo e não é anunciado a vizinhos em mensagens de atualização. Nesta seção iremos considerar as utilizações dos comandos bgp always-compare-med ou bgp deterministic-med.
Comando bgp always-compare-med
O comando bgp always-compare-med permite a comparação dos valores de MED de caminhos de diferentes ASs para seleção do caminho. Um caminho com um MED inferior é preferido.
Por exemplo, considere as seguintes rotas na tabela do BGP e que o comando always-compare-med está habilitado:
Route1: as-path 7675, med 300
Route2: as-path 200, med 200
Route3: as-path 7675, med 250
Route2 seria o caminho selecionado porque tem o MED mais baixo.
Se o comando always-compare-med for desabilitado, o MED não será considerado ao comparar a Route1 e a Route2, pois possuem diferentes caminhos de AS. O MED seria comparado apenas para Route1 e Route3.
Comando bgp deterministic-med
A rota selecionada também é afetada pelo comando bgp deterministic-med, o qual compara o MED ao escolher entre rotas anunciadas por pares diferentes no mesmo sistema autônomo.
Quando o comando bgp deterministic-med está habilitado, as rotas do mesmo AS são agrupadas e as melhores rotas de cada grupo são comparadas. Se a tabela do BGP mostrar:
Route1: as-path 200, med 300, internal
Route2: as-path 400, med 200, internal
Route3: as-path 400, med 250, external
O BGP teria um grupo de Route1 e um segundo grupo de Route2 e Route3 (o mesmo AS).
A melhor de cada grupo é comparada. Route1 é a melhor do seu grupo, pois é a única rota do AS 200.
Route1 é comparada à Route2, a melhor do grupo AS 400 (o MED inferior).
Uma vez que as duas rotas não são do mesmo AS, o MED não é considerado na comparação. A rota do BGP externo é a preferida comparativamente à rota do BGP interno, fazendo com que a Route3 seja a melhor rota.
Uma comunidade é um grupo de prefixos que compartilham algumas propriedades comuns e podem ser configurados com um atributo de comunidade de BGP transitivo. Um prefixo pode ter mais de um atributo de comunidade. Os roteadores podem atuar em um, alguns ou todos os atributos. As comunidades de BGP podem ser consideradas uma forma de marcação. Veja a seguir um exemplo de uma configuração de comunidades de BGP.
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 send-community
neighbor 10.50.165.228 route-map comm out
!
access-list 105 permit 12.34.5.0/24
access-list 110 permit 23.45.6.0/24
!
route-map comm permit 10
match ip address 105
set community 7675:300
!
route-map comm permit 20
match ip address 110
set community 7675:500
!
router bgp 7675
bgp router-id 10.50.165.228
network 7.6.7.0/24
neighbor 10.50.165.233 remote-as 12345
neighbor 10.50.165.233 route-map shape in
!
ip community-list 1 permit 7675:300
ip community-list 2 permit 7675:500
!
route-map shape permit 10
match community 1
set local preference 120
route-map shape permit 20
match community 2
set local preference 130
Sincronização e resumo automático
A configuração de sincronização controla se o roteador anuncia ou não rotas aprendidas de um vizinho iBGP com base na presença dessas rotas no respectivo IGP. Quando a sincronização está habilitada, o BGP somente anuncia rotas que estão acessíveis através de OSPF ou RIP (os protocolos de gateway exterior, em oposição ao BGP, o protocolo de gateway exterior). A sincronização é uma causa comum de problemas no anúncio de rotas de BGP.
A configuração de resumo automático controla se as rotas são ou não anunciadas com classes. O resumo automático é outra causa comum de problemas na configuração de BGP.
Por padrão, o resumo automático e a sincronização estão desabilitados no Zebos.
Impedir um AS de trânsito acidental
Tal como foi discutido anteriormente, um par de AS pode ser um par de trânsito (permitindo tráfego de um AS externo para outro AS externo) ou um par de não trânsito (requerendo que todo o tráfego tenha origem ou termine no respectivo AS). Os pares de trânsito terão tabelas de roteamento substancialmente maiores. Geralmente, você não precisa configurar um dispositivo de segurança SonicWALL como um par de trânsito.
Figure 73:32 Pares de trânsito vs. pares de não trânsito
Para impedir que seu dispositivo se torne um par de trânsito de forma inadvertida, você precisará configurar filtros de entrada e de saída, como apresentado a seguir:
Filtros de saída
Permitir apenas rotas com origem no AS local externo:
ip as-path access-list 1 permit ^$
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 filter-list 1 out
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 filter list 1 out
Permitir somente a saída de prefixos de propriedade:
ip prefix-list myPrefixes seq 5 permit 12.34.5.0/24
ip prefix-list myPrefixes seq 10 permit 23.45.6.0/24
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 prefix-list myPrefixes out
neighbor 172.1.1.2 prefix-list myPrefixes out
Filtros de entrada
Descartar todos os prefixos de entrada de propriedade e privados
ip prefix-list unwantedPrefixes seq 5 deny 12.34.5.0/24 le 32
ip prefix-list unwantedPrefixes seq 10 deny 23.45.6.0/24 le 32
ip prefix-list unwantedPrefixes seq 20 deny 10.0.0.0/8 le 32
ip prefix-list unwantedPrefixes seq 21 deny 172.16.0.0/12 le 32
ip prefix-list unwantedPrefixes seq 22 deny 192.168.0.0/16 le 32
ip prefix-list unwantedPrefixes seq 30 permit 0.0.0.0/0 le 32
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
network 23.45.6.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 prefix-list unwantedPrefixes in
neighbor 172.1.1.2 prefix-list unwantedPrefixes in
Usar BGP de hospedagem múltipla para compartilhamento de carga
A topologia a seguir mostra um exemplo de um dispositivo de segurança SonicWALL que usa uma rede BGP de hospedagem múltipla para compartilhamento de carga entre dois ISPs.
Figure 73:33
Topologia de BGP de hospedagem múltipla para compartilhamento de carga
O aplicativo de segurança SonicWALL está configurado da seguinte forma:
router bgp 12345
bgp router-id 10.50.165.233
network 12.34.5.0/24
neighbor 10.50.165.228 remote-as 7675
neighbor 10.50.165.228 route-map ISP1 out
neighbor 172.1.1.2 remote-as 9999
neighbor 10.50.165.228 route-map ISP2 out
!
route-map ISP1 permit 10
match ip address 1
set weight 100
route-map ISP1 permit 20
match ip address 2
route-map ISP2 permit 10
match ip address 1
route-map ISP2 permit 20
match ip address 2
set weight 100
access-list 1 permit 12.34.5.0/25
access-list 2 deny 12.34.5.0/25
access-list 2 permit any
Verificar a configuração do BGP
As seções a seguir descrevem métodos de verificação de uma configuração de BGP:
• Configurar o registro do BGP
A figura abaixo mostra uma topologia básica de BGP de um dispositivo de segurança SonicWALL que está configurado para o BGP se conectar a dois roteadores em dois ASs diferentes.
As rotas na FIB desta rede podem ser visualizadas na GUI do SonicOS ou usando a CLI.
Visualizar rotas da FIB na GUI
Pode ser visualizado um resumo da configuração do BGP na GUI do SonicOS através da página Rede > Roteamento clicando no botão Status de BGP localizado na parte superior da página junto ao menu suspenso do modo de roteamento. A janela Status de BGP exibe a saída dos comandos show ip bgp summary ou show ip bgp neighbor.
As rotas do BGP na FIB também podem ser visualizadas na GUI do SonicOS na tabela Políticas de roteamento na página Rede > Roteamento.
Visualizar rotas da FIB na CLI
Para visualizar as rotas da FIB na CLI, execute os seguintes comandos:
SonicWALL> configure
(config[SonicWALL])> route ars-nsm
ZebOS version 7.7.0 IPIRouter 7/2009
ARS NSM>show ip route
Códigos: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
B 7.6.7.0/24 [20/0] via 10.50.165.228, X1, 05:08:31
B 199.199.0/16 [20/0] via 10.50.165.237, X1, 05:08:31
C 10.50.165.192/26 is directly connected, X1
C 127.0.0.0/8 is directly connected, lo0
C 12.34.5.0/24 is directly connected, X0
Visualizar rotas da RIB na CLI
Para visualizar as rotas da RIB na CLI, digite o comando IP show ip bgp:
ARS BGP>show ip bgp
BGP table version is 98, local router ID is 10.50.165.233
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 7.6.7.0/24 10.50.165.228 0 0 7675 i
*> 12.34.5.0/24 0.0.0.0 100 32768 i
*> 199.199.0.0/16 10.50.165.228 0 0 7675 9999 i
Total number of prefixes 3
Note A última rota é o caminho para o AS9999 que foi aprendido através do AS7675.
O BGP SonicWALL oferece uma seleção abrangente de comandos de depuração para exibir eventos de registro relacionados com o tráfego do BGP. O registro do BGP pode ser configurado na CLI usando o comando debug bgp, seguido das seguintes palavras-chave:
|
Para desabilitar a depuração do BGP, digite a forma "no" (não) do comando. Por exemplo, para desabilitar a depuração do evento, digite o comando no debug events.
As mensagens de registro do BGP também podem ser visualizadas na GUI do SonicOS na página Log > Visualizar. As mensagens do BGP são exibidas como parte da categoria Roteamento avançado de mensagens de registro.
A mensagem acima indica que foi negada uma atualização na RIB de saída porque o roteador a partir do qual foi recebida a atualização não estava diretamente conectado ao dispositivo.
Para permitir pares do BGP que não estiverem diretamente conectados, use a palavra-chave ebgp-multihop com o comando neighbor. Por exemplo:
neighbor 10.50.165.228 ebgp-multihop
|
|
ARD – domínio de roteamento autônomo – uma coleção de redes/roteadores que têm uma política de roteamento administrativa comum.
AS – sistema autônomo – um ARD ao qual foi atribuído um número de identificação, geralmente executando BGP4 no(s) roteador(es) de limite.
BGP4: – Border Gateway Protocol 4: Os EGP mais comuns.
CIDR – roteamento entre domínios sem classe, permite o anúncio eficiente de rotas através de agregação de rotas.
CPE – equipamentos nas instalações do cliente – os equipamentos no limite da rede de um cliente usados para a interface com o ISP.
EGP – protocolo de gateway exterior – qualquer protocolo (na prática, BGP4) usado para comunicar informações de roteamento entre sistemas autônomos.
Rotas completas – toda a tabela de roteamento do BGP global.
FIB – base de informações de encaminhamento – a nossa tabela de rotas existente usada para encontrar a interface de egresso e o next hop ao encaminhar pacotes.
Looking Glass * – um servidor Looking Glass (LG) é uma visualização somente de leitura de roteadores de organizações executando servidores LG. Normalmente, servidores looking glass publicamente acessíveis são executados por ISPs ou NOCs.
Hospedagem múltipla – um cliente de ISP que tem múltiplas conexões a um ou mais ISPs.
Provedor múltiplo – um cliente de ISP que usa múltiplos ISPs para estabelecer conexão com a Internet.
NSM – módulo de serviços de rede – o componente ZebOS que centraliza a interface na FIB e na RIB. Os daemons do protocolo de roteamento separado estabelecem uma interface com o NSM para todas as atualizações da RIB. O NSM atualiza a FIB com informações de melhor rota da RIB.
Rotas parciais – um subconjunto da tabela de rotas completa do BGP, normalmente específico para destinos que fazem parte de um domínio de ISP.
RIB – base de informações de rotas – um banco de dados em tempo de execução da propriedade do NSM usado para armazenar todas as informações de rotas coletadas e usado pelos protocolos de roteamento.