Mudanças entre as edições de "MPLS L3VPN em Backbone Huawei"

De Wiki BPF
Ir para navegação Ir para pesquisar
Linha 502: Linha 502:
 
=== CONSIDERAÇÕES FINAIS ===
 
=== CONSIDERAÇÕES FINAIS ===
 
<blockquote>
 
<blockquote>
Lembrando que abordei apenas o cenário mais simples possível, sem focar em filtros BGP nem nada disso. Apenas uma forma básica de como fazer uma L3VPN, pois esse mundo de L3VPN pode ser gourmet ao máximo, exemplo: fechar sessão de trânsito no PE, ele sendo um switch, 6VPE, etc.
+
Lembrando que abordei apenas o cenário mais simples possível, sem focar em filtros BGP nem nada disso. Apenas uma forma básica de como fazer uma L3VPN, pois esse mundo de L3VPN pode ser gourmet ao máximo, exemplo: fechar sessão de trânsito no PE, ele sendo um switch, 6VPE, Tuneis de TE, etc.
  
 
Sei que pode existir, mas não há muitos materiais como esse mostrando o how-to da coisa. Aproveite, estude, seja feliz.
 
Sei que pode existir, mas não há muitos materiais como esse mostrando o how-to da coisa. Aproveite, estude, seja feliz.

Edição das 14h07min de 1 de maio de 2026

INTRODUÇÃO

Visando compartilhar conhecimento nesta Wiki, que por muitas vezes nos ajuda com informações, decidi contribuir juntamente com outros profissionais da área para, juntos, tornarmos a internet um lugar melhor. Esta contribuição será sobre como configurar L3VPN na forma mais comum que vemos hoje operando em um ISP.

Sei que há muitos materiais fantásticos de estudo e explicações teóricas sobre o assunto, os quais recomendo e indico. Porém, o que tenho sentido falta é de um conteúdo que descreva o how-to, o hands-on, o famoso “mão na massa”, como se diz no bom e velho cearense.

Muitas pessoas desejam implementar L3VPN, mas, por falta de conhecimento ou até mesmo por certa preguiça intelectual, visto que os materiais da Huawei são excelentes, acabam não avançando. Pensando nisso, estarei elaborando este tutorial.

Por gentileza, não espere aqui explicações sobre os comandos. O que você encontrará, na verdade, será uma receita de bolo. Seguindo este passo a passo, você conseguirá estabelecer comunicação L3 via MPLS e MP-BGP entre diferentes pontos da rede.

OBSERVAÇÕES

Estou contando que você já tenha o MPLS rodando na sua rede na sua forma básica, tenho 2 exemplos para você utilizar com IGPs diferentes:

IS-IS: Ativando MPLS L2VPN com ISIS no Huawei

OSPF: Ativando MPLS L2VPN no Backbone Huawei

Se voce não tiver o MPLS operante na sua rede esse tutorial lhe servirá apenas para conhecer os comandos, pois não irá funcionar.

Para o meu comodismo, neste tutorial o meu RR (route-reflector) será um huawei e a função dela será unicamente ser RR apenas.

Existem diversas soluções para RR, por exemplo: https://www.linkedin.com/in/bruno-lima-92b24013a/ Bruno Lima um amigo crânio nesses cenários, fez RR em maquinas virtuais com Debian + FRR.

Indicações para estudos de L3VPN:

https://www.youtube.com/watch?v=K1-MJMTwLDo - Leonardo Furtado

https://www.youtube.com/watch?v=5Eg5jC2AMaQ - Leonardo Furtado

https://www.youtube.com/watch?v=W8HS_y7REiM - Leonardo Furtado

https://www.youtube.com/watch?v=TqdZYK_9rlY - Leonardo Furtado

https://www.youtube.com/watch?v=aNDb9yWZ-PU - Gustavo Kalau

https://www.youtube.com/watch?v=x3I6vBD5avM - Gustavo Kalau

https://www.youtube.com/watch?v=s2cL6P-Ml8k - Gustavo Kalau

https://www.youtube.com/watch?v=87jYbG536pA&t=927s - André Dias e Wallace Andrade.

NÃO, ESTE TUTORIAL NÃO FOI CRIADO POR IA, ME DEI O TRABALHO DE CRIAR A TOPOLOGIA NA MÃO, QUEM DIRÁ O TEXTO.

TOPOLOGIA PROPOSTA

Endereçamentos de loopbacks dos ativos:

PE1 = 10.0.0.1

PE2 = 10.0.0.2

PE3 = 10.0.0.3

PE4 = 10.0.0.4

PE5 = 10.0.0.5

PE6 = 10.0.0.6

PE7 = 10.0.0.7

PE8 = 10.0.0.8

RR = 10.0.0.255

A problemática será fazer o Exercito do Ceará se comunicar com o Exercito de Brasília.

CONFIGURAÇÃO NO RR

Ensira o RR na Malha MPLS do Backbone

