terça-feira, 26 de março de 2013

Lab: VPN IP sobre MPLS com GNS3


No  Lab: MPLS Básica com GNS3 prometemos postar outro sobre VPN IP MPLS.  Pois bem aqui está e, da mesma forma que lá, vamos antes fazer uma breve introdução a VPN. Caso queira ir direto ao Lab, pule para o item 2.



1 - Introdução


VPN – Virtual Private Netework - é uma rede de comunicação privada construída sobre uma rede pública como a Internet, por exemplo. Já a VPN IP é construída sobre uma rede pública MPLS que pertence a um provedor de serviços.   

O MPLS possui a capacidade de prover diversos serviços entre eles a VPN IP camada 3 que é sem, dúvidas, o mais importante e difundido serviço da MPLS.

Os serviços de VPNs podem ser divididas em 2 tipos principais:

- VPN L2: Redes Privativas de Camada 2, VPNs  que emulam redes de camada 2 em protocolos como Ethernet, Frame Relay ou SDH.

- VPN L3: Redes Privativas de Camada 3, VPNs IP que emulam redes de camada 3 em IP. Abordaremos neste post somente a VPN IP sobre rede MPLS.



1.1 - Topologia

Figura 1












Full-meshed
   - Esta é a maioria dos casos de VPNs. É natural, sem muito esforço de configuração.
   - O roteador da matriz não precisa comutar o tráfego entre filiais.
   - Os roteadores podem ser mais simples.

 Hub and Spoke
   - Grupos de Empresas poderão demandar esta topologia.
   - Nível adicional de segurança já que a filial só enxerga a matriz, embora o tráfego das filiais possa ser encaminhado no roteador da matriz para outras filiais, se assim o administrador o desejar.


1.2 – Visão Geral

As VPNs IP operam na camada de rede ou camada 3 ou, ainda, Layer 3 do modelo OSI. O usuário adquire portas na rede MPLS e a rede se comporta como uma rede IP de roteadores virtuais dedicados a ele.
  
Figura 2








  


A VPN IP utiliza tabelas de roteamento IP baseadas em IP de destino para enviar o tráfego através da rede da operadora usando a MPLS.


1.2.1 - Componentes de um VPN IP MPLS são:

- CE (Customer Edge Router): É o roteador do cliente. O acesso dele ao provedor pode ser realizado através de modem digital, fibra ótica, rádio e etc. As redes do cliente são divulgadas para os PEs utilizando protocolos como RIP, OSPF, BGP e até rota estática. Figura 3.

- PE (Provider Edge Router): É o roteador que fica entre a rede do cliente e a MPLS da operadora. Podemos dizer que metade do PE é IP e a outra é MPLS. Cada PE, na rede MPLS, se comunica com outro PE da mesma VPN usando iBGP (Internal Border GEtway Protocol)  e MP-BGP (Multi-Protocol BGP), que são extensões do BGP.

- Provider Router (P): Fazem parte do núcleo da rede. São os roteadores da operadora e só comutam labls, não consultam endereços IP.

- Virtual Routing and Forwarding Table (VRF): É a tabela de roteamento para cada cliente, ela define unicamente uma VPN por isso, permite a utilização dos mesmos IPs em outras VRFs sem provocar conflito. Como exemplo, na figura 3 a vrf A (amarela) tem um CE com o mesmo ip da vrf B (azul), sem nenhum problema.

Cada circuito entre o CE e o PE pode estar associado a uma VRF no PE. Ao receber um pacote IP o PE irá verificar se a interface de onde vem o pacote pertence a uma VRF. Se sim, o pacote será encaminhado de acordo com a tabela desta VRF se não, será encaminhado pela tabela de roteamento global (Internet). A tabela de roteamento global contem as rotas públicas (Internet) e as VRFs contem as rotas privadas das VPN.

