Este documento descreve o que são manutenções de atividades de Encapsulamento de Roteamento Genérico (GRE - Generic Routing Encapsulation) e como funcionam.
Um túnel GRE é uma interface lógica em um roteador que fornece uma maneira de encapsular pacotes de protocolo de rede dentro de um protocolo de transporte. É um mecanismo para fornecer transporte para o tráfego de rede sobre um esquema de encapsulamento ponto-a-ponto.
Os túneis GRE são projetados para serem completamente stateless. Isso significa que cada endpoint de túnel não mantém nenhuma informação sobre o estado ou a disponibilidade do endpoint de túnel remoto. Uma consequência disso é que o roteador de ponto final de túnel local não tem a capacidade de desativar o protocolo de linha da interface de túnel GRE se a extremidade remota do túnel estiver inalcançável. A capacidade de marcar uma interface como inativa quando a extremidade remota do link não está disponível é usada para remover quaisquer rotas (especificamente rotas estáticas) na tabela de roteamento que usa essa interface como a interface de saída. Especificamente, se o protocolo de linha de uma interface for alterado para inativo, todas as rotas estáticas que apontam essa interface serão removidas da tabela de roteamento. Isso permite a instalação de uma rota estática alternativa (flutuante) ou de Roteamento Baseado em Políticas (PBR - Policy Based Routing) para selecionar um próximo salto alternativo ou uma interface.
Normalmente, uma interface de túnel GRE é ativada assim que é configurada e permanece ativa desde que haja um endereço de origem de túnel válido ou uma interface de origem de túnel que esteja em um estado ativado. O endereço IP destino do túnel também deve ser roteável. Isso é verdadeiro mesmo que o outro lado do túnel não tenha sido configurado. Isso significa que uma rota estática ou encaminhamento PBR de pacotes através da interface de túnel GRE permanece em vigor mesmo que os pacotes de túnel GRE não possam alcançar a outra extremidade do túnel.
Antes da implementação das manutenções de atividades de GRE, havia apenas maneiras de desativar uma interface de túnel devido a problemas locais no roteador, e não devido a problemas na rede de transporte. Por exemplo, o caso em que os pacotes em túnel GRE são encaminhados com êxito, mas são perdidos antes de alcançarem a outra extremidade do túnel. Tais cenários fariam com que os pacotes de dados que passam pelo túnel GRE fossem "black holed", mesmo que uma rota alternativa que usa PBR ou uma rota estática flutuante através de outra interface estivesse disponível. Os keepalives na interface do túnel GRE são usados para resolver esse problema da mesma forma que os keepalives são usados nas interfaces físicas.
O mecanismo de keepalive de túnel GRE é semelhante aos keepalives PPP, pois dá a capacidade para que um lado origine e receba pacotes de keepalive de e para um roteador remoto, mesmo que o roteador remoto não suporte keepalives GRE. Como o GRE é um mecanismo de tunelamento de pacotes para tunelamento de IP dentro do IP, um pacote de túnel IP do GRE pode ser criado dentro de outro pacote de túnel IP do GRE. Para keepalives de GRE, o remetente pré-compila o pacote de resposta de keepalive dentro do pacote de solicitação de keepalive original, de modo que a extremidade remota só precise fazer o desencapsulamento de GRE padrão do cabeçalho IP de GRE externo e reverter o pacote de GRE IP interno para o remetente. Esses pacotes ilustram os conceitos de tunelamento IP, em que GRE é o protocolo de encapsulamento e IP é o protocolo de transporte. O protocolo de passageiro também é IP (embora possa ser outro protocolo como NHRP ).
Pacote normal:
| Cabeçalho IP |
Cabeçalho TCP |
Telnet |
Pacote em túnel:
| Cabeçalho IP GRE |
GRE |
|
Este é um exemplo de um pacote keepalive que se origina do Roteador A e é destinado ao Roteador B. A resposta de keepalive que o Roteador B retorna ao Roteador A já está dentro do Cabeçalho IP Interno. O roteador B simplesmente desencapsula o pacote keepalive e o envia de volta para a interface física (S2). Ele processa o pacote de keepalive GRE como qualquer outro pacote de dados IP GRE.
Keepalives de GRE:
| Cabeçalho IP GRE |
GRE |
|
|||||||
| Origem A | Destino B | PT=IP | |||||||
Esse mecanismo faz com que a resposta de keepalive seja encaminhada para fora da interface física, em vez da interface de túnel. Isso significa que o pacote de resposta keepalive do GRE não é afetado por nenhum recurso de saída na interface de túnel, como "tunnel protection ..." QoS, Virtual Routing and Forwarding (VRF), etc.
Outro atributo de keepalives de túnel GRE é que os temporizadores de keepalive em cada lado são independentes e não têm que coincidir, semelhante aos keepalives PPP.
Com o Cisco IOS® Software Release 12.2(8)T, é possível configurar keepalives em uma interface de túnel GRE ponto a ponto. Com essa alteração, a interface do túnel é desativada dinamicamente se os keepalives falharem por um determinado período.
Para obter mais informações sobre como outras formas de keepalives funcionam, consulte Visão Geral dos Mecanismos de Keepalive no Cisco IOS.
Esta saída mostra os comandos que você usa para configurar keepalives em túneis GRE.
Router#configure terminal
Router(config)#interface tunnel0
Router(config-if)#keepalive 5 4
!--- The syntax of this command is keepalive [seconds [retries]].
!--- Keepalives are sent every 5 seconds and 4 retries.
!--- Keepalives must be missed before the tunnel is shut down.
!--- The default values are 10 seconds for the interval and 3 retries.
Para entender melhor como o mecanismo de keepalive do túnel funciona, considere este exemplo de topologia e configuração de túnel:

