Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 15. Configuración de túneles IP

Al igual que una VPN, un túnel IP conecta directamente dos redes a través de una tercera red, como Internet. Sin embargo, no todos los protocolos de túneles admiten el cifrado.

Los routers de ambas redes que establecen el túnel requieren al menos dos interfaces:

  • Una interfaz conectada a la red local
  • Una interfaz que está conectada a la red a través de la cual se establece el túnel.

Para establecer el túnel, se crea una interfaz virtual en ambos routers con una dirección IP de la subred remota.

NetworkManager soporta los siguientes túneles IP:

  • Encapsulación de enrutamiento genérico (GRE)
  • Encapsulación de enrutamiento genérico sobre IPv6 (IP6GRE)
  • Punto de acceso terminal de encapsulación de enrutamiento genérico (GRETAP)
  • Punto de acceso terminal de encapsulación de enrutamiento genérico sobre IPv6 (IP6GRETAP)
  • IPv4 sobre IPv4 (IPIP)
  • IPv4 sobre IPv6 (IPIP6)
  • IPv6 sobre IPv6 (IP6IP6)
  • Transición simple a Internet (SIT)

Según el tipo, estos túneles actúan en la capa 2 o 3 del modelo de Interconexión de Sistemas Abiertos (OSI).

15.1. Configurar un túnel IPIP usando nmcli para encapsular el tráfico IPv4 en paquetes IPv4

Un túnel IP sobre IP (IPIP) funciona en la capa 3 de OSI y encapsula el tráfico IPv4 en paquetes IPv4, tal como se describe en el RFC 2003.

Importante

Los datos enviados a través de un túnel IPIP 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.

Tenga en cuenta que los túneles IPIP sólo admiten paquetes unicast. Si necesita un túnel IPv4 que admita multidifusión, consulte Sección 15.2, “Configurar un túnel GRE usando nmcli para encapsular tráfico de capa 3 en paquetes IPv4”.

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

IPIP tunnel

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.
  • El tráfico que quiere enviar a través del túnel es IPv4 unicast.

Procedimiento

  1. En el router RHEL de la red A:

    1. Cree una interfaz de túnel IPIP llamada tun0:

      # nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 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 tun0:

      # nmcli connection modify tun0 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 tun0 para utilizar una configuración manual de IPv4:

      # nmcli connection modify tun0 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 tun0.

      # nmcli connection up tun0
    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 IPIP llamada tun0:

      # nmcli connection add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 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 remotos y locales.

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

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

      # nmcli connection modify tun0 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 tun0.

      # nmcli connection up tun0
    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).