Simple Quagga BGP router

4

Estamos tentando configurar uma caixa do Gentoo Linux para executar um roteador Quagga BGP para nossa conexão com a Internet. Nós tentamos muitas coisas, mas tudo o que experimentamos resulta no fato de o Quagga informar que não há rede BGP disponível e nunca se conecta ao roteador vizinho. Acho que um novo começo será nossa melhor aposta, então nossa pergunta é:

Qual configuração precisaríamos usar (bgpd.conf / zebra.conf) para fazer a seguinte configuração funcionar: (por favor, note: eu escolhi um par de intervalos aleatórios de IP do Google, estes não são os endereços IP reais)

  • IP do roteador: 74.125.53.103/29
  • Roteador como: 9283
  • Intervalo público de IPs: 209.85.171.0/24 (esses são os endereços IP públicos que usamos que passam pelo roteador listado acima)
  • IP do vizinho: 74.125.53.104/29
  • Vizinho AS: 9283

Atualmente, temos essa configuração e executamos um roteador doméstico Linksys executando o firmware do DD-WRT. Funciona como um campeão, mas a carga está começando a ser demais para isso. Nós consideramos várias opções para roteadores e, por várias razões, não vou entrar, executar nosso próprio roteador personalizado parece ser a escolha preferida.

Agradecemos antecipadamente pela sua ajuda, estamos puxando o cabelo para fora tentando descobrir isso!

    
por miquella 03.06.2009 / 07:43

5 respostas

4

Aqui está outro exemplo, com filtragem básica (sem rotas de entrada RFC1918, apenas anuncie seu prefixo local:

router bgp YOURASN
 bgp router-id BGP_ROUTER_IP_ADDRESS
 network 209.85.171.0/24
 neighbor myisp peer-group
 neighbor myisp remote-as ISPASN
 neighbor myisp distribute-list 3 in
 neighbor myisp distribute-list 4 out
 neighbor myisp filter-list 2 out
 neighbor ISP_ROUTER_IP_ADDRESS peer-group myisp
 distance bgp 150 150 150
!
access-list 3 deny 10.0.0.0 0.0.0.255
access-list 3 deny 192.168.0.0 0.0.255.255
access-list 3 deny 172.16.0.0 0.15.255.255
access-list 3 permit any
access-list 4 permit 209.85.171.0 0.0.0.255
!
ip as-path access-list 2 permit ^$
    
por 03.06.2009 / 14:26
3

Este é o mínimo provável que você precisa dentro do seu bgpd.conf.

router bgp YOURASN
bgp router-id 74.125.53.103
  network 209.85.171.0/24
  neighbor 74.125.53.104 remote-as ISPASN

Não é bonito e você realmente deve adicionar algumas listas de prefixos etc antes de começar a adicionar várias upstreams apenas para não anunciar acidentalmente a tabela global inteira entre dois ISPs. Dito isso, se a caixa do gentoo estiver sendo usada apenas como roteador e nada mais conseguir uma cópia da edição comunitária do vyatta e usá-la.

    
por 03.06.2009 / 09:56
0

Se os dois roteadores tiverem o mesmo AS, você estará fazendo o iBGP e, portanto, não estará trocar todas as rotas, apenas as melhores rotas, e as coisas não se comportarão como você espera se, de fato, os diferentes roteadores não fizerem parte da mesma rede interior / sistema autônomo.

    
por 29.07.2009 / 06:12
0

Existe um exemplo de gerador de configuração BGP em link Preencha o formulário e você receberá:

!
router bgp 9283
bgp router-id 74.125.53.103
bgp log-neighbor-changes
network 209.85.171.0/24
!
# Begin configuration for Peer 1
neighbor 74.125.53.104 remote-as 9283
neighbor 74.125.53.104 soft-reconfiguration inbound
neighbor 74.125.53.104 description Peer 1
neighbor 74.125.53.104 next-hop-self
!

Por favor, note que você usou o mesmo AS para sua rede e a rede upstream em seu exemplo. Esta não é realmente uma configuração comum porque normalmente o seu ISP é um AS e você tem outro. Essa configuração é um cenário mais comum.

!
router bgp 9283
bgp router-id 74.125.53.103
bgp log-neighbor-changes
network 209.85.171.0/24
!
# Begin configuration for Peer 1
neighbor 74.125.53.104 remote-as 9281
neighbor 74.125.53.104 soft-reconfiguration inbound
neighbor 74.125.53.104 description Peer 1
neighbor 74.125.53.104 route-map rm_peer_1_in in
neighbor 74.125.53.104 route-map rm_peer_1_out out
!
ip prefix-list pl_peer_1_out seq 5 permit 209.85.171.0/24
!
route-map rm_peer_1_out permit 5
 match ip address prefix-list pl_peer_1_out
 set as-path prepend 9283
!
route-map rm_peer_1_in permit 5
 # Adjust this to favor some peers over others.
 # Higher number is more preferred
 # 0 - 255 with 100 being the default
 set local-preference 100
!

Por favor, note em ambos os casos, eu puxei informações de configuração do ponto 2, pois isso não é realmente necessário para o que você está fazendo.

    
por 08.09.2010 / 02:48
0

Eu tenho trabalhado na publicação de alguns artigos em DNS Anycast usando Quagga, então estou bastante familiarizado com isso. O artigo no qual estou trabalhando atualmente é o OSPF, e uma das armadilhas que eu experimentei foi que meu Quagga Box NÃO estava vendo adjacências OSPF ou roteadores upstream. Eu tive que adicionar regras de firewall para IPtables para permitir o funcionamento do protocolo OSPF. Tem certeza de que você tem as regras corretas de firewall para que o peering BGP aconteça? Eu acho que é a porta TCP 179 para o BGP ...

Um bom artigo:
Configurando e testando o BGP na base do hardware Cisco e Linux Gentoo com o pacote Quagga
(link do arquivo, original redireciona para a versão em russo)

    
por 06.06.2009 / 07:35