sexta-feira, 8 de abril de 2011

VPN – L3VPN sobre L2TPv3 sem MPLS

1      L3VPN em L2TP sem MPLS

A funcionalidade MPLS VPNs over IP Tunnels permite que seja configurado o serviço de VPN L3 sobre o backbone IP usando a tecnologia de túnel L2TPv3 multiponto ao invés do Multiprotocol Label Switching (MPLS). Como os tuneis multiponto suportam multiplos endpoints, é necessário configurar apenas um único tunnel em cada roteador PE.

1.1       Divulgação do Túnel pelo BGP entre os PEs

O Border Gateway Protocol (BGP) é utilizado para divulger os endpoints dos túneis e a subaddress family indentifier (SAFI) Essa feature introduz o tunnel SAFI e o atributo BGP SAFI-Specific Attribute (SSA). O tunnel SAFI define o endpoint do tunnel e transporta o endereço IPv4 e o nexthop do endpoint. O SAFI é identificado pelo SAFI number 64. O BGP SSA transporta o BGP preference e BGP flags, além de tunnel cookie, tunnel cookie length, e o session ID. Esses atributos permitem que o BGP distribua as informações de encapsulamento do túnel entre os roteadores PEs. O tráfego de VPNv4 é roteado através desses túneis. O next hop anunciado nos updates do BGP-VPNv4 determina qual túnel deverá ser usado para rotear o trafego..

1.2       Configurando os PEs

Um único tunnel L2TPv3 multiponto é configurado em cada PE. A VPN é criada configurando a instancia VRF normalmente. O túnel que transporta o tráfego da VPN através do backbone reside no seu proprio espaço de Endereçamento. Uma VRF chamada Resolve in VRF (RiV) é criada para gerenciar os endereçamentos do túnel. O endereçamento configurado na VRF RiV é associada com o tunnel e uma rota estática é configurada na VRF RiV para rotear o tráfego pelo túnel.
How to Configure MPLS VPNs over IP Tunnels
Para configurar o serviço de VPN L3 sobre o tunnel L2TPv3 multiponto deve-se crier a instancia VRF, criar o tunnel multiponto L2TPv3, redirecionar o tráfego Ip da VPN para o tunnel e configurar a troca de informações de VPN pelo BGP VPNv4.


Cenário

1.3       Objetivo

Cinco roteadores (CE1, PE1, P, PE2 e CE2) são conectados formando um backbone com 3 roteadores e dois CEs conectados. Pede-se:
      O protocolo de roteamento de backbone PE1-P-PE2 deverá ser o OSPF na área 0 com todas as interfaces divulgadas e com mBGP no AS 1 entre os PEs para tráfego de VRFs;
      Tanto o CE1 quanto o CE2 deverão pertencer a VRF VPN_A e deverá existir conectividade entre esses CEs;
      Não deverá ser usado MPLS para o tráfego de dados da VRF. Deve-se usar um túnel L3VPN com L2TP;
      O túnel deverá ter autenticação com a chave “12”.

1.4       Topologia


Figure-01:         Topologia

1.5       IOS utilizados

      CE1, PE1, P, PE2 e CE2 – c7200-k91p-mz.122-25.S15.bin

1.6       Configuração dos Roteadores

1.6.1        Configurações do OSPF do Backbone

Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.
Para adicionar interfaces deve-se usar o comando “network
área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network e o tipo da área com o comando “area [type]”.

1.6.2        Configuração do MBGP

Para estabelecer uma VPN, seja lite ou não, é necessário configurar o MBGP para a troca de informações de prefixos de VPN. É necessário somente configurar o MBGP nos roteadores PEs da rede que possuem conexão com os CEs, ou seja, conectados diretamente aos sites.
O MBGP funciona como o BGP, configura-se em todos os roteadores pelo comando “router bgp onde o “AS” é o Autonomous System do backbone. Dentro da configuração de BGP adicionam-se os vizinhos estaticamente com o comando “neighbor remote-as .
Adiciona-se o IP da interface loopback como Router-ID pelo comando “bgp router-id .
Como os roteadores dentro do mesmo AS não divulgarão as rotas IBGP entre eles, faz-se o full-mesh de conexão MBGP ou configuram-se os roteadores centrais como Router-reflectors adicionando os demais roteadores como clientes pelo comando “neighbor router-reflector-client”.
O MBGP é configurado dentro do protocolo BGP, porém deve-se separar a família de roteamento com o comando “address-family vpnv4” e dentro da família ativar os vizinhos. Para o envio de prefixos das VPNs, deve-se habilitar o envio de community extendida com o comando “neighbor send-community extended”.
Todos os recursos como route-map, next-hop-self, router-reflector, etc. podem ser configurados dentro da família VPNv4 para manipular ou resolver problemas de roteamento.

