Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Olá a todos do fórum!

    Estou configurando meu roteador para balanceamento de carga dividindo as subredes pelas saídas. Mas estou tendo problemas na hora de configurar. Na verdade eu sou um péssimo técnico quando o assunto se trata de cisco. Sei configurações básicas e afins. Atualmente temos um link com uma operadora em duas localidades distintas. Então utilizamos um router só, com dois links para redundância, mas com o BGP fechado para o mesmo AS. Divulgo as rotas completas pelos dois links. Mas quero dividir as rotas, quero segregar minha rede em dois blocos e assim escolher melhor por onde cada link sai (balancear a carga) e manter uma redundância.

    Segue minha saída um pouco mais detalhada da minha sessão BGP e do meu roteamento (exemplo):

    /
    !
    router bgp 1
    bgp log-neighbor-changes
    bgp bestpath as-path multipath-relax
    network 177.XXX.XXX.0
    network 177.XXX.XXX.0 mask 255.255.252.0
    neighbor 209.XXX.XXX.45 remote-as 2
    neighbor 209.XXX.XXX.45 description LINK 1
    neighbor 209.XXX.XXX.45 soft-reconfiguration inbound
    neighbor 209.XXX.XXX.45 route-map as2in in
    neighbor 209.XXX.XXX.65 remote-as 2
    neighbor 209.XXX.XXX.65 description LINK 2
    neighbor 209.XXX.XXX.65 soft-reconfiguration inbound
    neighbor 209.XXX.XXX.65 route-map as2in in
    maximum-paths 2
    !
    !
    ip route 0.0.0.0 0.0.0.0 209.XXX.XXX.45 250
    ip route 177.XXX.XXX.0 255.255.252.0 Null0
    ip route 177.XXX.XXX.0 255.255.255.0 177.XXX.XXX.10
    ip route 177.XXX.XXX.0 255.255.255.224 Null0
    ip route 177.XXX.1.0 255.255.255.0 177.XXX.XXX.10
    ip route 177.XXX.2.0 255.255.255.0 177.XXX.XXX.12
    ip route 177.XXX.3.0 255.255.255.0 177.XXX.XXX.13
    ip route 209.XXX.XXX.64 255.255.255.252 Null0 250
    !

    Como podemos ver, estou divulgando o bloco inteiro para os dois caminhos e usando um "multipath-relax" para balancear de forma aleatória os links. Mas com isso estamos tendo problemas de loops na rede (sai por um link, volta pelo outro). Gostaria de saber o que podemos fazer nessa configuração para dividir meu bloco /22 em dois /23 para dar preferência, mas mantendo a redundância. Não entendo muito de cisco e estou completamente perdido. Sei que tenho que divulgar o /22 em ambos os links e o /23 em cada link específico. Mas como isso deve ser feito no router?Abraços!

  2. O que você está sofrendo não se chama loop, e sim, assimetria e isso é normal em BGP. O BGP escolhe (caso você não manipule) o melhor caminho de saída, e o de retorno é você quem define na exportação dos seus prefixos. Com certeza você está tendo problemas, pois exportando o mesmo bloco para ambas operadoras, os roteadores na Internet elegem um caminho só (o best path) para fazer a volta. Então, tens mais download em um link do que no outro.
    Para balancear: se seu bloco for um /20, crie no networks além do bloco /20, dois /21. Para exportar, faça um route-map de saída, exportando cada bloco usando prefix-list (lembrando de continuar exportando o /20 pelos dois) para cada upstream diferente. E o upload, pode deixar por conta do bgp, que ele vai analisar qual é o menor as-path para chegar ao caminho. Segue um exemplo:

    router bgp 65000
    bgp router-id xxx.xxx.xxx.xxx
    bgp log-neighbor-changes
    network xxx.xxx.xxx.0/20
    network xxx.xxx.xxx.0/21
    network xxx.xxx.xxx.8/21
    neighbor abc peer-group
    neighbor abc remote-as 65001
    neighbor abc description bgp-abc
    neighbor abc update-source fastethernet 2
    neighbor abc soft-reconfiguration inbound
    neighbor abc route-map abc-in in
    neighbor abc route-map abc-out out
    neighbor def peer-group
    neighbor def remote-as 65002
    neighbor def soft-reconfiguration inbound
    neighbor def route-map def-IN in
    neighbor def route-map def-OUT out
    neighbor def-V6 peer-group
    neighbor def-V6 remote-as 65002
    neighbor yyy.yyy.yyy.yyy peer-group def
    neighbor zzz.zzz.zzz.zzz peer-group abc
    !
    address-family ipv6
    network 2001:db8::/32
    neighbor def-V6 activate
    neighbor def-V6 next-hop-self
    neighbor def-V6 soft-reconfiguration inbound
    neighbor def-V6 route-map def-OUT-V6 out
    neighbor 2001:db8::4 peer-group def-V6
    exit-address-family
    !
    ip prefix-list bloco-inteiro seq 5 permit xxx.xxx.xxx.0/20
    ip prefix-list primeiro-21 seq 5 permit xxx.xxx.xxx.0/21
    ip prefix-list segundo-21 seq 5 permit xxx.xxx.xxx.8/21
    !
    ipv6 prefix-list blocointeiro-OUT-V6 seq 10 permit 2001:db8::/32
    !
    route-map abc-OUT permit 2
    match ip address prefix-list bloco-inteiro
    !
    route-map abc-OUT permit 3
    match ip address prefix-list primeiro-21
    set as-path prepend 65000 65000
    !
    route-map abc-OUT permit 4
    match ip address prefix-list segundo-21
    !
    route-map def-OUT-V6 permit 10
    match ipv6 address prefix-list blocointeiro-OUT-V6
    !
    route-map abc-IN permit 10
    !
    route-map def-IN permit 5
    !
    route-map def-OUT permit 2
    match ip address prefix-list bloco-inteiro
    !
    route-map def-OUT permit 3
    match ip address prefix-list primeiro-21
    !
    route-map def-OUT permit 4
    match ip address prefix-list segundo-21
    set as-path prepend 65000 65000
    !
    line vty
    !

    Está aí, de mãos beijadas, com direito a IPv6. Os blocos que você exportar /21 preferencialmente por um fornecedor, no outro, você coloca o as-path prepend (com o número do seu ASN).

    Qualquer coisa, grita aí. Mas em teoria, é só adaptar ao seu cenário.



  3. Citação Postado originalmente por uesleycorrea Ver Post
    O que você está sofrendo não se chama loop, e sim, assimetria e isso é normal em BGP. O BGP escolhe (caso você não manipule) o melhor caminho de saída, e o de retorno é você quem define na exportação dos seus prefixos. Com certeza você está tendo problemas, pois exportando o mesmo bloco para ambas operadoras, os roteadores na Internet elegem um caminho só (o best path) para fazer a volta. Então, tens mais download em um link do que no outro.
    Para balancear: se seu bloco for um /20, crie no networks além do bloco /20, dois /21. Para exportar, faça um route-map de saída, exportando cada bloco usando prefix-list (lembrando de continuar exportando o /20 pelos dois) para cada upstream diferente. E o upload, pode deixar por conta do bgp, que ele vai analisar qual é o menor as-path para chegar ao caminho. Segue um exemplo:

    router bgp 65000
    bgp router-id xxx.xxx.xxx.xxx
    bgp log-neighbor-changes
    network xxx.xxx.xxx.0/20
    network xxx.xxx.xxx.0/21
    network xxx.xxx.xxx.8/21
    neighbor abc peer-group
    neighbor abc remote-as 65001
    neighbor abc description bgp-abc
    neighbor abc update-source fastethernet 2
    neighbor abc soft-reconfiguration inbound
    neighbor abc route-map abc-in in
    neighbor abc route-map abc-out out
    neighbor def peer-group
    neighbor def remote-as 65002
    neighbor def soft-reconfiguration inbound
    neighbor def route-map def-IN in
    neighbor def route-map def-OUT out
    neighbor def-V6 peer-group
    neighbor def-V6 remote-as 65002
    neighbor yyy.yyy.yyy.yyy peer-group def
    neighbor zzz.zzz.zzz.zzz peer-group abc
    !
    address-family ipv6
    network 2001:db8::/32
    neighbor def-V6 activate
    neighbor def-V6 next-hop-self
    neighbor def-V6 soft-reconfiguration inbound
    neighbor def-V6 route-map def-OUT-V6 out
    neighbor 2001:db8::4 peer-group def-V6
    exit-address-family
    !
    ip prefix-list bloco-inteiro seq 5 permit xxx.xxx.xxx.0/20
    ip prefix-list primeiro-21 seq 5 permit xxx.xxx.xxx.0/21
    ip prefix-list segundo-21 seq 5 permit xxx.xxx.xxx.8/21
    !
    ipv6 prefix-list blocointeiro-OUT-V6 seq 10 permit 2001:db8::/32
    !
    route-map abc-OUT permit 2
    match ip address prefix-list bloco-inteiro
    !
    route-map abc-OUT permit 3
    match ip address prefix-list primeiro-21
    set as-path prepend 65000 65000
    !
    route-map abc-OUT permit 4
    match ip address prefix-list segundo-21
    !
    route-map def-OUT-V6 permit 10
    match ipv6 address prefix-list blocointeiro-OUT-V6
    !
    route-map abc-IN permit 10
    !
    route-map def-IN permit 5
    !
    route-map def-OUT permit 2
    match ip address prefix-list bloco-inteiro
    !
    route-map def-OUT permit 3
    match ip address prefix-list primeiro-21
    !
    route-map def-OUT permit 4
    match ip address prefix-list segundo-21
    set as-path prepend 65000 65000
    !
    line vty
    !

    Está aí, de mãos beijadas, com direito a IPv6. Os blocos que você exportar /21 preferencialmente por um fornecedor, no outro, você coloca o as-path prepend (com o número do seu ASN).

    Qualquer coisa, grita aí. Mas em teoria, é só adaptar ao seu cenário.
    Sensacional, só num entendi o endereço yyy.yyy.yyy.yyy e zzz.zzz.zzz.zzz no peer-group apontando para cada operadora. E o AS prepend funciona mesmo que meu link saia para a mesma operadora por saídas diferentes? A operadora usa o mesmo AS nos dois links, então o prepend funciona independente da operadora ser o mesmo AS ou AS diferente (duas operadoras distintas) né?

    Abraços!

  4. Esses endereços são os endereços de neighbor que as operadoras vão te passar. Provavelmente elas alocarão um /30 para fechar a sessão e cada IP ficará de um lado da sessão. No neighbor da sua configuração, tem que colocar o IP do lado deles.
    O prepend é para que a convergência de rotas seja mais rápida. Todos os roteadores terão na RIB as informações de rotas suas com e sem prepend. Vão preferir a sem, é claro. Porém, caso o circuito sem prepend caia, os routers vão pegar da RIB a rota com prepend e colocar na FIB. E no prepend, tem que colocar o SEU AS.

    Entendeu?



  5. Fiz tudo isso, perfeito. Dei um reset na BGP, quando subiu fiquei feliz!!!!

    Mas.... Ao consultar os anúncios BGP para os dois links, continuo anunciando a rede inteira para os dois. Lembrando que faço trânsito com somente uma operadora, mas por dois links diferentes (dois links no mesmo AS). Se quiser posto alguma coisa para esclarecer mais...






Tópicos Similares

  1. Load Balance ao estilo OSPF
    Por Hawthorn no fórum Servidores de Rede
    Respostas: 0
    Último Post: 18-06-2003, 16:06
  2. Load Balance
    Por Hawthorn no fórum Servidores de Rede
    Respostas: 2
    Último Post: 17-06-2003, 08:53
  3. Load Balance + HA - Possivel ou não dá?
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 23-05-2003, 11:30
  4. Load Balance
    Por no fórum Servidores de Rede
    Respostas: 2
    Último Post: 15-05-2003, 08:21
  5. Load Balance - Urgente
    Por Legolas no fórum Servidores de Rede
    Respostas: 0
    Último Post: 11-04-2003, 08:10

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L