[GTER] Mikrotik Multiplos VRFs e BGPs
Douglas Fischer
fischerdouglas at gmail.com
Wed Jul 8 11:38:59 -03 2015
Eu ia dar uma de gravedigger e ressuscitar uma thread velha[1].
Mas como montei o ambiente inteiro de novo, pensei:
Laboratório novo -> Thread nova!
Quero subir múltiplos BGPs, cada um em uma VRF diferente, em uma mesma
caixa Mikrotik.
Obs.: Procurei um bocado, e tudo que encontrei estava relacionado a MPLS.
Não quero tagear nada para fora...
Só quero dividir minhas tabelas dentro da minha própria caixa
???
Algum segredo para fazer o que seria o VRF-Lite no mundo Cisco funcionar em
Mikrotik?
???
Usei duas RB1100 e apliquei as configs que estão mais abaixo.
Sintomas
- As sessões BGP ficam em "connect" ad-eternum.
- No sniffer, pego pacotes de abertura de sessão vindos dos dois lados...
- No Logging do BGP, ele fica reclamando de connection retry timer expired.
P.S.: Tenho a impressão que o LISTENER do BGP(TCP/179) não está escutando
dentro do VRF.
Qual seria o equivalente a um "lsof -ni",
ou um "show control-plane host open-ports" nessa geringonça?
Fiz algumas tentativas:
- Ao tirar uma das instâncias BGP do VRF e excluir o respectivo VRF,
APENAS EM UM DOS LADOS, a sessão sobe instantaneamente.
- Pensei que era um galho em uma das caixas, e resolvi fazer o mesmo do
outro lado em outra instância.
Sessão subiu no mesmo momento.
- Tirando a instância do VRF dos dois lados, a sessão também sobe.
- Se tirar todo mundo dos VRFs, obviamente todas as sessões sobem.
Porém minha tabela de rotas vira um balaio de gato.
- Tentei usar o recurso de BGP-VRF que fica dentro de BGP.
Não tive sucesso.
/system identity
set name=Caixa1
/interface bridge
add name=loopback1
add name=loopback2
add name=loopback3
/ip route vrf
add export-route-targets=1:1 import-route-targets=1:1
interfaces=ether1,loopback1 route-distinguisher=1:1 routing-mark=vrf-1
add export-route-targets=2:1 import-route-targets=2:1
interfaces=ether2,loopback2 route-distinguisher=2:1 routing-mark=vrf-2
add export-route-targets=3:1 import-route-targets=3:1
interfaces=ether3,loopback3 route-distinguisher=3:1 routing-mark=vrf-3
/ip address
add address=1.0.0.1/30 interface=ether1 network=1.0.0.0
add address=2.0.0.1/30 interface=ether2 network=2.0.0.0
add address=3.0.0.1/30 interface=ether3 network=3.0.0.0
add address=1.1.1.1 interface=loopback1 network=1.1.1.1
add address=2.2.2.1 interface=loopback2 network=2.2.2.1
add address=3.3.3.1 interface=loopback3 network=3.3.3.1
/routing bgp instance
set default disabled=yes
add as=1 client-to-client-reflection=no name=bgp1
redistribute-connected=yes router-id=1.1.1.1 routing-table=vrf-1
add as=2 client-to-client-reflection=no name=bgp2
redistribute-connected=yes router-id=2.2.2.1 routing-table=vrf-2
add as=3 client-to-client-reflection=no name=bgp3
redistribute-connected=yes router-id=3.3.3.1 routing-table=vrf-3
/routing bgp peer
add instance=bgp1 name=caixa2-as1 remote-address=1.0.0.2 remote-as=1
ttl=default update-source=ether1
add instance=bgp2 name=caixa2-as2 remote-address=2.0.0.2 remote-as=2
ttl=default update-source=ether2
add instance=bgp3 name=caixa2-as3 remote-address=3.0.0.2 remote-as=3
ttl=default update-source=ether3
/system identity
set name=Caixa2
/interface bridge
add name=loopback1
add name=loopback2
add name=loopback3
/ip route vrf
add export-route-targets=1:1 import-route-targets=1:1
interfaces=ether1,loopback1 route-distinguisher=1:1 routing-mark=vrf-1
add export-route-targets=2:1 import-route-targets=2:1
interfaces=ether2,loopback2 route-distinguisher=2:1 routing-mark=vrf-2
add export-route-targets=3:1 import-route-targets=3:1
interfaces=ether3,loopback3 route-distinguisher=3:1 routing-mark=vrf-3
/ip address
add address=1.0.0.2/30 interface=ether1 network=1.0.0.0
add address=2.0.0.2/30 interface=ether2 network=2.0.0.0
add address=3.0.0.2/30 interface=ether3 network=3.0.0.0
add address=1.1.1.2 interface=loopback1 network=1.1.1.2
add address=2.2.2.2 interface=loopback2 network=2.2.2.2
add address=3.3.3.2 interface=loopback3 network=3.3.3.2
/routing bgp instance
set default disabled=yes
add as=1 client-to-client-reflection=no name=bgp1
redistribute-connected=yes router-id=1.1.1.2 routing-table=vrf-1
add as=2 client-to-client-reflection=no name=bgp2
redistribute-connected=yes router-id=2.2.2.2 routing-table=vrf-2
add as=3 client-to-client-reflection=no name=bgp3
redistribute-connected=yes router-id=3.3.3.2 routing-table=vrf-3
/routing bgp peer
add instance=bgp1 name=caixa1-as1 remote-address=1.0.0.1 remote-as=1
ttl=default update-source=ether1
add instance=bgp2 name=caixa1-as2 remote-address=2.0.0.1 remote-as=2
ttl=default update-source=ether2
add instance=bgp3 name=caixa1-as3 remote-address=3.0.0.1 remote-as=3
ttl=default update-source=ether3
[1]https://eng.registro.br/pipermail/gter/2015-March/054115.html
--
Douglas Fernando Fischer
Engº de Controle e Automação
More information about the gter
mailing list