1.6.3        Criando uma VPN VRF no BGP

Após todos os roteadores PEs da rede possuem conectividade MBGP, ou diretamente ou por router-reflector, cria-se a VPN com o comando “ip vrf ”, dentro desse comando ficam os parâmentros de marcação da VPN e das communities associadas aos prefixos daquela VPN. Configura-se o Route-Distinguisher da VPN, que deve ser único na rede, com comando “rd :”, e também se cria a community que será exportada para aqueles prefixos de rede com o comando “route-target :”, onde “import” significa importar as rotas e “export” exportar as rotas marcadas com aquela community.
Cria-se então uma address-family dentro do BGP com o comando “address-family ipv4 vrf ” com o mesmo nome da VPN criada no “ip vrf” fora do roteamento BGP. Dentro dessa address-family são configuradas as redes que serão redistribuídas para os outros sites. Para divulgar as redes é necessário que a rede exista na tabela de roteamento interna e, ou adicionar o comando “network mask ou redistribuindo rotas para o MBGP com o comando “redistribute , que pode ser vinculado a um route-map para definir exatamente as rotas que serão divulgadas de um protocolo para outros sites.
Enfim, para que uma interface conectada ao CE faça parte da VPN BGP, usa-se o comando “ip vrf forwarding ” dentro da interface.

1.6.4        Criando o túnel L2TP L3 para tráfego de VPN

Para criar um túnel multiponto GRE para envio de tráfego das VRFs criadas nos PEs, cria-se uma vrf exclusiva para o transporte dos dados, geralmente chamada de “RiV” que quer dizer Resolve-in-VRF ip vrf RiV”, dentro da VRF configura-se um RD.
Em seguida, cria-se uma interface túnel “interface tunnel ” na vrf de transporte (no caso, RiV) com um endereço IP na mesma rede do endereço IP das interfaces túnel de todos os outros PEs. Usa-se o o endereço IP da loopback como source do túnel (esse endereço tem que ser acessível pelos outros PEs) “tunnel source loopback 0. Configura-se o tipo do túnel que deverá ser L2TPv3 multiponto para VPN L3 “tunnel mode l3vpn l2tpv3 multipoint”.
Na vizinhança com os outros PEs ou com o Router Reflector aplica-se um route-map de entrada dizendo que tudo o que é aprendido por aquele peer deve ser enviado para a VRF de transporte, a RiV. Esse route-map tem como set o comando “set ip next-hop in-vrf RiV”.
Para que o roteamento do túnel seja feito entre os PEs, deve-se configurar uma conexão MBGP em uma address-family Tunnel entre o PEs envolvidos ou com um router-reflector.
Por último, configura-se uma rota estática default apontada para a interface tunnel dentro da vrf RiV.

1.7       Observações e Bugs

2      Configuração

2.1       CE1

!
interface FastEthernet0/0
 ip address 10.10.10.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.10.10.254
!

2.2       PE1

!
ip cef
!
ip vrf RiV
 rd 12:12
!
ip vrf VPN_A
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Tunnel12
 ip vrf forwarding RiV
 ip address 12.12.12.1 255.255.255.0
 tunnel source Loopback0
 tunnel mode l3vpn l2tpv3 multipoint           ! modo do tunnel tem que ser l3vpn
 tunnel key 12
!
interface FastEthernet0/0
 ip vrf forwarding VPN_A
 ip address 10.10.10.254 255.255.255.0
!
interface FastEthernet1/0
 ip address 100.100.100.1 255.255.255.252
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
 network 100.100.100.1 0.0.0.0 area 0
!
router bgp 100
 bgp router-id 1.1.1.1
 neighbor 2.2.2.2 remote-as 200
 neighbor 2.2.2.2 ebgp-multihop 255
 neighbor 2.2.2.2 update-source Loopback0
 !
 address-family ipv4 tunnel
 neighbor 2.2.2.2 activate
!
 address-family vpnv4
 neighbor 2.2.2.2 activate
 neighbor 2.2.2.2 send-community extended
 neighbor 2.2.2.2 route-map RiV_RM in
 !
 address-family ipv4 vrf VPN_A
 redistribute connected
!
 address-family ipv4 vrf RiV
!
!
ip route vrf RiV 0.0.0.0 0.0.0.0 Tunnel12
!
!
route-map RiV_RM permit 10              ! o route-map aponta as rotas para dentro da vrf
 set ip next-hop in-vrf RiV
!

2.3       P

!
interface Loopback0
 ip address 9.9.9.9 255.255.255.255
!
interface FastEthernet0/0
 ip address 100.100.100.2 255.255.255.252
!
interface FastEthernet1/0
 ip address 100.100.100.6 255.255.255.252
!
router ospf 1
 router-id 9.9.9.9
 network 100.100.100.2 0.0.0.0 area 0
 network 100.100.100.6 0.0.0.0 area 0
!

2.4       PE2

!
ip cef
!
ip vrf RiV
 rd 12:12
!
ip vrf VPN_A
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Tunnel12
 ip vrf forwarding RiV
 ip address 12.12.12.2 255.255.255.0
 tunnel source Loopback0
 tunnel mode l3vpn l2tpv3 multipoint
 tunnel key 12
!        
interface FastEthernet0/0
 ip vrf forwarding VPN_A
 ip address 20.20.20.254 255.255.255.0
!
interface FastEthernet1/0
 ip address 100.100.100.5 255.255.255.252
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
 network 100.100.100.5 0.0.0.0 area 0
!
router bgp 200
 bgp router-id 2.2.2.2
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 ebgp-multihop 255
 neighbor 1.1.1.1 update-source Loopback0
 !
address-family ipv4 tunnel
 neighbor 2.2.2.2 activate
 exit-address-family
 !
 address-family vpnv4
 neighbor 1.1.1.1 activate
 neighbor 1.1.1.1 send-community extended
 neighbor 1.1.1.1 route-map RiV_RM in
!
 address-family ipv4 vrf VPN_A
 redistribute connected
!
 address-family ipv4 vrf RiV
!
ip route vrf RiV 0.0.0.0 0.0.0.0 Tunnel12
!        
!
route-map RiV_RM permit 10
 set ip next-hop in-vrf RiV
!

2.5       CE2

!
interface FastEthernet0/0
 ip address 20.20.20.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.20.20.254
!

terça-feira, 5 de abril de 2011

VPN - ISIS

1      Cenário

1.1       Objetivo

Cinco roteadores (CE1, PE1, P, PE2 e CE2) são conectados formando o seguinte cenário:
      Deverá ser usado o MPLS IP com LDP no backbone com a interface loopback 0 como router-id;
      O protocolo de roteamento do backbone deverá ser o OSPF na área 0 com todas as interfaces divulgadas;
      Os roteadores CE1 e CE2 fazem parte da mesma VPN VRF chamada BLUE;
      O roteamento dentro da VPN deverá ser com ISIS L2 na área 49.0001 redistribuído para o MBGP.

1.2       Topologia


Figure-01:         Topologia

1.3       IOS utilizados

      CE1, PE1, P, PE2 e CE2– ?

1.4       Configuração dos Roteadores

1.4.1    Configurações do OSPF do Backbone

Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.
Para adicionar interfaces deve-se usar o comando “network
área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network.
Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.

1.4.2    Configurações do MPLS

Antes de qualquer configuração, o Cisco Express forwarding deve ser habilitado com o comando “ip cef”. Para habilitar o MPLS no modo LDP, usa-se o comando global “mpls label protocol ldp”.

1.4.3    Configuração do MBGP

Para estabelecer uma VPN é necessário configurar o MBGP para a troca de informações de prefixos de VPN. Pode-se somente configurar o MBGP nos roteadores PEs da rede que possuem conexão com os CEs, ou seja, conectados diretamente aos sites.
O MBGP funciona como o BGP, configura-se em todos os roteadores pelo comando “router bgp onde o “AS” é o Autonomous System do backbone. Dentro da configuração de BGP adicionam-se os vizinhos estaticamente com o comando “neighbor remote-as .
Adiciona-se o IP da interface loopback como Router-ID pelo comando “bgp router-id .
Como os roteadores dentro do mesmo AS não divulgarão as rotas IBGP entre eles, faz-se o full-mesh de conexão MBGP ou configuram-se os roteadores centrais como Router-reflectors adicionando os demais roteadores como clientes pelo comando “neighbor router-reflector-client”.
O MBGP é configurado dentro do protocolo BGP, porém deve-se separar a família de roteamento com o comando “address-family vpnv4”. Para o envio de prefixos das VPNs, deve-se habilitar o envio de community extendida com o comando “neighbor send-community extended”.
Todos os recursos como route-map, next-hop-self, router-reflector, etc. podem ser configurados dentro da família VPNv4 para manipular ou resolver problemas de roteamento.

1.4.4    Criando uma VPN VRF no BGP

Após todos os roteadores PEs da rede possuem conectividade MBGP, ou diretamente ou por router-reflector, cria-se a VPN com o comando “ip vrf ”, dentro desse comando ficam os parâmentros de marcação da VPN e das communities associadas aos prefixos daquela VPN. Configura-se o Route-Distinguisher da VPN, que deve ser único na rede, com comando “rd :”, e também cria-se a  community que será exportada para aqueles prefixos de rede com o comando “route-target :”, onde “import” significa importar as rotas e “export” exportar as rotas.
Cria-se então uma address-family dentro do BGP com o comando “address-family ipv4 vrf ” com o mesmo nome da VPN criada no “ip vrf” fora do roteamento BGP. Dentro dessa address-family são configuradas as redes que serão redistribuídas para os outros sites. Para divulgar as redes é necessário que a rede exista na tabela de roteamento interna e, ou adicionar o comando “network mask ou redistribuindo rotas para o MBGP com o comando “redistribute , que pode ser vinculado à um route-map para definir exatamente as rotas que serão divulgadas de um protocolo para outros sites.
Enfim, para que uma interface conectada ao CE faça parte da VPN BGP, usa-se o comando “ip vrf forwarding ” dentro da interface.

1.4.5    Habilitando o ISIS dentro da VPN VRF

O protocolo ISIS na VRF é configurado normalmente com o comando “router ISIS”. Dentro do roteamento configuram-se a VRF com o comando “vrf ”, e dentro se configura os parâmetros do ISIS, como o a redistribuição do BGP.

1.5       Observações e Bugs

Como as redes veem do mesmo AS, as rotas chegam nos CEs como D, ou seja, como se fossem internas.

2      Configuração


2.1       CE1

!
interface FastEthernet0/0
 ip address 172.16.10.1 255.255.255.0
 ip router isis
!
interface Serial1/0
 ip address 172.16.1.2 255.255.255.252
 ip router isis
!
router isis
 net 49.0001.0000.0000.0003.00
 is-type level-2-only
 redistribute connected
!

2.2       PE1

ip cef
!
ip vrf BLUE
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 10.10.10.101 255.255.255.255
!
interface Serial1/0
 ip vrf forwarding BLUE
 ip address 172.16.1.1 255.255.255.252
 ip router isis
!
interface Serial1/1
 ip address 10.10.10.1 255.255.255.252
 mpls ip
!
router isis
 vrf BLUE
 net 49.0001.0000.0000.0001.00
 redistribute bgp 1
!
router ospf 1
 router-id 10.10.10.101
 network 10.0.0.0 0.255.255.255 area 0
!
router bgp 1
 bgp router-id 10.10.10.101
 neighbor 10.10.10.102 remote-as 1
 neighbor 10.10.10.102 update-source Loopback0
 !
 address-family vpnv4
 neighbor 10.10.10.102 activate
 neighbor 10.10.10.102 send-community extended
 !
address-family ipv4 vrf BLUE
 redistribute isis
 redistribute connected
!

2.3       P

!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 10.10.10.200 255.255.255.255
!
interface Serial1/1
 ip address 10.10.10.2 255.255.255.252
 mpls ip
!
interface Serial1/2
 ip address 10.10.10.6 255.255.255.252
 mpls ip
!
router ospf 1
 router-id 10.10.10.200
 network 10.0.0.0 0.255.255.255 area 0
!

2.4       PE2

!
ip cef
!
ip vrf BLUE
 rd 1:1
 route-target export 1:1
 route-target import 1:1
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
interface Loopback0
 ip address 10.10.10.102 255.255.255.255
