Skip to content

Curso BGP com Vyos

Instalação do VYOS

Configurações iniciais

Estados

  • IDLE - Buscando um neighbord
  • Connect - Identificou um vizinho, mas nao se conectou
  • OPEN ( São dois estados)
  • 1 Open Send
  • 2 Open Confirm
  • Established ( Podemos enviar mensagens de, Updade Notification Keepalive )

Topologia do Curso

Topologia Informações das operadoras

Nosso ASN sera o 300

AS300
IP: 200.200.200.0/22
Operadora 1
AS100 
VLAN-100
192.16.100.1/30
Operadora 2
AS200 
VLAN-200
192.16.200.1/30
graph LR
A(Op. AS100) -- 192.16.100.2/30 --> C(SW.LINK)
B(Op. AS200) -- 192.16.200.2/30 --> C
C --> D(AS300 200.200.200.0/22)
D --> E(Switch)
E -- 172.16.0.2/30--> F(BRAS)

Configurando Endereçamento IP e Vlan

Primeiro vamos adinionar as vlans e inserir uma descrição, logo em seguida adicionamos os ips das vlans

set interfaces ethernet eth1 vif 100 description 'VLAN.100 Operadora 1'
set interfaces ethernet eth1 vif 100 address '192.16.100.2/30'
set interfaces ethernet eth1 vif 200 description 'VLAN.200 Operadora 2'
set interfaces ethernet eth1 vif 200 address '192.16.200.2/30'
adicionamos o ip para comunicar com o BRAS
set interfaces ethernet eth2 description 'LINK C/ BRAS'
set interfaces ethernet eth2 address '172.16.0.1/30'

Também vamos verificar se ja conseguimos pingar na operadora.

run ping 192.16.100.1
run ping 192.16.200.1
run ping 172.16.0.2

Criando os rotas estaticas

Diferente do mikrotik, é necessario criarmos uma blackhole com nossos blocos a serem anunciados. nos temos um /22 e somente duas operadoras, então vamos quebrar em 2 blocos /23.

set protocols static route 200.200.200.0/22 blackhole
set protocols static route 200.200.200.0/23 blackhole
set protocols static route 200.200.202.0/22 blackhole
Configure para que o BGP redistribua as rotas estaticas

set protocols bgp 270890 address-family ipv4-unicast redistribute static
commit
save

Criando os filtros das operadoras

“prefix-list” – Prefixos para Anúncios O “prefix-list” é uma política onde determinamos os blocos IP que serão aceitos e os que não serão aceitos para anúncio.

Permitir seus prefixos Para que a sua conexão com a operadora tenha efeito de anúncio do seu prefixo de IPs, é necessário criar uma lista que contenha este prefixo. Da mesma forma como, caso seu ASN seja um transito para outros ASN’s, também será necessário apontar os blocos destes ASN’s dentro desta ou otura prefix-list.

Criando Prefix-List OPERADORA 1

set policy prefix-list PREFIX-OPERADORA-1
edit  policy prefix-list PREFIX-OPERADORA-1
set rule 40 action permit
set rule 40 prefix 200.200.200.0/22
set rule 50 action permit
set rule 50 prefix 200.200.200.0/23
Criando Prefix-List OPERADORA 2

set policy prefix-list PREFIX-OPERADORA-2
edit  policy prefix-list PREFIX-OPERADORA-2
set rule 40 action permit
set rule 40 prefix 200.200.200.0/22
set rule 50 action permit
set rule 50 prefix 200.200.202.0/23
commit
save

Tambem devemos criar as route-maps Vamos receber um full-route das operadoras

ENTRADA OP1

set policy route-map AS100-IN
edit policy route-map A100-IN
set rule 5 action permit

ENTRADA OP2

set policy route-map AS200-IN
edit policy route-map A200-IN
set rule 5 action permit

Vamos configurar nosso route-map para anunciar os prefixos que configuramos.

SAIDA PARA OP1

set policy route-map AS100-OUT
edit policy route-map AS100-OUT
set rule 5 match ip address prefix-list PREFIX-OPERADORA-1

SAIDA PARA OP2

set policy route-map AS200-OUT
edit policy route-map AS200-OUT
set rule 5 match ip address prefix-list PREFIX-OPERADORA-2
commit
save

Peer com Operadoa 1

set protocols bgp 300 neighbord 192.16.100.1 #O IP 192.16.100.1 é o ip do lado da operadora
edit protocols bgp 300 neighbord 192.16.100.1
set description "PEER COM AS100"
set remote-as 100
set address-family ipv4-unicast route-map export AS100-OUT
set address-family ipv4-unicast route-map import AS100-IN
set address-family ipv4-unicast soft-reconfiguration inbound
set update-source 192.16.100.1 #192.16.100.1 é o IP do nosso lado do /30
commit
save

Peer com Operadoa 2

