Boa tarde pessoal,
Tenho percebido que o pessoal do forúm tem muitas dúvidas sobre BGP.
Vamos utilizar este tópico para sanar tais dúvidas..
Seja em Mikrotik, Ubiquiti ou FreeBSD/OpenBgpd.
Abraço!
Boa tarde pessoal,
Tenho percebido que o pessoal do forúm tem muitas dúvidas sobre BGP.
Vamos utilizar este tópico para sanar tais dúvidas..
Seja em Mikrotik, Ubiquiti ou FreeBSD/OpenBgpd.
Abraço!
Arthur,
Vc ta falando no VyOS/EdgeRouter?
Vamos por partes @ArthurBernardes
A única forma de balancear BGP com mais de uma operadora é quebrando prefixos.Uma dúvida que sempre tive (ainda não sou expert em "prefix-list", "route-map") é: Caso tenhamos sessões com mais de uma operadora, como procedemos? Balanceamos o tráfego baseado em divisão de prefixos?
Exemplo: 192.168.0.0/23
Operadora A: 192.168.0.0/24
Operadora B: 192.168.1.0/24
Para Conseguirmos ter redundância entre as operadoras basta anunciar pras 2 operadoras o bloco inteiro:
Operadora A: 192.168.0.0/24
Operadora A: 192.168.0.0/23
Operadora B: 192.168.1.0/24
Operadora B: 192.168.0.0/23
Caso as 2 estejam online os prefixos mais específicos serão anunciados, porém se uma das duas cair, será anunciado o mais especifico da operadora que ficar online + anuncio do bloco inteiro.
Arthur,
Sim o mesmo, mas principalmente os Filtros muda muito, não tem route-map no RouterOS, a lógica do Route-MAP é mais dificil do cara aprender como que funciona, mas depois que vc dominar, vai ver que de proporciona mais facilidade... Quanto a dúvida, sim vc pode balancear o tráfego de acordo com os prefixos é a principal forma, supondo que vc tenha um /22, basta mandar 2 /24 para cada operadora, em "Teoria" vc já vai ter o tráfego balanceado, digo teoria pois vc está balanceando a saida dos ips, e não o tráfego em sí. Se vc tem um bloco com 200 clientes, e outro bloco de mesmo tamanho com 30 clientes, logicamente o bloco com mais clientes vai gastar mais banda, com isso, a operadora que vai sair esse prefixo vai ter mais consumo no link. Quanto a weigth e local-pref, eles manipulam o seu upload, lembre-se que em BGP vc somente controla o tráfego que está saindo de vc, ele sai por onde e como vc quiser, mas o download dos clientes, vc não manipula diretamente, existem técnicas para influenciar o tráfego de outros ASN's, com isso vc consegue "piorar" sua visibilidade usando prepend, assim dando prioridade de trafego por uma operadora forçando a outra ser backup ou coisas do gênero.
Sim, prepend somente download, manda o link do artigo pra analizarmos... Dai saberei te responder melhor.
as vezes temos conexão com mais de uma operadora, exemplo: Embratel e GVT.
Mesmo com essa divisão de prefixos, é possível fazer com que o trafego com destino aos AS de determinada operadora saia por aquela operadora?
Exemplo:
Configuramos a faixa 192.168.0.0/24 para sair pela Operadora A
e Configuramos a faixa 192.168.2.0/24 para sair pela Operadora B
Mas o cliente 192.168.2.0/24 quer acessar um site que está da Operadora A...
é possível fazer com que nesse caso, ele saia pela Operadora A?
PS: é facil descobrir os AS de determinada operadora.
Teria como configurar prioridades com Destino a esse AS saia pelo Link dele?
Boa pergunta, nessas condições, somente se vc fechar um peer diretamente com a operadora A, ai da pra vc influenciar.
Para balanceamento não precisa.Ainda fico na dúvida do uso dos atributos "weight", "local-preference", "as-path" e "as-path-prepend", mas vou me aprofundar antes de perguntar algo sem noção, rsrrs.
AS-PATH é só o caminho de ASN's que você vai passar pra chegar em determinado anuncio.
o AS-PATH-PREPEND serve para tornar um caminho ruim, dando prioridade ao outro caminho existente.
Exemplo para utilização de PTT.
LINK PTT - SEM PREPEND
LINK OPERADORA A - PREPEND 3
Todos os prefixos que estiverem no PTT irão ter prioridade sobre a OPERADORA A.
É assim que é configurado quando se tem PTT em sua rede.
Do PTT você receberia apenas alguns prefixos que são dos participantes e assim não utilizaria os prefixos anunciados pela OPERADORA A.
sobre minha duvida acima, explicando melhor, é possível fazer o seguinte:
vou usar valores fictícios...
1 - Com destino ao AS100 saia pela OperadoraA
2 - Com destino aos AS200 e AS300 saia pela OperadoraB
3 - Cliente 192.168.0.0/24 saia pela OperadoraA
4 - Cliente 192.168.2.0/24 saia pela OperadoraB
Regra 1 tem prioridade sobre a regra 2, e assim por diante.
Se for possível fazer algo desse tipo, ai conseguiríamos fazer com que o Cliente 192.168.2.0/24 (que está configurado para sair pela OperadoraB), acabe saindo pela OperadoraA quando for com destino a algum AS daquela Operadora.
mesmo se eu conhecer quais o AS dessa operadora?
Não tem como eu definir que com destino a determinado AS saia por operadora X...
Então, eu só consigo definir por qual Operadora meu cliente vai sair, mas não consigo definir para que determinado Destino saia por por determinado Operadora.
Que pena...
Descordando um pouco do meu colega @felipeandrade55.
@AndrioPJ não vou te dar 100% de certeza, pois nunca precisei fazer isso especificamente para um ASN ou PREFIXO.
Mas você pode tentar fazer da seguinte maneira no filtro, exemplo para Mikrotik que é mais comum:
OPERADORA SEM PRIORIDADE! (NÃO QUERO QUE PASSE POR LA)
---Matchers---
Chain: in (entrada) - recepção de prefixos
Prefix: 192.168.0.0/20 - prefixo pretendido
---Actions---
Action: Accept
---BGP Actions---
Set BGP Prepend: 3
-----------------------------------------
OPERADORA COM PRIORIDADE! (SÓ VAI PASSAR POR LA)
---Matchers---
Chain: in (entrada) - recepção de prefixos
Prefix: 192.168.0.0/20 - prefixo pretendido
---Actions---
Action: Accept
---BGP Actions---
Set BGP Prepend: 0
-----------------------------------------
Se eu estiver errado por favor me corrijam...
Alisson,
Ta errado não, voçe colocou certinho, mas o amigo quer destinar um fluxo para um determinado asn, isso nao e possível da forma que ele quer, so da forma que mencionei, se fosse por bloco ip, daria para pensar em alguma coisa via mangle e routing mark...
Como vocês mesmo disseram...
No BGP tem como dividirmos nosso prefixo e mandar cada um sair por uma Operadora diferente.
Exemplo:
faixa 192.168.0.0/24 sai pela OperadoraA
faixa 192.168.2.0/24 sai pela OperadoraB
Contudo, pode acontecer de algum cliente da faixa 192.168.2.0/24 tentar acessar um site que está dentro do AS pertencente a OperadoraA... ai acaba que esse cliente sai pela OperadoraB para depois entrar na OperadoraA...
Aumentando consideravelmente a latência.
A ideia era dar uma prioridade maior a determinado destino...
Fazendo com que, caso o cliente fosse acessar algum IP do AS200(exemplo), ele saia pela OperadoraA.
E nos demais casos (quando não for a algum destino configurado), ele continue saindo pela OperadoraB...
PS: é facil saber os AS de determinada Operadora.
Conhecendo os AS, fica facil saber os IPs dela....
@AndrioPJ da maneira que expliquei la em cima funciona para selecionar prefixos para sairem por determinado link, tornando um link 'ruim' e outro 'bom', dessa forma irá funcionar.
vou verificar uma maneira pra fazer através do ASN e posto aqui ok?
Isso é bem relativo.
Aqui temos 2 operadoras e PTT.
Quando só tinha 2 operadoras o tráfego chegava praticamente 80% em uma operadora e 20% na outra.. nesse sistema de "melhor caminho" do próprio BGP..
Ou seja, se o caminho fosse mais curto por uma das operadoras ele vinha por ali. MASSS nem sempre era a melhor rota..
E nem sempre onde existia um maior fluxo de dados..
Diversas vezes fazendo o tráfego passar pela operadora que daria 2.. 3.. 5 saltos a mais tinha mais vazão que a outra.
Quando pegamos PTT.. 25-35% do tráfego vem de lá, melhor caminho..
Mas tem determinados momentos que simplesmente o tráfego vira para outra operadora..
Não estamos livres de receber "saltos mascarados" .. Operadora também satura link e precisa balancear.
E tem mais, pra descobrir por onde determinado trafego está vindo só com LG.
O upload pode sair por uma operadora e vir por outra..
Última edição por klabundee; 22-01-2015 às 17:56.
estou implantando prefix-list e route-map vi alguns exemplos que voce pode colocr o prefix-list dentro do route-map ou seja mesmo que permita no prefix se nagar no route-map ele vi obedecer o route-map?
é sempre necessario colocar o prefix dentro do route-map ou posso usar em uma sessao bgp ambos ou somente o prefix ou route-map?
Dois detalhes: Cuidado com a quebra para balanceamento. Operadoras que usam RPF matam pacotes que tem fluxo de entrada / saída em interfaces diferentes. Outra coisa é que prepend é facilmente morto com localpref. Exemplo: Você manda um prefixo seu com prepend, e bate no roteador da GVT. Só que a política da GVT é dar localpref pelo caminho onde você fez prepend. Conclusão: localpref vai matar seu BGP. No resto, discussão saudável.
Att,