Cisco DMVPN – Parte-1

Neste post estarei apresentando uma introdução sobre o protocolo GRE, configurações com DMVPN e falando sobre as fases 1,2 e 3.

So, let’s talk first about it.

DMVPN

Estarei utilizando a topologia acima com as seguintes referencias, o HQ (Hub) se conecta à Internet e os dois Clientes (Spokes) de cada site possui seu próprio endereço IP público.

A configuração que estarei realizando será para esses sites se conectarem uns aos outros com seu próprio endereço IP privado utilizando túneis GRE.
O protocolo de transporte GRE oferece a possibilidade para criar conexões de túnel ponto a ponto e para isso é preciso informar o tunel source da interface e tunel destination dentro dentro da configuração de interface do GRE que será explicada mais a frente neste post.

GRE Notas importantes

  • GRE (Generic Routing Encapsulation) é um protocolo de encapsulamento que pode encapsular uma grande variedade de tipos de protocolos dentro de túneis, tais como, IP, IPX, Apple Talk e alguns outros que não lembro agora =).
  • O Túnel GRE pode ser usado para que dois roteadores na internet possam se comunicar com suas sub-rede privada.
  • O cabeçalho GRE cria pelo menos 24 bytes de overhead adicional para pacotes tunelados, é por isso que precisamos diminuir MTU para 1400 para libertar espaço para esses bytes adicionais.
  • O túnel GRE não irá criptografar ou proteger seus dados através dele, a menos que seja configurado o IPsec para esta finalidade.
  • O GRE pode ser usado para fornecer túnel ponto ou multiponto usando mGRE, falaremos dele mais adiante.

Tipo de endereço IP que será configurado no GRE ou mGRE:

  • Hub & Spokes IP Público: O endereço IP público também chamado de Outside address ou endereço IP NBMA.
  • Hub & Spokes IP Privado: O endereço IP privado (endereço IP do túnel) também é chamado de Enterprise address ou Inside address.

Neste exemplo: o endereço IP público do router R1 é 10.1.12.1 e o endereço IP público do router R2 10.1.12.2, será configurado uma interface de túnel para conectar ambos, a rede do túnel está definido com o endereço 180.180.180.0/24.

dmvpn-2

R1
interface Tunnel1
ip address 180.180.180.1 255.255.255.0
ip mtu 1400
tunnel source 10.1.12.1
tunnel destination 10.1.12.2
!
interface FastEthernet0/0
ip address 10.1.12.1 255.255.255.0

R2
interface Tunnel1
ip address 180.180.180.2 255.255.255.0
ip mtu 1400
tunnel source 10.1.12.2
tunnel destination 10.1.12.1
!
interface FastEthernet0/0
ip address 10.1.12.2 255.255.255.0

Agora espero que vc tenha feito a pergunta, e se eu tiver 100 filiais e quiserem se conectar ao HQ?…Lembra que esse é o nome do HUB, então precisarei configurar 100 tuneis GRE?!!! … Yes, you are right, no modo point-to-point é preciso configurar um túnel para cada Spoke, a gerencia e escalabilidade se torna um caos total para grandes ambientes!

Então o que fazer para facilitar o gerenciamento e a escalabilidade para um ambiente com a utilização de DMVPN?
Neste caso, podemos utilizar um outro protocolo chamado mGRE que fornecem túneis dinâmicos point-to-multipoint.
Ambos GRE & mGRE oferecem suporte para tráfego unicast, multicast e broadcast. Mas como nada é lindo e maravilhoso, em mGRE existe algumas considerações que precisam ser tratadas para evitar problemas, vamos falar mais tarde sobre isso quando chegar o momento de implementar o IGP com o DMVPN.

DMVPN
Quando utilizando o DMVPN ele permite criar uma única interface túnel mGRE e um único perfil para utilização de IPsec e aplicar na interface de túnel.

Componentes do DMVPN

  • CEF precisa estar sendo executado
  • Multipoint GRE
  • NHRP (Next Hop Resolution Protocol)
  • Protocolo de roteamento dinâmico ou rotas estáticas
  • Opcional – IPsec (GRE & mGRE não fornece proteção de criptográfica, é por isso que precisamos do IPsec para fazer isso por nós)

Para permitir que os Spokes conversem uns com os outros, precisamos fazer um mapeamento entre o endereço privado do túnel do HUB para o endereço IP público, é por isso que usamos o NHRP

Informações sobre NHRP:

  • NHRP fornece protocolos de resolução de endereços na camada 2 similar ao ARP ou ARP inverso do Frame Relay
  • NHRP é utilizado pelos Spokes para determinar o endereço NBMA do next hop router
  • Durante a configuração do NHRP é feito o mapeamento do endereço IP privado do túnel para o endereço IP público NBMA de forma estática ou dinâmica.
  • O NHRP é um protocolo cliente e servidor onde o hub atua como o servidor NHRP (NHS) e os Spokes são os clientes NHRP (NHC)
  • Cada Spoke registra seus endereços de túnel públicos e internos quando inicia e consulta o banco de dados NHRP para os endereços de outros Spokes
  • Ao adicionar um novo Spoke ao DMVPN não requer nenhuma configuração adicional no Hub. O Spoke é configurado apenas com as informações do Hub.

O DMVPN pode configurar em três maneiras fase 1, 2 e 3:

Fases do DMVPN 

