Red Hat Training

A Red Hat training course is available for RHEL 8

15.2. Configurar un túnel GRE usando nmcli para encapsular tráfico de capa 3 en paquetes IPv4

Un túnel de encapsulación de enrutamiento genérico (GRE) encapsula el tráfico de capa 3 en paquetes IPv4 como se describe en el RFC 2784. Un túnel GRE puede encapsular cualquier protocolo de capa 3 con un tipo de Ethernet válido.

Importante

Los datos enviados a través de un túnel GRE no están cifrados. Por razones de seguridad, utilice el túnel sólo para los datos que ya están cifrados, por ejemplo, por otros protocolos, como HTTPS.

Este procedimiento describe cómo crear un túnel GRE entre dos routers RHEL para conectar dos subredes internas a través de Internet, como se muestra en el siguiente diagrama:

GRE tunnel
Nota

El nombre del dispositivo gre0 está reservado. Utilice gre1 o un nombre diferente para el dispositivo.

Requisitos previos

  • Cada router RHEL tiene una interfaz de red que se conecta a su subred local.
  • Cada router RHEL tiene una interfaz de red que se conecta a Internet.

Procedimiento

  1. En el router RHEL de la red A:

    1. Cree una interfaz de túnel GRE llamada 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

      Los parámetros remote y local establecen las direcciones IP públicas de los routers remoto y local.

    2. Establezca la dirección IPv4 del dispositivo gre1:

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

      Tenga en cuenta que una subred /30 con dos direcciones IP utilizables es suficiente para el túnel.

    3. Configure la conexión gre1 para utilizar una configuración manual de IPv4:

      # nmcli connection modify gre1 ipv4.method manual
    4. Añada una ruta estática que dirija el tráfico a la red 172.16.0.0/24 a la IP del túnel en el router B:

      # nmcli connection modify tun0 ipv4.routes "172.16.0.0/24 10.0.1.2"
    5. Habilite la conexión gre1.

      # nmcli connection up gre1
    6. Activar el reenvío de paquetes:

      # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
      # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
  2. En el router RHEL de la red B:

    1. Cree una interfaz de túnel GRE llamada 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

      Los parámetros remote y local establecen las direcciones IP públicas de los routers remoto y local.

    2. Establezca la dirección IPv4 del dispositivo gre1:

      # nmcli connection modify gre1 ipv4.addresses '10.0.1.2/30'
    3. Configure la conexión gre1 para utilizar una configuración manual de IPv4:

      # nmcli connection modify gre1 ipv4.method manual
    4. Añade una ruta estática que dirija el tráfico a la red 192.0.2.0/24 a la IP del túnel en el router A:

      # nmcli connection modify tun0 ipv4.routes "192.0.2.0/24 10.0.1.1"
    5. Habilite la conexión gre1.

      # nmcli connection up gre1
    6. Activar el reenvío de paquetes:

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

Pasos de verificación

  1. Desde cada router RHEL, haz un ping a la dirección IP de la interfaz interna del otro router:

    1. En el router A, haga un ping a 172.16.0.1:

      # ping 172.16.0.1
    2. En el router B, haga ping a 192.0.2.1:

      # ping 192.0.2.1

Recursos adicionales

  • Para más detalles sobre el uso de nmcli, consulte la página de manual nmcli.
  • Para más detalles sobre la configuración del túnel que puede establecer con nmcli, consulte la sección ip-tunnel settings en la página de manual nm-settings(5).