!
interface Serial1/0
 ip vrf forwarding BLUE
 ip address 172.16.2.1 255.255.255.252
 ip router isis
!
interface Serial1/2
 ip address 10.10.10.5 255.255.255.252
 mpls ip
!
router isis
 vrf BLUE
 net 49.0001.0000.0000.0002.00
 redistribute bgp 1
!
router ospf 1
 router-id 10.10.10.102
 network 10.0.0.0 0.255.255.255 area 0
!
router bgp 1
 bgp router-id 10.10.10.102
 neighbor 10.10.10.101 remote-as 1
 neighbor 10.10.10.101 update-source Loopback0
 !
 address-family vpnv4
 neighbor 10.10.10.101 activate
 neighbor 10.10.10.101 send-community extended
!
address-family ipv4 vrf BLUE
 redistribute isis
 redistribute connected
!

2.5       CE2

!
interface FastEthernet0/0
 ip address 172.16.20.1 255.255.255.0
 ip router isis
!
interface Serial1/0
 ip address 172.16.2.2 255.255.255.252
 ip router isis
!
router isis
 net 49.0001.0000.0000.0004.00
 is-type level-2-only
 redistribute connected
!

segunda-feira, 4 de abril de 2011

VPN - Inter-AS Opção C com troca de RT

1      Cenário

1.1       Objetivo

Oito roteadores (CE1, PE1, P1, PE2, PE3, P2, PE4 e CE2) são conectados formando dois backbones com 3 roteadores e um CE conectado. Pede-se:
      O protocolo de roteamento de backbone PE1-P1-PE2 deverá ser o OSPF na área 0 com todas as interfaces divulgadas e com mBGP e LDP no AS 1 para tráfego das vpns VRFs;
      O protocolo de roteamento de backbone PE1-P1-PE2 deverá ser o EIGRP no AS 2 com todas as interfaces divulgadas e com mBGP e LDP no AS 2 para tráfego das vpns VRFs;
      O CE1 deverá pertencer a VRF BLUE (Route-target 1:1) com OSPF entre o CE1 e o PE1;
      O CE2 deverá pertencer a VRF RED (Route-target 2:2) com OSPF entre o CE2 e o PE4;
      Deverá existir conectividade entre esses CEs usando a conexão entre os PEs PE2 e PE3 com Inter-AS Opção C;
      O route-target deverá sempre ter o AS no primeiro octeto, por exemplo, no AS 1 todos os route-target importados e exportados deverão começar com 1 “1:xxx”.

1.2       Topologia


Figure-01:         Topologia

1.3       IOS utilizados

      CE1, PE1, P1, PE2, PE3, P2, PE4 e CE2 – c7200-k91p-mz.122-25.S15.bin

1.4       Configuração dos Roteadores

1.4.1    Configurações do EIGRP do Backbone

Em todos os roteadores configura-se o roteamento EIGRP pelo comando “router eigrp ” onde o “AS” é o Autonomous System que deverá ser igual em todos os roteadores do mesmo domínio. O roteador também possui um router ID único que é configurado pelo comando “eigrp router-id ” dentro das configurações de roteamento.
Uma interface fica habilitada a fazer vizinhança quando a rede pertencente aquela interface está no comando “network ” está configurado no routeamento EIGRP. Caso seja necessário divulgar a rede da interface mas não habilita-la para fazer vizinhança EIGRP, usa-se o “passive-interface ” dentro das configurações de roteamento EIGRP.
Por padrão o EIGRP sumariza automaticamente as rotas para o seu vizinho. Pode-se cancelar essa sumarização automática com o comando “no auto-summary”. Desabilitar essa auto sumarização é comum para evitar loops em redes não planejadas, porém a tabela fica maior.

1.4.2    Configurações do OSPF do Backbone

Em todos os roteadores configura-se o roteamento OSPF pelo comando “router ospf ” onde o “processo” é um numero do processo OSPF. O roteador também possui um router ID único que geralmente é a interface loopback ou então o maior endereço IP do roteador.
Para adicionar interfaces deve-se usar o comando “network
área ”. Um roteador pode ter interfaces em áreas distintas, define-se cada área pelo comando network.
Para o roteador fazer vizinhança OSPF é necessário que a rede da interface esteja no comando “network” e a interface não esteja configurada como “passive-interface”.