Fase 1 – Hub & Spoke
– Nesta fase o mode de configuração mGRE é configurado no Hub, e o modo de GRE é configurado nos Spokes.
– Fluxo de tráfego de multicast ou unicast é somente entre o Hub e os Spokes apenas, e  NÃO entre Spokes to Spokes.
– Pode ser configurado de forma estática ou o NHC se registrará dinamicamente no NHS.
– Na Fase 1 os Spokes conversam entre eles apenas utilizando o Hub.

Fase 2 – Spoke-To-Spoke ou partial/full mesh
– Nesta fase o Hub e todos os Spokes serão configurados com mGRE.
– Na Fase 2 os Spokes podem conversar uns com os outros diretamente.

Fase 3
– É idêntico à fase 2 com uma grande diferença =D. usamos o comando ip nhrp redirect na configuração de tunel do Hub e ip nhrp shortcut na configuração de tunel dos Spokes.

A seguinte etapa acontece na fase 2 quando os Spokes precisam comunicar entre eles:
1- Spoke1 consulta seu cache NHRP local para o endereço IP do túnel do Spoke2 e se não encontra nenhuma entrada.
2-Envia uma consulta para o servidor NHRP (o roteador do hub DMVPN) para resolver o endereço interno (túnel) para um endereço IP externo do Spoke2.
3- O servidor NHRP, que mantém os endereços internos (túnel) e externo (físico) para roteadores do Spoke, envia uma resposta de NHRP para Spoke1, que informa que o IP do túnel interno do Spoke2 pode ser alcançado através do seu endereço IP (físico) externo.
4- Agora o Spoke1 recebe a resposta do servidor e adicionar essa entrada em seu cache local NHRP.

Configuração DMVPN – Esta configuração esta utilizando primeira topologia.
Nas duas fases 1 e 2, podemos usar o mapeamento estático ou o mapeamento dinâmico.

Exemplo de mapeamento estático da Fase 1:

Hub
interface tunnel 1
ip address 10.1.1.1 255.255.255.0
tunnel source 192.1.1.1
tunnel mode gre multipoint < Isso especifica a interface do túnel com um multiponto GRE, o que significa que estará atuando como interfaces únicas conectadas a múltiplos peers
ip nhrp network-id 111 < isso habilita o NHRP neste túnel, deve ser o mesmo no servidor NHRP e clientes NHRP.
ip nhrp map 10.1.1.2 192.1.2.2
ip nhrp map 10.1.1.3 192.1.3.3
ip nhrp map 10.1.1.4 192.1.4.4 < Estes comandos são para mapear os ips privados das interfaces de tunel dos Spokes para os endereços externos deles.

Nota: para suportar protocolos de roteamento dinâmico, habilite o suporte para tráfego de multicast com o comando ip nhrp map multicast dynamic sob a interface do túnel apenas no Hub. Isso permite que cada Spoke se registre como um receptor de tráfego multicast fazendo com que o Hub replica e encaminhe pacotes de multicast aos roteadores. Nos Spokes, configuramos ip nhrp map multicast 1.1.1.10 (onde 1.1.1.10 é o endereço IP público do hub), isso garante que o tráfego multicast seja enviado somente de Spokes para o Hub e não de Spoke para Spoke. Todo o tráfego multicast deve ser recebido pelo Hub, processado e, em seguida, as atualizações são enviadas para os Spokes

Na fase 1, não há necessidade do comando de multicast, porque a comunicação entre o Spoke com o Hub é Point-to-Point.

Spoke1
interface tunnel 1
ip address 10.1.1.2 255.255.255.0
tunnel source 192.1.2.2 < ou tunnel source f0/0
tunnel destination 192.1.1.1
ip nhrp netowrk-id 111
ip nhrp map 10.1.1.1 192.1.1.1

Spoke2
interface tunnel 1
ip address 10.1.1.3 255.255.255.0
tunnel source f0/0
tunnel destination 192.1.1.1
ip nhrp netowrk-id 111
ip nhrp map 10.1.1.1 192.1.1.1

Nota: para adicionar maior segurança podemos configurar autenticação entre o Hub e os Spokes: ip nhrp authentication C1$c0123, isso garante que as consultas indesejadas não sejam fornecidas com informações sobre a rede DMVPN.

Exemplo de mapeamento dinâmico da Fase 1:
Na configuração do Túnel do Hub não será adicionado os comandos “ip nhrp map

Hub
interface tunnel 1
ip add 10.1.1.1 255.255.255.0
tunnel source 192.1.1.1
tunnel mode gre multipoint
ip nhrp netowrk-id 111

Spoke1
interface tunnel 1
ip address 10.1.1.2 255.255.255.0
tunnel source 192.1.2.2
tunnel destination 192.1.1.1
ip nhrp netowrk-id 222
ip nhrp map 10.1.1.1 192.1.1.1 < mapeia o endereço NHS (10.1.1.1) para o endereço IP público (R1) do Hub (192.1.1.1).
ip nhrp nhs 10.1.1.1 < envie solicitação de registro para o Hub, informa a este Spoke quem é Next Hop Server (NHS).

Spoke2
interface tunnel 1
ip address 10.1.1.3 255.255.255.0
tunnel source f0/0
tunnel destination 192.1.1.1
ip nhrp netowrk-id 333
ip nhrp map 10.1.1.1 192.1.1.1
ip nhrp nhs 10.1.1.1

Comandos para verificação e Tshoot DMVPN

sh ip nhrp
sh ip nhrp detail

show ip nhrp nhs: Exibe as informações do servidor NHRP next-hop e pode ser usado  para mostrar informações de mapeamento NHRP para um dispositivo.

debug nhrp packet
sh dmvpn: Verifica os spokes registrados no Hub.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s