[GTER] Mikrotik Multiplos VRFs e BGPs

Douglas Fischer fischerdouglas at gmail.com
Wed Jul 8 12:10:35 -03 2015


Apenas complementando a sintomatologia:

Se, na configuração original, eu desativo os VRFs, aguardo as sessões
subirem e então reativo os VRFs, tudo funciona como deveria!
 Tabelas de roteamentos separadas... Tudo certinho.
 Mas se derrubo as sessões desativo forço uma queda de sessão, ela não
volta.


Seria um BUG?
Devo reportar?
Aonde?



Em 8 de julho de 2015 11:38, Douglas Fischer <fischerdouglas at gmail.com>
escreveu:

> 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
>



-- 
Douglas Fernando Fischer
Engº de Controle e Automação



More information about the gter mailing list