lnp disable
#
stp disable
#
bfd
#
isis 1
 is-level level-2
 cost-style wide
 bandwidth-reference 100000
 ldp-sync enable mpls-binding-only
 network-entity 49.0001.1000.0000.0255.00
 is-name RR
 traffic-eng level-2
 frr
  loop-free-alternate level-2
 #
 ipv6 enable topology standard
 #
#
interface LoopBack0
 description MPLS-LSR-ID
 ip address 10.0.0.255 255.255.255.255
 isis enable 1
#
router id 10.0.0.255
#
mpls lsr-id 10.0.0.255
mpls
 mpls te
#
mpls ldp
 graceful-restart
#
mpls l2vpn
#
interface Eth-Trunk1
 description P2P-PE1
 mtu 9216
 ip address 10.10.0.34 30
 isis enable 1
 isis circuit-type p2p
 isis authentication-mode md5 cipher bruno@cavalcante
 isis bfd enable
 mpls
 mpls mtu 9200
 mpls te
 mpls ldp
 jumboframe enable 12288
 shutdown
 undo shutdown
#
mpls ldp remote-peer pe1
 remote-ip 10.0.0.1
#
mpls ldp remote-peer pe2
 remote-ip 10.0.0.2
#
mpls ldp remote-peer pe3
 remote-ip 10.0.0.3
#
mpls ldp remote-peer pe4
 remote-ip 10.0.0.4
#
mpls ldp remote-peer pe5
 remote-ip 10.0.0.5
#
mpls ldp remote-peer pe6
 remote-ip 10.0.0.6
#
mpls ldp remote-peer pe7
 remote-ip 10.0.0.7
#
mpls ldp remote-peer pe8
 remote-ip 10.0.0.8
#
display isis peer
#
display isis brief
#
display isis 1 route
#
display mpls ldp session
#
display mpls ldp peer
#
display mpls ldp adjacency
#
display mpls ldp lsp peer
#

Configure o MP-BGP

bgp 65000
router-id 10.0.0.255
undo default ipv4-unicast
group PE internal
peer PE connect-interface LoopBack0
peer 10.0.0.1 group PE
peer 10.0.0.1 description PE01
peer 10.0.0.2 group PE
peer 10.0.0.2 description PE02
peer 10.0.0.3 group PE
peer 10.0.0.3 description PE03
peer 10.0.0.4 group PE
peer 10.0.0.4 description PE04
peer 10.0.0.5 group PE
peer 10.0.0.5 description PE05
peer 10.0.0.6 group PE
peer 10.0.0.6 description PE06
peer 10.0.0.7 group PE
peer 10.0.0.7 description PE07
peer 10.0.0.8 group PE
peer 10.0.0.8 description PE08
#
 ipv4-family vpnv4
  undo policy vpn-target
  peer PE enable
  peer PE reflect-client
  peer PE advertise-community
  peer 10.0.0.1 enable
  peer 10.0.0.1 group PE
  peer 10.0.0.2 enable
  peer 10.0.0.2 group PE
  peer 10.0.0.3 enable
  peer 10.0.0.3 group PE
  peer 10.0.0.4 enable
  peer 10.0.0.4 group PE
  peer 10.0.0.5 enable
  peer 10.0.0.5 group PE
  peer 10.0.0.6 enable
  peer 10.0.0.6 group PE
  peer 10.0.0.7 enable
  peer 10.0.0.7 group PE
  peer 10.0.0.8 enable
  peer 10.0.0.8 group PE
 #

Praticamente nossa configuração de RR está pronta de acordo com a proposta do tutorial, como será apenas RR, não precisa criar as VRF, ele não precisa ficar sabendo disso, por isso do comando undo policy vpn-target, pois dessa forma ele recebe todas as rotas VPNv4 sem precisar criar as VRF para marcação dos vpn-target.

CONFIGURAÇÃO NO PE1

interface Eth-Trunk1
 description P2P-RR
 mtu 9216
 ip address 10.10.0.33 30
 isis enable 1
 isis circuit-type p2p
 isis authentication-mode md5 cipher bruno@cavalcante
 isis bfd enable
 mpls
 mpls mtu 9200
 mpls te
 mpls ldp
 jumboframe enable 12288
 shutdown
 undo shutdown
#
ip vpn-instance VRF_EXERCITO
 ipv4-family
  route-distinguisher 65432:0
  vpn-target 65432:0 export-extcommunity
  vpn-target 65432:0 import-extcommunity
#
vlan 3050
  description EXERCITO_CE
#
interface Vlanif3050
 description EXERCITO_CE
 ip binding vpn-instance VRF_EXERCITO
 ip address 10.0.254.1 255.255.255.252
 statistic enable both
#
interface XGigabitEthernet0/0/1
 port link-type trunk
 undo port trunk allow-pass vlan 1
 port trunk allow-pass vlan 3050
#
ip ip-prefix IMPORT_DIRECT_VRF_EXERCITO index 10 permit 10.0.254.0 30
#
route-policy IMPORT_DIRECT_VRF_EXERCITO permit node 10
 if-match ip-prefix IMPORT_DIRECT_VRF_EXERCITO