Router A:
interface loopback 0
ip address 192.168.1.1 255.255.255.255
!
interface tunnel 0
ip address 10.10.10.1 255.255.255.252
tunnel source loopback0
tunnel destination 192.168.1.2
keepalive 5 4
Router B:
interface loopback 0
ip address 192.168.1.2 255.255.255.255
!
interface tunnel 0
ip address 10.10.10.2 255.255.255.252
tunnel source loopback0
tunnel destination 192.168.1.1
keepalive 5 4
Neste cenário, o Roteador A executa estas etapas:
| Cabeçalho IP |
GRE |
|
| Fonte:192.168.1.2 | Destino:192.168.1.1 | PT=0 |
Envia esse pacote para fora de sua interface de túnel, o que resulta no encapsulamento do pacote com o cabeçalho IP externo, onde:
| Cabeçalho IP GRE |
GRE |
|
|||||||
| Fonte: 192.168.1.1 | Destino: 192.168.1.2 | PT=IP | |||||||
| Cabeçalho IP |
GRE |
|
| Fonte:192.168.1.2 | Destino:192.168.1.1 | PT=0 |
Se o Roteador B estiver inacessível, o Roteador A continuará a construir e enviar pacotes de keepalive, bem como tráfego normal. Se os keepalives não voltarem, o protocolo de linha de túnel permanecerá ativo, contanto que o contador de keepalive do túnel seja menor que o número de novas tentativas, que, neste caso, é quatro. Se essa condição não for verdadeira, na próxima vez que o Roteador A tentar enviar um keepalive para o Roteador B, o protocolo de linha será desativado.
Para ver keepalives em ação, habilite debug tunnel e debug tunnel keepalive.
Exemplo de depurações do roteador A:
debug tunnel keepalive
Tunnel keepalive debugging is on
01:19:16.019: Tunnel0: sending keepalive, 192.168.1.1->192.168.1.2
(len=24 ttl=0), counter=15
01:19:21.019: Tunnel0: sending keepalive, 192.168.1.1->192.168.1.2
(len=24 ttl=0), counter=16
01:19:26.019: Tunnel0: sending keepalive, 192.168.1.1->192.168.1.2
(len=24 ttl=0), counter=17
O Unicast RPF (Unicast Reverse Path Forwarding) é um recurso de segurança que ajuda a detectar e descartar tráfego IP falsificado com uma validação do endereço de origem do pacote em relação à tabela de roteamento. Quando o Unicast RPF é executado no modo estrito (ip verify unicast source reachable-via rx), o pacote deve ser recebido na interface que o roteador usaria para encaminhar o pacote de retorno. Se o modo estrito ou o modo solto RPF unicast estiver habilitado na interface de túnel do roteador que recebe os pacotes keepalive do GRE, os pacotes keepalives serão descartados pelo RPF após o desencapsulamento do túnel, já que a rota para o endereço de origem do pacote (endereço de origem do próprio roteador) não é através da interface de túnel. As quedas de pacotes RPF podem ser observadas na saída do show ip traffic da seguinte maneira:
Router#show ip traffic | section Drop
Drop: 0 encapsulation failed, 0 unresolved, 0 no adjacency
0 no route, 156 unicast RPF, 0 forced drop
0 options denied
Como resultado, o iniciador dos keepalives do túnel derruba o túnel devido aos pacotes de retorno de keepalives perdidos. Assim, o RPF unicast não deve ser configurado no modo estrito ou solto para que as manutenções de atividade do túnel GRE funcionem. Para obter mais informações sobre o Unicast RPF, consulte Entendendo o Unicast Reverse Path Forwarding.
Túneis GRE às vezes são combinados com IPsec porque o IPsec não suporta pacotes multicast IP. Por isso, os protocolos de roteamento dinâmico não podem ser executados com êxito em uma rede VPN IPsec. Como os túneis GRE suportam multicast IP, um protocolo de roteamento dinâmico pode ser executado em um túnel GRE. Os pacotes IP unicast GRE que resultam podem ser criptografados pelo IPsec.
Há duas maneiras diferentes de o IPsec criptografar pacotes GRE:
Ambos os métodos especificam que a criptografia IPsec seja executada após a adição do encapsulamento GRE. Há duas diferenças-chave entre quando você usa um mapa de criptografia e quando você usa a proteção de túnel:
Dadas as duas maneiras de adicionar criptografia aos túneis GRE, há três maneiras distintas de configurar um túnel GRE criptografado:
A configuração descrita nos cenários 1 e 2 é frequentemente feita em um design hub-and-spoke. A proteção de túnel é configurada no roteador de hub para reduzir o tamanho da configuração e um mapa de criptografia estático é usado em cada spoke.
Considere cada um desses cenários com keepalives GRE ativados no Peer B(spoke) e onde o modo de túnel é usado para criptografia.
Configuração:
Neste cenário, como os keepalives de GRE são configurados no Peer B, os eventos de sequência quando um keepalive é gerado são os seguintes:
| Cabeçalho IP |
Cabeçalho ESP |
Cabeçalho IP GRE |
Cabeçalho GRE |
|
trailer ESP |
|||||||
| OrigemB | DestinoA | OrigemB | DestinoA | PT=IP | ||||||||
| Cabeçalho IP GRE |
GRE |
|
|||||||
| OrigemB | DestinoA | PT=IP | |||||||
| Cabeçalho IP |
GRE |
|
| OrigemA | DestinoB | PT=0 |
| Cabeçalho IP |
GRE |
|
| OrigemA | DestinoB | PT=0 |
Portanto, mesmo que o Peer A responda aos keepilves e o Peer B do roteador receba as respostas, ele nunca as processará e, eventualmente, alterará o protocolo de linha da interface do túnel para o estado inativo.
Resultado:
Os keepalives ativados no Peer B fazem com que o estado do túnel no Peer B mude para up/down.
Configuração:
Neste cenário, como os keepalives de GRE são configurados no Peer B, os eventos de sequência quando um keepalive é gerado são os seguintes:
| Cabeçalho IP |
Cabeçalho ESP |
Cabeçalho IP GRE |
Cabeçalho GRE |
|
trailer ESP |
|||||
| OrigemB | DestinoA | OrigemB | DestinoA | PT=IP |
| Cabeçalho IP GRE |
GRE |
|
|||||||
| OrigemB | DestinoA | PT=IP | |||||||
| Cabeçalho IP |
GRE |
|
| OrigemA | DestinoB | PT=0 |
| Cabeçalho IP |
Cabeçalho ESP |
|
trailer ESP |
|||||||
| OrigemB | DestinoA | |||||||||
| Cabeçalho IP |
GRE |
|
| OrigemA | DestinoB | PT=0 |
Resultado:
Os keepalives ativados no Peer B determinam com êxito o estado do túnel com base na disponibilidade do destino do túnel.
Configuração:
Esse cenário é semelhante ao Cenário 1, pois quando o Peer A recebe a manutenção de atividade criptografada, ele a descriptografa e a desencapsula. No entanto, quando a resposta é encaminhada de volta, ela não é criptografada, pois o peer A usa a proteção de túnel na interface do túnel. Assim, o Peer B descarta a resposta de keepalive não criptografada e não a processa.
Resultado:
Os keepalives ativados no Peer B fazem com que o estado do túnel no Peer B mude para up/down.
Em situações em que os pacotes GRE devem ser criptografados, há três soluções possíveis:
| Revisão | Data de publicação | Comentários |
|---|---|---|
4.0 |
15-Jun-2026
|
Recertificação |
3.0 |
18-Apr-2025
|
Formatação atualizada e erros de gramática e ortografia corrigidos. |
2.0 |
19-Dec-2022
|
Texto Alt adicionado.
Introdução atualizada, fundamentos, requisitos de estilo e formatação. |
1.0 |
31-Oct-2014
|
Versão inicial |