terça-feira, 24 de maio de 2011

VPN - OSPF Sham Link inter-AS eBGP

1      MPLS VPN – OSPF com Sham Link

Na Configuração de uma VPN MPLS o protocolo OSPF é uma maneira que existe para conectar um CE ao roteador do ISP PE. O OSPF é frequentemente usado nas redes corporativas como protocolo IGP e por isso pretendem usa-lo para trocar roteamento com suas localidades remotas conectadas à VPN MPLS.
Quando o OSPF é usado para conectar o PE ao CE, todas as informações de roteamento aprendidas no site VPN são inseridas na VRF associada a interface de entrada. O PE usa o BGP para distriuir as rotas para os outros roteadores da VPN, os CEs então podem aprender as rotas dos outros sites.
Quando as rotas OSPF são encaminhadas pela VPN do backbone MPLS informações adicionais sobre os prefixos de redes são inseridas no update do BGP, como route type, domain ID extended communities. Essas informações de community são usadas pelo PE que recebe as rotas para decider o tipo de LSA que sera gerada quando o BGP redistribui as rotas no OSPF. Dessa formam rotas internas do OSPF que pertencem a mesma VPN e são anunciadas na VPN são vistas como rotas interareas nos sites remotos.
Usando o Sham-Link para corrigir o roteamento Backdoor

Embora as conexões de OSPF PE-CE assumem que o o único caminho entre 2 sites clientes é através da VPN MPLS, o caminho backdoor entre os sites VPNs deve exisitr. Se esses sites pertencem a mesma area, o caminho pelo link backdoor sera sempre escolhido porque o OSPF prefere rotas internas da área. Por essa razão o link backdoor OSPF  entre os sites VPN deve For this reason, OSPF backdoor links between VPN sites devem ser considerados.
Se os links backdoor entre os sites for usado somente para backup, então a escolha da rota como sendo por esse link não atende. Para estabelecer o caminho desejado pelo backbone MPLS, deve-se crier um link lógico OSPF intra-area adicional entre os PEs que possuem os CEs que têm o link backdoor. Esse link é chamado sham-link.


2      Cenário

2.1       Objetivo

Cinco roteadores (CE1, PE1, P, PE2 e CE2) são conectados formando o seguinte cenário:
      O protocolo de roteamento do backbone deverá ser o OSPF na área 0 com todas as interfaces divulgadas;
      O PE1 deverá pertencer ao AS 1 e o PE2 ao AS 2. Deve existir uma conexão eMBGP entre eles;
      O roteadore CE1 deve fazer parte da VPN RED conectado ao PE1 com roteamento OSPF na área 0 entre o CE e o PE divulgando suas interfaces;
      O roteadore CE2 deve fazer parte da VPN BLUE conectado ao PE2 com roteamento OSPF na área 0 entre o CE e o PE divulgando suas interfaces;
      Existe uma conectivdade direta entre o CE1 e o CE2 que deverá ter OSPF na área 0;
      O tráfego entre os CE1 e o CE2 deverá ser encaminhado pela rede MPLS como primeira opção.

2.2       Topologia

 

Figure-01:         Topologia

2.3       IOS utilizados

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

2.4       Configuração dos Roteadores

2.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”.

2.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”.

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

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

2.4.5    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.
Para que as rotas sejam divulgadas como InterArea ao invés de Externas 2, deve-se usar o mesmo processo do OSPF nos CEs.

2.4.6    Configuração do Sham Link

O Sham Link é configurado dentro do protocolo de roteamento OSPF da VPN com o comando “area sham-link ”, onde os IPs são loopbacks que fazem parte da VRF em cada PE.
Esse comando deve ser configurado nos dois roteadores.
Para que a rota pelo Shamlink seja escolhida, deve-se alterar o custo do OSPF na interface backdoor.

2.5       Observações e Bugs

Caso o Protocolo LDP não esteja operacional em todos os roteadores do caminho, as rotas OSPF do PE remoto chegarão no outro PE como BGP. Quando o LDP estiver ok, as rotas chegarão como O IA caso o processo OSPF seja o mesmo em ambos os PEs.
Documentação:

2.6       Comandos Importantes de Verificação

CE1#sh ip rout         

Gateway of last resort is not set

     100.0.0.0/32 is subnetted, 2 subnets
C       100.100.100.1 is directly connected, Loopback0
O       100.100.100.2 [110/4] via 10.10.10.2, 00:26:46, FastEthernet0/0
     20.0.0.0/24 is subnetted, 1 subnets