#
route-policy IMPORT_DIRECT_VRF_EXERCITO deny node 999
#
bgp 65000
 router-id 10.0.0.1
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
 #
 ipv4-family vpn-instance VRF_EXERCITO
  import-route direct route-policy IMPORT_DIRECT_VRF_EXERCITO
#

CONFIGURAÇÃO NO PE5

ip vpn-instance VRF_EXERCITO
 ipv4-family
  route-distinguisher 65432:0
  vpn-target 65432:0 export-extcommunity
  vpn-target 65432:0 import-extcommunity
#
vlan 400
  description EXERCITO_BR
#
interface Vlanif3050
 description EXERCITO_BR
 ip binding vpn-instance VRF_EXERCITO
 ip address 10.0.253.1 255.255.255.252
 statistic enable both
#
interface XGigabitEthernet0/0/1
 port link-type trunk
 undo port trunk allow-pass vlan 1
 port trunk allow-pass vlan 400
#
ip ip-prefix IMPORT_DIRECT_VRF_EXERCITO index 10 permit 10.0.253.0 30
#
route-policy IMPORT_DIRECT_VRF_EXERCITO permit node 10
 if-match ip-prefix IMPORT_DIRECT_VRF_EXERCITO
#
route-policy IMPORT_DIRECT_VRF_EXERCITO deny node 999
#
bgp 65000
 router-id 10.0.0.5
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
 #
 ipv4-family vpn-instance VRF_EXERCITO
  import-route direct route-policy IMPORT_DIRECT_VRF_EXERCITO
#

Se sua rede estiver toda configurada com IS-IS/OSPF + MPLS funcionando, nesse momento as redes 10.0.253.0/30 e 10.0.254.0 30 já se conversam, e ambas podem ser encontradas na VRF dos PE1 e PE5

Exemplo se voce for no PE1 onde tem criado o IP 10.0.254.1 verá que também nessa VRF já vai conseguir pigar no bloco 10.0.253.1 que é do PE5, exemplo:

[LAB-PE1] ping -vpn-instance VRF_EXERCITO 10.0.253.1

Isso acontece devido a "magia" do nosso MP-BGP e MPLS de divulgar e instalar rotas VPNv4 que contenham as mesmas vpn-target

CONFIGURAÇÕES DOS DEMAIS PE

Nos demais PE nos quais não participam da VRF do Exercito, as confs são iguais de um PE para outro, mudando apenas o router-id do BGP. Para esse transporte L3VPN do Exercito funcionar, não depende de nenhuma conf daqui para baixo, estou apenas mostrando como fecha sessão VPNv4 com o RR nos demais PE, apenas.

PE2:-----------------------------------
bgp 65000
 router-id 10.0.0.2
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

PE3:-----------------------------------
bgp 65000
 router-id 10.0.0.3
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

PE4:-----------------------------------
bgp 65000
 router-id 10.0.0.4
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

PE6:-----------------------------------
bgp 65000
 router-id 10.0.0.6
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

PE7:-----------------------------------
bgp 65000
 router-id 10.0.0.7
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

PE8:-----------------------------------
bgp 65000
 router-id 10.0.0.8
 undo default ipv4-unicast
 group RR internal
 peer RR connect-interface LoopBack0
 peer 10.0.0.255 as-number 65000
 peer 10.0.0.255 group RR
 #
 ipv4-family unicast
  undo synchronization
  undo peer RR enable
  undo peer 10.0.0.255 enable
 #
 ipv4-family vpnv4
  policy vpn-target
  peer RR enable
  peer RR next-hop-local
  peer RR advertise-community
  peer 10.0.0.255 enable
  peer 10.0.0.255 group RR
#
#

VERIFICANDO AS SESSÕES VPNv4 NO RR

Com esse comando abaixo verá todas as sessões que fecharam com o RR

[LAB-RR] display bgp vpnv4 all peer

CONSIDERAÇÕES FINAIS

Lembrando que abordei apenas o cenário mais simples possível, sem focar em filtros BGP nem nada disso. Apenas uma forma básica de como fazer uma L3VPN, pois esse mundo de L3VPN pode ser gourmet ao máximo, exemplo: fechar sessão de trânsito no PE, ele sendo um switch, 6VPE, Tuneis de TE, etc.

Sei que pode existir, mas não há muitos materiais como esse mostrando o how-to da coisa. Aproveite, estude, seja feliz.

Se, mesmo depois de estudar as indicações de vídeos que mencionei no começo do tutorial e ver os tutoriais de L2VPN que também mencionei, no final você ainda não entendeu nada?! Calma, o problema pode ser mais fácil do que você imagina. Segue a receita:

-Vitamina B12 sublingual 1mg

-Addera D3 2.000 UI

-Ômega 3 qualquer marca

-Magnésio Treonato

-Coenzima Q10

Fiz uma pesquisa no Google, e esses suplementos acima prometem lhe ajudar, pois só faltei pegar na sua mão e fazer a conf.

Brincadeiras à parte, espero que você tenha aproveitado essa contribuição e que, de alguma forma, eu tenha conseguido lhe ajudar.

Até a próxima...

Autor: Bruno Cavalcante