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
AS100
VLAN-100
192.16.100.1/30
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'
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
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
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
run show ip bgp neighbors 192.16.100.1 advertised-routes
run show ip bgp neighbors 192.16.100.1 received-routes
run show ip bgp neighbors 192.16.200.1 advertised-routes
run show ip bgp neighbors 192.16.200.1 received-routes
Comparando rotas no bgp
run show ip route 0.0.0.0
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
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
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