O       20.20.20.0 [110/3] via 10.10.10.2, 00:26:46, FastEthernet0/0
     22.0.0.0/32 is subnetted, 1 subnets
O E2    22.22.22.22 [110/1] via 10.10.10.2, 00:26:46, FastEthernet0/0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, FastEthernet0/0
     11.0.0.0/32 is subnetted, 1 subnets
O E2    11.11.11.11 [110/1] via 10.10.10.2, 00:26:46, FastEthernet0/0
     30.0.0.0/24 is subnetted, 1 subnets
C       30.30.30.0 is directly connected, FastEthernet1/0

3      Configuração


3.1       CE1

!
interface Loopback0
 ip address 100.100.100.1 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.10.10.1 255.255.255.0
!
interface FastEthernet1/0
 ip address 30.30.30.1 255.255.255.0
 ip ospf cost 100
!
router ospf 2
 router-id 100.100.100.1
 network 0.0.0.0 0.0.0.0 area 0
!

3.2       PE1

ip cef
!
ip vrf RED
 rd 1:1
 route-target export 1:1
 route-target import 2:2
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Loopback1
 ip vrf forwarding RED
 ip address 11.11.11.11 255.255.255.255
!
interface FastEthernet0/0
 ip vrf forwarding RED
 ip address 10.10.10.2 255.255.255.0
!
interface FastEthernet1/0
 ip address 13.13.13.1 255.255.255.0
 mpls ip
!
router ospf 2 vrf RED
 domain-tag 12
 area 0 sham-link 11.11.11.11 22.22.22.22
 redistribute bgp 1 subnets
 network 10.10.10.2 0.0.0.0 area 0
!
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
 network 13.13.13.1 0.0.0.0 area 0
!
router bgp 1
 bgp router-id 1.1.1.1
 neighbor 2.2.2.2 remote-as 2
 neighbor 2.2.2.2 ebgp-multihop 255
 neighbor 2.2.2.2 update-source Loopback0
 !
 address-family vpnv4
 neighbor 2.2.2.2 activate
 neighbor 2.2.2.2 send-community extended
!
 address-family ipv4 vrf RED
 redistribute ospf 2 vrf RED
 network 11.11.11.11 mask 255.255.255.255
!

3.3       P

!
ip cef
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
 ip address 13.13.13.3 255.255.255.0
 mpls ip
!
interface FastEthernet1/0
 ip address 23.23.23.3 255.255.255.0
 mpls ip
!
router ospf 1
 router-id 3.3.3.3
 network 0.0.0.0 0.0.0.0 area 0
!

3.4       PE2

!
ip cef
!
ip vrf BLUE
 rd 2:2
 route-target export 2:2
 route-target import 1:1
!
mpls ldp router-id Loopback0
mpls label protocol ldp
!
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Loopback1
 ip vrf forwarding BLUE
 ip address 22.22.22.22 255.255.255.255
!
interface FastEthernet0/0
 ip vrf forwarding BLUE
 ip address 20.20.20.2 255.255.255.0
!
interface FastEthernet1/0
 ip address 23.23.23.2 255.255.255.0
 mpls ip
!
router ospf 2 vrf BLUE
 area 0 sham-link 22.22.22.22 11.11.11.11
 redistribute bgp 2 subnets
 network 20.20.20.2 0.0.0.0 area 0
!
router ospf 1
 router-id 2.2.2.2
 network 2.2.2.2 0.0.0.0 area 0
 network 23.23.23.2 0.0.0.0 area 0
!
router bgp 2
 bgp router-id 2.2.2.2
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 ebgp-multihop 255
 neighbor 1.1.1.1 update-source Loopback0
 !
 address-family vpnv4
 neighbor 1.1.1.1 activate
 neighbor 1.1.1.1 send-community extended
 !
 address-family ipv4 vrf BLUE
 redistribute ospf 2 vrf BLUE match internal external 1 external 2
 network 22.22.22.22 mask 255.255.255.255
!

3.5       CE2

!
interface Loopback0
 ip address 100.100.100.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 20.20.20.1 255.255.255.0
!
interface FastEthernet1/0
 ip address 30.30.30.2 255.255.255.0
 ip ospf cost 100
!
router ospf 1
 router-id 100.100.100.2
 network 20.20.20.1 0.0.0.0 area 0
 network 30.30.30.2 0.0.0.0 area 0
 network 100.100.100.2 0.0.0.0 area 0
!

Nenhum comentário: