quinta-feira, 2 de junho de 2011

VPN - VRF IPv6

1      Cenário

1.1       Objetivo

Quatro roteadores (CE1, PE1, PE2 e CE2) são conectados formando o seguinte cenário:
      O protocolo de roteamento do backbone (PE1 e PE2) deverá ser o OSPF na área 0 com todas as interfaces divulgadas e deverá ser usado o MPLS IP com LDP.
      Os roteadores CE1 e CE2 fazem parte da mesma VPN VRF chamada BLUE e utilizam IPv6 puro;
      O roteamento dentro da VRF deverá ser o BGP, onde o CE1 usa o AS 100 e o CE2 o AS 200.

1.2       Topologia


1.3       IOS utilizados

      CE1 e CE2 – c7200-k91p-mz.122-25.S15.bin
      PE1 e PE2 – c7200-advipservicesk9_li-mz.124-24.T3.bin

1.4       Configuração dos Roteadores

1.4.1    Configurações do IPv6

Inicialmente deve-se habilitar o roteamento IPv6 nos roteadores com o comando “ipv6 unicast-routing”. Nas interfaces os endereços link-global são configurados com o comando “ipv6 address
/” e deve-se habilitar o IPv6 dentro da interface com o comando “IPv6 enable”. Os endereços link-local são automaticamente configurados.

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 VPNv6 sobre um backbone IPv4 é necessário configurar o MBGP para a troca de informações de prefixos da VPNv6. 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 MBGPv6 funciona como o MBGPv4, 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 vpnv6”. 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 possuirem conectividade MBGP, ou diretamente ou por router-reflector, cria-se a VPNv6 com o comando “vrf definition ”, dentro desse comando ficam os parâmentros de marcação da VPNv6 e das communities associadas aos prefixos daquela VPNv6. Configura-se o Route-Distinguisher da VPNv6, 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. Em seguida habilita-se a address-family ipv6.
No BGP, Cria-se uma address-family “address-family ipv6 vrf ” com o mesmo nome da VPNv6 criada no “vrf definition” 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. No caso de vizinhança BGP, configura-se o neighbor.
Enfim, para que uma interface conectada ao CE faça parte da VPN BGP, usa-se o comando “vrf forwarding ” dentro da interface.
Dentro da VPN, para que o CE faça vizinhança BGP com o PE é necessário adicionar uma loopback IPv4 para ser o router-id do BGP.

1.5       Observações e Bugs

1.6       Comandos Importantes de Verificação

PE2#show mpls forwarding-table detail
Local  Outgoing      Prefix            Bytes Label   Outgoing   Next Hop   
Label  Label or VC   or Tunnel Id      Switched      interface             
16     No Label      2001:2::/112[V]   1352          aggregate/BLUE            
        MAC/Encaps=0/0, MRU=0, Label Stack{}
        VPN route: BLUE
        No output feature configured
17     Pop Label     1.1.1.1/32        0             Se1/1      point2point
        MAC/Encaps=4/4, MRU=1504, Label Stack{}
        0F008847
        No output feature configured

2      Configuração

2.1       CE1

!
ipv6 unicast-routing
ipv6 cef
!
Interface loopback0
 Ip address 11.11.11.11 255.255.255.255
!
interface Serial1/0
 encapsulation frame-relay
!
interface Serial1/0.6 point-to-point
 ipv6 address 2001:1::1/112
 frame-relay interface-dlci 600  
!        
!
router bgp 100
 bgp router-id 11.11.11.11
 neighbor 2001:1::2 remote-as 1
 no neighbor 2001:1::2 activate
!
 address-family ipv6
 neighbor 2001:1::2 activate
 redistribute connected
!

2.2       PE1

vrf definition BLUE
 rd 1:1
 !
 address-family ipv6
 route-target export 1:1
 route-target import 1:1
 exit-address-family
!
ipv6 unicast-routing
ipv6 cef
!
frame-relay switching
mpls label protocol ldp
!
!
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Serial1/0
 encapsulation frame-relay
 frame-relay intf-type dce
!
interface Serial1/0.6 point-to-point
 vrf forwarding BLUE
 ipv6 address 2001:1::2/112
 frame-relay interface-dlci 600  
!
interface Serial1/1
 ip address 12.12.12.1 255.255.255.0
 mpls ip
!
router ospf 1
 network 1.1.1.1 0.0.0.0 area 0
 network 12.12.12.1 0.0.0.0 area 0
!
router bgp 1
 bgp router-id 1.1.1.1
 neighbor 2.2.2.2 remote-as 1
 neighbor 2.2.2.2 update-source Loopback0
 !
 address-family vpnv6
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
!
 address-family ipv6
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
!
 address-family ipv6 vrf BLUE
  neighbor 2001:1::1 remote-as 100
  neighbor 2001:1::1 activate
!

2.3       PE2

!
vrf definition BLUE
 rd 1:1
 !
 address-family ipv6
 route-target export 1:1
 route-target import 1:1
 exit-address-family
!
!
ip cef
!
!
ipv6 unicast-routing
ipv6 cef
!
frame-relay switching
mpls label protocol ldp
!
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1/0
 encapsulation frame-relay
 frame-relay intf-type dce
!
interface Serial1/0.6 point-to-point
 vrf forwarding BLUE
 ipv6 address 2001:2::2/112
 frame-relay interface-dlci 600  
!
interface Serial1/1
 ip address 12.12.12.2 255.255.255.0
 mpls ip
!
!
router ospf 1
 log-adjacency-changes
 network 2.2.2.2 0.0.0.0 area 0
 network 12.12.12.2 0.0.0.0 area 0
!
router bgp 1
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 update-source Loopback0
 !
 address-family vpnv6
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
 !
 address-family ipv6
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
!
 address-family ipv6 vrf BLUE
  neighbor 2001:2::1 remote-as 200
  neighbor 2001:2::1 activate
!

2.4       CE2

!
ipv6 unicast-routing
ipv6 cef
!
Interface loopback0
 Ip address 22.22.22.22 255.255.255.255
!
interface Serial1/0
 encapsulation frame-relay
!
interface Serial1/0.6 point-to-point
 ipv6 address 2001:2::1/112
 frame-relay interface-dlci 600  
!        
!
router bgp 200
 bgp router-id 22.22.22.22
 neighbor 2001:2::2 remote-as 1
 no neighbor 2001:2::2 activate
!
 address-family ipv6
 neighbor 2001:2::2 activate
 redistribute connected
!

Nenhum comentário: