Juniper EX BGP com rotas padrão

3

Eu sou novo no BGP - então este é certamente um exercício de aprendizado. Estou me afastando do espaço PA fornecido em dois uplinks roteados para ter meu próprio espaço IP e multi-homing meu trânsito.

Para começar, haverá apenas um provedor de trânsito único - e eles forneceram 2 cabos RJ45 com uma / 30 VLAN diferente em cada um - para cada um dos meus switches Juniper EX3200.

Eu só pretendo pegar as rotas padrão por enquanto - e nesse meio tempo, eu preciso continuar a usar os uplinks roteados e o espaço PA - mantendo uma outra tabela de roteamento para o novo gateway / rede BGP.

Existem 2x uplinks (ge-0/0/0 e ge-0/0/1) nos quais minha VLAN de bloco de cola WAN reside ( vlan4000 ). O VRRP é executado nesta VLAN e todos os meus IPs são roteados do meu provedor para esse IP virtual. Então as rotas internas são diretas sobre as interfaces da VLAN L3. O IP do gateway (ou seja, IP virtual do roteador do meu provedor) em vlan4000 age como minha rota padrão.

Portanto, estou ciente de que provavelmente precisarei executar duas tabelas de roteamento (VRFs) para separar os IPs do BGP dos "outros" IPs - e talvez fazer algum encaminhamento baseado em filtros para selecionar o gateway correto.

Eu tenho feito uma leitura bastante extensa de ambos,

  1. link
  2. link

Para entender bem a configuração necessária.

Do meu (limitado) entendimento até agora, acho que preciso ...

  1. Apresentar uma sessão do BGP com meu provedor de transporte público
  2. Anuncie meu bloqueio de IP sobre meu ASN
  3. Encaminhe o bloco de IP do BGP sobre essa interface específica
  4. Forme algum tipo de falha / HA entre os dois EX3200s para que uma única falha não abandone a sessão do BGP.

O que eu estou essencialmente inseguro é como os dois EX3200 trazem suas sessões BGP. Como cada um tem seus próprios IPs (identificadores de roteador) em duas VLANs separadas - isso parece ser duas sessões BGP separadas - e eu precisarei rotear condicionalmente entre cada gateway padrão do BGP se ele cair?

Alguém tem alguma configuração de exemplo de onde começar?

    
por choco-loo 02.04.2013 / 12:18

2 respostas

1

Obrigado @Sebastian por me colocar no caminho certo. Eu queria acompanhar isso com o que aprendi / implementado até agora com um único EX3200 em um laboratório. Esta é uma configuração de trabalho.

O único bit que estou perdendo das minhas solicitações originais foi como a alta disponibilidade funcionará para o gateway padrão na conexão BGP - mas acho que o iBGP vai se encaixar nessa conta.

Eu poderia adicionar outra instância de roteamento para imitar um segundo switch - depois, executar um tronco físico entre as interfaces atribuídas a cada instância. Em seguida, abra o eBGP e o iBGP em ambos.

Eu configurei duas instâncias de roteamento para isolar as duas redes (IPs de PA e IPs de BGP) e gateways.

vlan.10 e vlan.20 serviram como uplinks do BGP, vlan.3999 é para os / 22 IPs que estamos anunciando sobre o nosso ASN.

vlan.30 é um / 24 de espaço PA existente - com uma rota estática para o gateway principal em vlan.40

Você pode ver que a instância do BGP foi configurada especificamente nessa instância de roteamento - portanto, ela não é compartilhada entre a outra tabela de roteamento.

routing-instances {
  transit-bgp {
    instance-type virtual-router;
    interface vlan.10;
    interface vlan.20;
    interface vlan.3999;
    routing-options {
      router-id x.x.x.50;
      autonomous-system xxxxx;
    }
    protocols {
      bgp {
        group bgp1 {
          type external;
          peer-as xxxxx;
          neighbor x.x.x.109 {
            import import-route-transit1;
            export export-route;
          }
        }
        group bgp2 {
          type external;
          peer-as xxxxx;
          neighbor x.x.x.113 {
            import import-route-transit2;
            export export-route;
          }
        }
      }
    }
  }
  transit-pa {
    instance-type virtual-router;
    interface vlan.30;
    interface vlan.40;
    routing-options {
      static {
        route 0.0.0.0/0 next-hop x.x.x.1;
      }
    }
  }
}