set protocols bgp 300 neighbord 192.16.200.1 #O IP 192.16.200.1 é o ip do lado da operadora
edit protocols bgp 300 neighbord 192.16.200.1
set description "PEER COM AS200"
set remote-as 200
set address-family ipv4-unicast route-map export AS200-OUT
set address-family ipv4-unicast route-map import AS200-IN
set address-family ipv4-unicast soft-reconfiguration inbound
set update-source 192.16.200.1 #192.16.200.1 é o IP do nosso lado do /30
commit
save

Verificando Rotas recebidas e anuncios

Verificandos os peers

run show ip bgp summary
Rotas enviadas para OP1
run show ip bgp neighbors 192.16.100.1 advertised-routes
Rotas recebidas da OP1
run show ip bgp neighbors 192.16.100.1 received-routes 
Rotas enviadas para OP2
run show ip bgp neighbors 192.16.200.1 advertised-routes
Rotas recebidas da OP2
run show ip bgp neighbors 192.16.200.1 received-routes 

Comparando rotas no bgp

run show ip route 0.0.0.0
Verificando se estamos recebendo determinada rota
run show ip bgp 0.0.0.0

Manipulando Download

Existe alguns metodos para manipular o download, neste curso vamos usar um dos metodos que é por prefixo, no caso quando o trafego volta até o provedor "Download" ele vai preferencialmente voltar pelo anuncio de menor bloco.

Exemplo, estamos anunciando um /22 e um /23 para cada operadora certo ? se aplicarmos o seguinte comando

edit  policy prefix-list PREFIX-OPERADORA-1
set rule 60 action permit
set rule 60 prefix 200.200.203.0/24
O trafego do bloco "200.200.203.0/24" vai chegar via "OPERADORA 1" mesmo o /23 que engloba o nosso prefixo "200.200.203.0" estiver sendo anunciado pela "OPERADORA 2"

Lembrando que; anunciamos o bloco completo "200.200.200.0/22" nas duas operadoras, sendo assim nós temos redundancia nas duas operadoras.

Manipulando Upload

Automaticamente o bgp manipula o UPLOAD.

Mas tambem podemos manipular usando a "rota default" neste caso iremos configurar nossos filtros para receberem apenas o "0.0.0.0/0" das duas operadoras e nada mais.

Criamos uma prefix-list com a rota defaul, e também os blocos que queremos manipular o upload.

edit policy prefix-list PREFIX-LIST-ENTRADA
set rule 5 action permit
set rule 5 prefix 0.0.0.0/0

logo em seguida adicionamos esse prefix-list nas route-maps de entrada.

OPERADORA 1

edit policy route-map A100-IN
set rule 5 match ip address prefix-list PREFIX-LIST-ENTRADA
set rule 100  action deny

OPERADORA 2

edit policy route-map A100-IN
set rule 5 match ip address prefix-list PREFIX-LIST-ENTRADA
set rule 100  action deny

pronto, agora as duas operadoras entao entregando somente a rota 0.0.0.0 podemos conferir com o comando

run show ip route 0.0.0.0

run show ip bgp 0.0.0.0

para enviar todo o trafego pela Operadora 1 então adicionamos o local-preference 1000 na route-map

set rule 5 set local-preference 1000
pode ser feito na operadora 2 também, lembre-se, o local-preference é de acordo com o peso, quanto maior for, ele vai ganhar.

OSPF com BRAS

set protocols ospf area 0.0.0.0 area-type normal
set protocols ospf area 0.0.0.0 network 172.16.0.2/30
set protocols ospf interface eth2 mtu-ignore
set protocols ospf interface eth2 network point-to-point
set protocols ospf default-information originate always

Testando as rotas

Automação com Zabbix

Peer com AS400 + Rotas de Backup

Vendendo Link para AS400

AS400 
VLAN-400 - Principal
VLAN-401 - Backup
200.200.210

graph LR
A((Op. AS100)) -- 192.16.100.2/30 --> B(AS300)
C((Op. AS200)) -- 192.16.200.2/30 --> B
B --> E(Switch)
E -- 172.16.0.2/30--> F(BRAS)
E -- VLAN.400--> G(AS400)
E -- VLAN.401--> G(AS400)

Criando VLAN para AS400 e adicionando IP

set interfaces ethernet eth2 vif 400 description 'VLAN.400 Cliente AS400 - Principal'
set interfaces ethernet eth2 vif 400 address '172.16.2.1/30'
set interfaces ethernet eth2 vif 401 description 'VLAN.401 Cliente AS400 - Backup'
set interfaces ethernet eth2 vif 401 address '172.16.3.1/30'

Criando Prefix-List AS400

set policy prefix-list PREFIX-AS400
edit  policy prefix-list PREFIX-AS400
set rule 40 action permit
set rule 40 prefix 200.200.100.0/22
set rule 50 action permit
set rule 50 prefix 200.200.100.0/22