1.4.3    Configurações do MPLS

Antes de qualquer configuração, o Cisco Express forwarding deve ser habilitado com o comando “ip cef”. Para habilitar o MPLS no modo LDP, usa-se o comando global “mpls label protocol ldp”.

1.4.4    Configuração do MBGP

Para estabelecer uma VPN é necessário configurar o MBGP para a troca de informações de prefixos de VPN. Pode-se somente configurar o MBGP nos roteadores PEs da rede que possuem conexão com os CEs, ou seja, conectados diretamente aos sites.
O MBGP funciona como o BGP, configura-se em todos os roteadores pelo comando “router bgp onde o “AS” é o Autonomous System do backbone. Dentro da configuração de BGP adicionam-se os vizinhos estaticamente com o comando “neighbor remote-as .
Adiciona-se o IP da interface loopback como Router-ID pelo comando “bgp router-id .
Como os roteadores dentro do mesmo AS não divulgarão as rotas IBGP entre eles, faz-se o full-mesh de conexão MBGP ou configuram-se os roteadores centrais como Router-reflectors adicionando os demais roteadores como clientes pelo comando “neighbor router-reflector-client”.
O MBGP é configurado dentro do protocolo BGP, porém deve-se separar a família de roteamento com o comando “address-family vpnv4”. Para o envio de prefixos das VPNs, deve-se habilitar o envio de community extendida com o comando “neighbor send-community extended”.
Todos os recursos como route-map, next-hop-self, router-reflector, etc. podem ser configurados dentro da família VPNv4 para manipular ou resolver problemas de roteamento.

1.4.5    Criando uma VPN VRF no BGP

Após todos os roteadores PEs da rede possuem conectividade MBGP, ou diretamente ou por router-reflector, cria-se a VPN com o comando “ip vrf ”, dentro desse comando ficam os parâmentros de marcação da VPN e das communities associadas aos prefixos daquela VPN. Configura-se o Route-Distinguisher da VPN, que deve ser único na rede, com comando “rd :”, e também cria-se a  community que será exportada para aqueles prefixos de rede com o comando “route-target :”, onde “import” significa importar as rotas e “export” exportar as rotas.
Cria-se então uma address-family dentro do BGP com o comando “address-family ipv4 vrf ” com o mesmo nome da VPN criada no “ip vrf” fora do roteamento BGP. Dentro dessa address-family são configuradas as redes que serão redistribuídas para os outros sites. Para divulgar as redes é necessário que a rede exista na tabela de roteamento interna e, ou adicionar o comando “network mask ou redistribuindo rotas para o MBGP com o comando “redistribute , que pode ser vinculado à um route-map para definir exatamente as rotas que serão divulgadas de um protocolo para outros sites.
Enfim, para que uma interface conectada ao CE faça parte da VPN BGP, usa-se o comando “ip vrf forwarding ” dentro da interface.

1.4.6    Habilitando o OSPF dentro da VPN VRF

O protocolo OSPF VRF é configurado com o comando “router ospf vrf ”. Dentro do roteamento configuram-se os parâmetros do OSPF, como o router-id e a redistribuição do BGP.

1.4.7    Configuração do Inter-AS Opção C

A opção C do Inter-AS usa uma conexão MBGP entre os roteadores Router-Reflectors de VPN da rede para a troca de informações de prefixos de VPN. Pode-se acordar os mesmos RD e RT ou exportar e importar os RTs do AS vizinho, caso sejam diferentes.
No ASBR deve-se estabelecer uma vizinhança BGP tanto com o RR do próprio AS quanto com o ASBR do AS vizinho, e deve-se adicionar o “send-label” na configuração de vizinhança com o roteador do AS vizinho para que seja enviadas as informações de NLRI e Label.
Na interface de interconexão no ASBR deve-se adicionar o comando para habilitar o mpls BGP “mpls bgp forwarding”.
Deve-se também desabilitar o filtro de route-target do AS no MBGP com o RR do AS vizinho usando o comando “no bgp default route-target filter” .

1.4.8    Configuração da troca do Route-Target

Para trocar o route-target deve-se usar um route-map para identificar o route-target original com o comando “match” baseado em extcommunity-list, deleta-lo também baseado em extcommunity-list e depois adicionar o route-target escolhido. Esse route-map é configurado no eBGP com o AS vizinho.