Assim, as vlans foram atribuídas da seguinte forma

vlans {
  bgp1 {
    vlan-id 10;
    l3-interface vlan.10;
  }
  bgp2 {
    vlan-id 20;
    l3-interface vlan.20;
  }
  liveips {
    vlan-id 3999;
    l3-interface vlan.3999;
  }
  routedips {
    vlan-id 30;
    l3-interface vlan.30;
  }
  routedgw {
    vlan-id 40;
    l3-interface vlan.40;
  }      
}

Em seguida, para certificar-se de que os dois links BGP foram preferidos (caso um deles falhe), as políticas foram configuradas para alterar o local-preference . Uma política também foi criada para exportar rotas específicas para serem anunciadas pelo BGP.

policy-options {
  policy-statement export-route {
    term local-routes {
      from {
        route-filter x.x.x.0/22 exact;
      }
      then accept;
    }
  }
  policy-statement import-route-transit1 {
    term default {
      then {
        local-preference 220;
        next policy;
      }
    }
  }
  policy-statement import-route-transit2 {
    term default {
      then {
        local-preference 200;
        next policy;
      }
    }
  }
}

Neste ponto - tudo estava perfeito e ambas as tabelas de roteamento trabalhavam em harmonia - mas completamente isoladas. Ie. não havia rotas compartilhadas / vazadas entre si. Por isso, configurei um encaminhamento baseado em filtro para permitir que as rotas sejam distribuídas.

Primeiro, usei um filtro de entrada na interface vlan

interfaces {
  vlan {
    unit 10 {
      family inet {
        address x.x.x.110/30;
      }
    }
    unit 20 {
      family inet {
        address x.x.x.114/30;
      }
    }
    unit 30 {
      family inet {
        filter {
          input transit-pa-int;
        }
        address x.x.x.50/24;
      }
    }
    unit 30 {
      family inet {
        address x.x.x.1/24;
      }
    }                
    unit 3999 {
      family inet {
        filter {
          input transit-bgp-int;
        }
        address x.x.x.1/22;
      }
    }
  }
}

Que usaram as seguintes regras de firewall

firewall {
  family inet {
    filter transit-pa-int {
      term one {
        from {
          destination-address {
            x.x.x.0/22;
          }
        }
        then {
          routing-instance transit-bgp;
        }
      }
      term default {
        then {
          routing-instance transit-pa;
        }
      }
    }
    filter transit-bgp-int {
      term one {
        condition {
          destination-address {
            x.x.x.0/24;
          }
        }
        then {
          routing-instance transit-pa;
        }
      }
      term default {
        then {
          routing-instance transit-bgp;
        }
      }
    }
  }
}
    
por 11.04.2013 / 19:43
2

Comutadores EX podem fazer VRF-Lite para suportar múltiplas tabelas de roteamento. Para começar, você pode ver este artigo da KB da Juniper:

link

O que você precisa é de suporte BGP para o VRF / roteador virtual. Para isso, você precisa da licença AFL nos comutadores EX. Aqui está uma tabela de recursos de software para a série EX, que é sempre útil:

link

Se você instalou a licença, poderá configurar uma instância de roteamento e o protocolo BGP sob ela:

routing-instances {
test {
    instance-type virtual-router;
    protocols {
        bgp {
            local-as 65565;
        }
    }
}

As sessões do eBGP (BGP externo, para o seu provedor) normalmente são feitas entre os IPs da interface. Portanto, você configura seu IP no / 30 em uma interface (repita para o segundo uplink no outro switch) e estabelece a sessão do BGP para o IP do roteador do provedor. Peça ao seu provedor para anunciar uma rota padrão.

Você deve conectar seus dois switches e falar iBGP (BGP interno) entre eles para que eles obtenham as informações de roteamento uns dos outros.

Se um uplink falhar ou a sessão do BGP cair, o seu comutador passará automaticamente para o outro uplink.

Informações gerais sobre o BGP em switches EX estão aqui:

link

Esta é apenas uma resposta curta. Por favor, esteja ciente de que o roteamento BGP é um tópico muito amplo e é fácil causar estragos não apenas em sua rede, mas em sua rede de provedores ou em um caso extremo, mesmo em todo o mundo. Eu aconselharia obter ajuda profissional para a configuração inicial.

    
por 04.04.2013 / 17:11

Tags