Os roteadores PE trocam entre si as informações aprendidas a partir dos roteadores CE diretamente ligadas. Esta troca é realizada através do protocolo MP-BGP. Este protocolo é o responsável pela implementação das VPNs IP na rede MPLS.
Figura 3 - Click para ampliá-la



















 1.2.2. – Route Distinguisher – RD:

Na solução VPN MPLS um mesmo prefixo pode ser utilizado por outras VPNs. Para evitar conflito, pelo uso da mesma faixa de IP, cada VPN utiliza um número chamado route distinguisher (RD) que a identifica unicamente. O RD possui a forma como AS:XX. O primeiro indica o número do AS (Autonomous System), e o segundo um número único por VPN dentro deste AS.


1.2.3 – Route Target – RT:

Determinados clientes podem participar, caso necessário, de mais de uma VPN. Normalmente um site participa de uma Intranet, mas pode participar também de uma ou mais extranet. Um fornecedor pode, por exemplo, participar da Intranet de um cliente através de uma extranet para acessar algum sistema em particular. Os RTs são atributos (extended  community) distribuídos juntos com as rotas VPNv4 para informar a quais VPNs essas rotas pertencem permitindo, assim, a criação de extranets.


1.3 – QoS

O QoS é um conjunto de técnicas aplicadas desde a estação de origem do pacote, passando pela rede local do cliente, até o backbone do provedor, visando garantir diferentes requisitos de desempenho, para as diferentes aplicações. Não nos aprofundaremos sobre QoS. Se desejar saber mais, na Internet podem ser encontrados excelentes artigos. Mas gostaria-mos de salientar a importância do QoS para a convergência das redes. Sem ele não seria possível Voz, Vídeo e dados conviverem na mesma VPN.


2 – Lab VPN IP

Segue abaixo a topologia da nossa VPN IP MPLS. Configuraremos duas VPNs com um total de quatro roteadores CEs, dois para cada VPN:

Figura 4 - Click para ampliá-la











Os passos para a realização da VPN são os seguintes:

  • Habilitar MPLS no Backbone.
  • Configurar as VRFs e associá-las às interfaces envolvidas nos PEs.
  • Configurar MP-BGP entre os PEs e um protocolo entre o CE e o PE para divulgar as rotas do cliente. Mesclaremos, para fins didáticos, entre BGP e rota estática. Como visto acima poderia ser qualquer outro protocolo.
  • Configurar os CEs.
  • Troubleshooting.

2.1 - Habilitar MPLS no Backbone

Este passo já foi realizado. Utilizaremos a MPLS postada em nosso Blog no endereço  Lab:MPLS Básica com GNS3, conforme figura 5.

Figura 5
2.2 – Configurar as VRFs e associá-las às interfaces envolvidas nos PEs.

!
hostname PE_A
!
ip vrf A
 rd 400:100
 route-target export 400:100
 route-target import 400:100
!
ip vrf B
 rd 400:200
 route-target export 400:200
 route-target import 400:200
!

!
interface Serial1/0
 ip vrf forwarding A
 ip address 100.0.0.1 255.255.255.252
 serial restart-delay 0
!
interface Serial1/1
 ip vrf forwarding B
 ip address 200.0.0.1 255.255.255.252
 serial restart-delay 0
!
!
hostname PE_B
!
ip vrf A
 rd 400:100
 route-target export 400:100
 route-target import 400:100
!
ip vrf B
 rd 400:200
 route-target export 400:200
 route-target import 400:200
!

!
interface Serial1/0
 ip vrf forwarding A
 ip address 100.0.0.5 255.255.255.252
 serial restart-delay 0
!
interface Serial1/1
 ip vrf forwarding B
 ip address 200.0.0.5 255.255.255.252
 serial restart-delay 0
!


2.3 - Configurar MP-BGP entre os PEs e protocolo BGP entre o CE e o PE.

!
router bgp 400
 bgp log-neighbor-changes
 neighbor 10.0.0.102 remote-as 400
 neighbor 10.0.0.102 update-source Loopback0
 !