1.5       Observações e Bugs

Documentação:

1.6       Comandos Importantes de Verificação

PE1#sh ip bgp vpnv4 all 102.102.102.102
BGP routing table entry for 1:1:102.102.102.102/32, version 17
Paths: (1 available, best #1, table BLUE)
  Not advertised to any peer
  2, imported path from 2:2:102.102.102.102/32
    200.200.200.200 (metric 3) from 100.100.100.100 (100.100.100.100)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:2 OSPF DOMAIN ID:0x0005:0x000000650200
        OSPF RT:0.0.0.0:2:0 OSPF ROUTER ID:20.20.20.254:512,
      mpls labels in/out nolabel/20
BGP routing table entry for 2:2:102.102.102.102/32, version 14
Paths: (1 available, best #1, no table)
  Not advertised to any peer
  2
    200.200.200.200 (metric 3) from 100.100.100.100 (100.100.100.100)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:2 OSPF DOMAIN ID:0x0005:0x000000650200
        OSPF RT:0.0.0.0:2:0 OSPF ROUTER ID:20.20.20.254:512,
      mpls labels in/out nolabel/20

2      Configuração

2.1       CE1

!
interface Loopback0
 ip address 101.101.101.101 255.255.255.255
!
interface FastEthernet1/0
 ip address 10.10.10.1 255.255.255.0
!
router ospf 101
 network 0.0.0.0 255.255.255.255 area 0
!

2.2       PE1

!
ip cef
!
ip vrf BLUE
 rd 1:1
 route-target export 1:1
 route-target import 1:1
 route-target import 1:2
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
 ip address 11.11.11.1 255.255.255.0
 mpls ip
!
interface FastEthernet1/0
 ip vrf forwarding BLUE
 ip address 10.10.10.254 255.255.255.0
!
router ospf 101 vrf BLUE
 redistribute bgp 1 subnets
 network 10.10.10.254 0.0.0.0 area 0
!
router ospf 1
 network 1.1.1.1 0.0.0.0 area 0
 network 11.11.11.1 0.0.0.0 area 0
!
router bgp 1
 neighbor 100.100.100.100 remote-as 1
 neighbor 100.100.100.100 update-source Loopback0
 !
 address-family vpnv4
 neighbor 100.100.100.100 activate
 neighbor 100.100.100.100 send-community extended
 !
 address-family ipv4 vrf BLUE
 redistribute ospf 101 vrf BLUE match internal external 1 external 2
!

2.3       P1

!
ip cef
!
interface Loopback0
 ip address 100.100.100.100 255.255.255.255
!
interface FastEthernet0/0
 ip address 12.12.12.100 255.255.255.0
 mpls ip
!
interface FastEthernet1/0
 ip address 11.11.11.100 255.255.255.0
 mpls ip 
!
router ospf 1
 router-id 100.100.100.100
 network 0.0.0.0 255.255.255.255 area 0
!
router bgp 1
 no bgp default route-target filter
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 200.200.200.200 remote-as 2
 neighbor 200.200.200.200 ebgp-multihop 255
 neighbor 200.200.200.200 update-source Loopback0
 !
 address-family ipv4
 no neighbor 1.1.1.1 activate
 no neighbor 200.200.200.200 activate
!
 address-family vpnv4
 neighbor 1.1.1.1 activate
 neighbor 1.1.1.1 send-community extended
 neighbor 200.200.200.200 activate
 neighbor 200.200.200.200 send-community extended
 neighbor 200.200.200.200 route-map CHANGE-RT in
!
ip extcommunity-list 1 permit rt 2:2
ip extcommunity-list standard RT-VPN-RED permit rt 2:2
!
!
!
route-map RT-CHANGE permit 10
 match extcommunity RT-VPN-RED
 set extcomm-list 1 delete
 set extcommunity rt  1:2
!

2.4       PE2

!
ip cef
!
mpls label protocol ldp
!
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 23.23.23.2 255.255.255.0
 duplex full
 mpls bgp forwarding
!
interface FastEthernet1/0
 ip address 12.12.12.2 255.255.255.0
 mpls ip
!
router ospf 1
 redistribute bgp 1 metric-type 1 subnets route-map LOOPBACK_AS-2
 passive-interface FastEthernet0/0
 network 0.0.0.0 255.255.255.255 area 0
!
router bgp 1
 neighbor 23.23.23.3 remote-as 2
 !
 address-family ipv4
 neighbor 23.23.23.3 activate
 neighbor 23.23.23.3 send-label
 network 100.100.100.100 mask 255.255.255.255
!
!
access-list 1 permit 200.200.200.200
!
route-map LOOPBACK_AS-2 permit 10
 match ip address 1
!
route-map LOOPBACK_AS-2 deny 20
!

2.5       PE3

!
ip cef
!
mpls label protocol ldp
!
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
 ip address 32.32.32.3 255.255.255.0
 mpls ip
!
interface FastEthernet1/0
 ip address 23.23.23.3 255.255.255.0
 mpls bgp forwarding
!
router eigrp 2
 redistribute bgp 2 route-map LOOPBACK_AS-1
 passive-interface FastEthernet1/0
 network 3.3.3.3 0.0.0.0
 network 34.34.34.0 0.0.0.255
 default-metric 1000 100 250 100 1500
!
router bgp 2
 neighbor 23.23.23.2 remote-as 1
 !
 address-family ipv4
 neighbor 23.23.23.2 activate
 neighbor 23.23.23.2 send-label
 network 200.200.200.200 mask 255.255.255.255
!
!
access-list 1 permit 100.100.100.100
!
route-map LOOPBACK_AS-1 permit 10
 match ip address 1
!
route-map LOOPBACK_AS-1 deny 20
!

2.6       P2

!
ip cef
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 200.200.200.200 255.255.255.255
!
interface FastEthernet0/0
 ip address 24.24.24.200 255.255.255.0
 mpls ip
!
interface FastEthernet1/0
 ip address 32.32.32.200 255.255.255.0
 mpls ip 
!
router eigrp 2
 network 0.0.0.0
 no auto-summary
!
router bgp 2
 no bgp default route-target filter
 bgp log-neighbor-changes
 neighbor 4.4.4.4 remote-as 2
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 100.100.100.100 remote-as 1
 neighbor 100.100.100.100 ebgp-multihop 255
 neighbor 100.100.100.100 update-source Loopback0
 !
 address-family ipv4
 no neighbor 4.4.4.4 activate
 no neighbor 100.100.100.100 activate
 no auto-summary
 no synchronization
 exit-address-family
 !
 address-family vpnv4
 neighbor 4.4.4.4 activate
 neighbor 4.4.4.4 send-community both
 neighbor 100.100.100.100 activate
 neighbor 100.100.100.100 send-community extended
 neighbor 100.100.100.100 route-map CHANGE-RT in
!
!
ip extcommunity-list 1 permit rt 1:1
ip extcommunity-list standard RT-VPN-BLUE permit rt 1:1
!
!
!
route-map RT-CHANGE permit 10
 match extcommunity RT-VPN-BLUE
 set extcomm-list 1 delete
 set extcommunity rt  2:1
!

2.7       PE4

!
ip cef
!
ip vrf RED
 rd 2:2
 route-target export 2:2
 route-target import 2:2
 route-target import 2:1
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
 ip vrf forwarding RED
 ip address 20.20.20.254 255.255.255.0
!
interface FastEthernet1/0
 ip address 24.24.24.4 255.255.255.0
 mpls ip
!
router eigrp 2
 network 4.4.4.4 0.0.0.0
 network 24.24.24.0 0.0.0.255
 eigrp router-id 4.4.4.4
!
router ospf 102 vrf RED
 log-adjacency-changes
 redistribute bgp 2 subnets
 network 20.20.20.254 0.0.0.0 area 0
!
router bgp 2
 neighbor 200.200.200.200 remote-as 2
 neighbor 200.200.200.200 update-source Loopback0
!
 address-family vpnv4
 neighbor 200.200.200.200 activate
 neighbor 200.200.200.200 send-community extended
 !
 address-family ipv4 vrf RED
 redistribute ospf 102 vrf RED match internal external 1 external 2
!

2.8       CE2

!
interface Loopback0
 ip address 102.102.102.102 255.255.255.255
!
interface FastEthernet1/0
 ip address 20.20.20.2 255.255.255.0
!
router ospf 101
 network 0.0.0.0 255.255.255.255 area 0
!