sexta-feira, 3 de junho de 2011

VPN - VRF Select

1      Cenário

1.1       Objetivo

Seis roteadores (CE1, PE1, P, PE2, CE2 e CE3) são conectados formando uma rede onde os roteadores PE1, P e PE2 formam um backbone que provê serviço de transporte para 3 CEs, sendo que com 3 VRFs distintas. Pede-se:
      O protocolo de roteamento de backbone PE1, P e PE2 deverá ser o OSPF na área 0 com todas as interfaces divulgadas e com mBGP no AS 1 entre os PEs e LDP para tráfego das VRFs;
      O CE2 pertencerá a VRF VPN12 com RD/RT 12:12 e deverá ser configurada uma rota estática para a sua loopback0 12.12.12.2/32;
      O CE3 pertencerá a VRF VPN13 com RD/RT 13:13 e deverá ser configurada uma rota estática para a sua loopback0 13.13.13.3/32;
      O CE1 deverá encaminhar o tráfego para o IP 13.13.13.3 da VRF VPN13 somente com pacotes de origem 13.13.13.1 e encaminhar o tráfego para o IP 12.12.12.2 da VRF VPN12 somente com pacotes de origem 12.12.12.1;
      Todos os outros tráfegos originados no CE1 deverão ser descartados;

1.2       Topologia

1.3       IOS utilizados

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

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    Configuração da seleção de rota da VRF

A seleção de VRF de destino baseado no IP de origem é configurada no PE que se conecta com o CE que terá a origem selecionada habilitando com o comando “ip vrf select source”. Na interface conectada ao PE não se configura a VRF da forma convencional, e sim se habilita o recebimento das redes das VRFs envolvidas com o comando “ip vrf receive ”, onde o vpn_name são todas as VRFs envolvidas na seleção.
Configura-se então a seleção da origem e a VRF de destino para aquela origem com o comando “vrf selection source vrf ”. Esse comando amarra o roteamento baseado na origem.

1.5       Observações e Bugs


1.6       Comandos Importantes de Verificação


CE1#ping 12.12.12.2 source 12.12.12.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.12.12.2, timeout is 2 seconds:
Packet sent with a source address of 12.12.12.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/81/192 ms

2      Configuração

2.1       CE1

!
interface Loopback12
 ip address 12.12.12.1 255.255.255.255
!
interface Loopback13
 ip address 13.13.13.1 255.255.255.255
!
interface Serial1/0
 ip address 172.16.1.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 172.16.1.1
!

2.2       PE1

!
ip cef
!
ip vrf DROP
 rd 99:99
 route-target export 99:99
 route-target import 99:99
!
ip vrf VPN12
 rd 12:12
 route-target export 12:12
 route-target import 12:12
!
ip vrf VPN13
 rd 13:13
 route-target export 13:13
 route-target import 13:13
!
vrf selection source 12.12.12.1 255.255.255.255 vrf VPN12
vrf selection source 13.13.13.1 255.255.255.255 vrf VPN13
vrf selection source 0.0.0.0 0.0.0.0 vrf DROP
!
mpls label protocol ldp
!
interface Loopback0
 ip address 10.10.10.101 255.255.255.255
!
interface Serial1/0
 ip vrf select source
 ip vrf receive VPN12
 ip vrf receive VPN13
 ip vrf receive DROP
 ip address 172.16.1.1 255.255.255.252
!
interface Serial1/1
 ip address 10.10.10.1 255.255.255.252
 mpls ip
!
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 VPN13
 redistribute static
!
 address-family ipv4 vrf VPN12
 redistribute static
!
 address-family ipv4 vrf DROP
!
ip route vrf DROP 0.0.0.0 0.0.0.0 Null0
ip route vrf VPN12 12.12.12.1 255.255.255.255 172.16.1.2
ip route vrf VPN13 13.13.13.1 255.255.255.255 172.16.1.2
!

2.3       P

!
ip cef
!
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
!

Nenhum comentário: