Desactivar la opción Default Gateway en un servidor OpenVPN

Artículos Guías Manuales Sistemas Linux Windows Binario 0

La configuración de OpenVPN frecuentemente se utiliza para enrutar todo el tráfico de internet a través del túnel VPN. Sin embargo, en algunos escenarios, puede ser necesario que solo se enrute cierto tráfico específico a través del túnel VPN, mientras que el tráfico general de internet sigue utilizando la conexión principal del usuario. Esto se logra desactivando la opción de default gateway en OpenVPN.

A continuación, se presenta una guía paso a paso para desactivar la opción de default gateway en un servidor OpenVPN y configurar el enrutamiento adecuado en el cliente.

Paso 1: Configuración del Servidor OpenVPN

  1. Acceder al Archivo de Configuración del Servidor:

    El archivo de configuración del servidor OpenVPN generalmente se encuentra en /etc/openvpn/ y tiene una extensión .conf.
  2. Modificar la Configuración:

    Para evitar que el servidor OpenVPN envíe la ruta de default gateway a los clientes, comente o elimine la línea que contiene push "redirect-gateway def1". Esto se hace agregando un # al inicio de la línea, de la siguiente manera:

    #push "redirect-gateway def1"
  3. Guardar y Reiniciar el Servidor:

    Después de realizar los cambios, guarde el archivo y reinicie el servicio de OpenVPN para aplicar las modificaciones:

    sudo systemctl restart openvpn@server

El siguiente paso lo podemos realizar en dos sitios a elegir, en el servidor o en el cliente, lo explicamos en los dos sitios, pero solo hay que hacerlo en uno de los dos, el que nos convenga más.

Paso 2.1: Configuración del Cliente OpenVPN

  1. Acceder al Archivo de Configuración del Cliente:

    El archivo de configuración del cliente OpenVPN también tiene una extensión .conf o .ovpn y puede estar ubicado en diferentes directorios dependiendo del sistema operativo del cliente.
  2. Especificar las Rutas Deseadas:

    En el archivo de configuración del cliente, agregue líneas que especifiquen las rutas que deben ir a través del túnel VPN. Por ejemplo, para enrutar solo una subred específica a través del VPN, y se pueden establecer tantas rutas como queramos agregandolas una debajo de la otra:

    route 192.168.1.0 255.255.255.0
  3. Evitar el Enrutamiento de Todo el Tráfico:

    Asegúrese de que no haya una directiva que obligue a enrutar todo el tráfico a través del túnel VPN. No debe haber líneas que contengan redirect-gateway en el archivo de configuración del cliente.
  4. Aplicar los Cambios:

    Guarde el archivo y reinicie el cliente OpenVPN para que los cambios surtan efecto.

Paso 2.2: Configuración del Servidor OpenVPN

  1. Acceder al Archivo de Configuración del Servidor:

    El archivo de configuración del servidor OpenVPN generalmente se encuentra en /etc/openvpn/ y tiene una extensión .conf.
  2. Especificar las Rutas Deseadas:

    En el archivo de configuración del cliente, agregue líneas que especifiquen las rutas que deben ir a través del túnel VPN. Por ejemplo, para enrutar solo una subred específica a través del VPN, y se pueden establecer tantas rutas como queramos agregandolas una debajo de la otra:

    push "route 192.168.1.0 255.255.255.0"
  3. Evitar el Enrutamiento de Todo el Tráfico:

    Asegúrese de que no haya una directiva que obligue a enrutar todo el tráfico a través del túnel VPN. No debe haber líneas que contengan redirect-gateway en el archivo de configuración del servidor.
  4. Aplicar los Cambios:

    Después de realizar los cambios, guarde el archivo y reinicie el servicio de OpenVPN para aplicar las modificaciones:

    sudo systemctl restart openvpn@server

Para nuestro criterio es mejor gobernar las rutas desde el servidor cuando se manejan gran cantidad de conexiones de clientes y setearlas nosotros desde el servidor. ( Hay que escoger entre el paso 2.1 o 2.2 no hacer los dos.)

Paso 3: Verificación del Enrutamiento

  1. Verificar la Tabla de Rutas en el Cliente:

    Después de conectar el cliente OpenVPN, verifique la tabla de rutas para asegurar que solo el tráfico específico esté siendo enrutado a través del túnel VPN. En sistemas Linux, esto se puede hacer con el comando:

    ip route

    En Windows, use el comando:

    route print
  2. Pruebas de Conectividad:

    Realice pruebas de conectividad para asegurarse de que el tráfico general de internet usa la conexión principal, mientras que el tráfico específico (por ejemplo, hacia la subred 192.168.1.0/24) utiliza el túnel VPN.

Conclusión

Desactivar la opción de default gateway en un servidor OpenVPN y configurar adecuadamente las rutas en el cliente es un proceso sencillo que permite mantener el enrutamiento de internet a través de la conexión principal del usuario, mientras que el tráfico específico puede ser dirigido a través del túnel VPN. Esto puede ser particularmente útil en escenarios donde se necesita acceso a recursos específicos en la red VPN sin comprometer el rendimiento general de la conexión a internet del cliente.