!  // Habilita MP-BGP
address-family vpnv4
  neighbor 10.0.0.102 activate
  neighbor 10.0.0.102 send-community extended
 exit-address-family
 !
 ! // BGP entre PE-CE na vrf B
 address-family ipv4 vrf B
  redistribute connected
  neighbor 200.0.0.2 remote-as 65000
  neighbor 200.0.0.2 activate
  neighbor 200.0.0.2 allowas-in
  no synchronization
 exit-address-family
 !
 ! // Estático entre PE-CE na vrf A
 address-family ipv4 vrf A
  redistribute connected
  redistribute static
  no synchronization
 exit-address-family
!
! // Rota estática da vrf A
ip route vrf A 192.168.1.0 255.255.255.0 100.0.0.2
!
!
router bgp 400
 bgp log-neighbor-changes
 neighbor 10.0.0.100 remote-as 400
 neighbor 10.0.0.100 update-source Loopback0
 !
!  // Habilita MP-BGP
 address-family vpnv4
  neighbor 10.0.0.100 activate
  neighbor 10.0.0.100 send-community extended
 exit-address-family
 !
! // BGP entre PE-CE na vrf B
 address-family ipv4 vrf B
  redistribute connected
  neighbor 200.0.0.6 remote-as 65000
  neighbor 200.0.0.6 activate
  neighbor 200.0.0.6 allowas-in
  no synchronization
 exit-address-family
 !
 ! // Estático entre PE-CE na vrf A
address-family ipv4 vrf A
  redistribute connected
  redistribute static
  no synchronization
 exit-address-family
!
! // Rota estática da vrf A
ip route vrf A 192.168.10.0 255.255.255.0 100.0.0.6
!


2.4 - Configurar os CEs.

hostname CE_A_1
!
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
!
interface Serial1/0
 ip address 100.0.0.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 100.0.0.1


hostname CE_B_1
!
interface FastEthernet0/0
 ip address 172.16.0.1 255.255.255.0
!
interface Serial1/1
 ip address 200.0.0.2 255.255.255.252
!
router bgp 65000
 no synchronization
 redistribute connected
 neighbor 200.0.0.1 remote-as 400
 neighbor 200.0.0.1 allowas-in
 no auto-summary
!


2.5 - Troubleshooting


PE_A#sh ip vrf
  Name                             Default RD          Interfaces
  A                                400:100             Se1/0
  B                                400:200             Se1/1


PE_A#show ip route vrf A

Routing Table: A
Gateway of last resort is not set

     100.0.0.0/30 is subnetted, 2 subnets
B       100.0.0.4 [200/0] via 10.0.0.102, 02:16:42
C       100.0.0.0 is directly connected, Serial1/0
B    192.168.10.0/24 [200/0] via 10.0.0.102, 01:29:56
S    192.168.1.0/24 [1/0] via 100.0.0.2


PE_A#show ip route vrf B

Routing Table: B
. . .
Gateway of last resort is not set

     200.0.0.0/30 is subnetted, 2 subnets
C       200.0.0.0 is directly connected, Serial1/1
B       200.0.0.4 [200/0] via 10.0.0.102, 02:18:01
     172.16.0.0/24 is subnetted, 1 subnets
B       172.16.0.0 [20/0] via 200.0.0.2, 02:18:06
B    192.168.1.0/24 [200/0] via 10.0.0.102, 02:18:01


!  // Para pingar do PE, especificar a VRF
PE_A#ping vrf A 192.168.10.254 repeat 50
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.10.254, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (50/50), round-trip min/avg/max = 68/94/144 ms


! //  Do CE p ping e direto
CE_A_1#ping 192.168.10.254

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/125/168 ms





2 comentários:

  1. estou procurando algum material sobre QOS em VRF MPLS, alguém tem alguma ideia de onde encontrar

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir