Red Hat Training

A Red Hat training course is available for RHEL 8

15.2. Configuração de um túnel GRE usando nmcli para encapsular o tráfego de camada-3 em pacotes IPv4

Um túnel de Encapsulamento de Roteamento Genérico (GRE) encapsula o tráfego de camada-3 em pacotes IPv4, conforme descrito no RFC 2784. Um túnel GRE pode encapsular qualquer protocolo da camada 3 com um tipo de Ethernet válido.

Importante

Os dados enviados através de um túnel GRE não são criptografados. Por razões de segurança, utilizar o túnel somente para dados que já estão criptografados, por exemplo, por outros protocolos, tais como HTTPS.

Este procedimento descreve como criar um túnel GRE entre dois roteadores RHEL para conectar duas sub-redes internas através da Internet, como mostrado no diagrama a seguir:

GRE tunnel
Nota

O nome do dispositivo gre0 é reservado. Use gre1 ou um nome diferente para o dispositivo.

Pré-requisitos

  • Cada roteador RHEL tem uma interface de rede que é conectada à sua sub-rede local.
  • Cada roteador RHEL tem uma interface de rede que está conectada à Internet.

Procedimento

  1. No roteador RHEL da rede A:

    1. Criar uma interface de túnel GRE chamada gre1:

      # nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name gre1 ifname gre1 remote 198.51.100.5 local 203.0.113.10

      Os parâmetros remote e local definem os endereços IP públicos dos roteadores remotos e locais.

    2. Defina o endereço IPv4 para o dispositivo gre1:

      # nmcli connection modify gre1 ipv4.addresses '10.0.1.1/30'

      Note que uma sub-rede /30 com dois endereços IP utilizáveis é suficiente para o túnel.

    3. Configure a conexão gre1 para usar uma configuração IPv4 manual:

      # nmcli connection modify gre1 ipv4.method manual
    4. Adicionar uma rota estática que encaminhe o tráfego para a rede 172.16.0.0/24 para o IP do túnel no roteador B:

      # nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
    5. Habilitar a conexão gre1.

      # nmcli connection up gre1
    6. Habilitar o envio de pacotes:

      # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
      # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
  2. No roteador RHEL da rede B:

    1. Criar uma interface de túnel GRE chamada gre1:

      # nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name gre1 ifname gre1 remote 203.0.113.10 local 198.51.100.5

      Os parâmetros remote e local definem os endereços IP públicos dos roteadores remotos e locais.

    2. Defina o endereço IPv4 para o dispositivo gre1:

      # nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
    3. Configure a conexão gre1 para usar uma configuração IPv4 manual:

      # nmcli connection modify gre1 ipv4.method manual
    4. Adicione uma rota estática que encaminha o tráfego para a rede 192.0.2.0/24 para o IP do túnel no roteador A:

      # nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
    5. Habilitar a conexão gre1.

      # nmcli connection up gre1
    6. Habilitar o envio de pacotes:

      # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
      # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf

Etapas de verificação

  1. A partir de cada roteador RHEL, pingando o endereço IP da interface interna do outro roteador:

    1. No Router A, ping 172.16.0.1:

      # ping 172.16.0.1
    2. No Router B, ping 192.0.2.1:

      # ping 192.0.2.1

Recursos adicionais

  • Para mais detalhes sobre o uso de nmcli, consulte a página de manual nmcli.
  • Para detalhes sobre as configurações do túnel você pode definir com nmcli, veja a seção ip-tunnel settings na página de manual nm-settings(5).