¿Cómo configurar NordVPN manualmente en un router OpenWRT?

¿NordVPN es compatible con OpenWrt?

Según los informes, los routers con firmware OpenWRT son compatibles con las VPN como NordVPN.Sin embargo, ten en cuenta que el equipo de NordVPN no ha probado la siguiente configuración, sino que la han compartido y validado nuestros propios usuarios. En particular, NordVPN quiere dar las gracias a Unwind, miembro activo de la comunidad OpenWRT, por ayudarnos siempre a la hora de proporcionarnos instrucciones actualizadas de OpenWRT. Consulta nuestra guía si quieres configurar NordVPN en un router OpenWrt con NordVPN Lite.

Instrucciones para GUI

Esta guía te explica cómo configurar una conexión NordVPN en routers con firmware OpenWrt a través de la interfaz web LuCI. 

  1. Para acceder a la interfaz LuCI de tu router OpenWrt, introduce su dirección IP local en tu navegador de internet e inicia sesión. La dirección IP predeterminada es 192.168.1.1 y el nombre de usuario es root.



    NOTA: El sistema no establece una contraseña por defecto, por lo que puedes dejar este campo vacío. No obstante, cuando inicies sesión, se te pedirá que crees una.



    Para hacerlo, haz clic en Sistema>Administración y establece una contraseña desde ahí.
     
  2. Una vez que hayas iniciado sesión, selecciona la pestaña System (Sistema) y elige Software.


     
  3. Pulsa el botón Update lists (Actualizar listas), espera a que termine el proceso y luego haz clic en Dismiss (Cerrar).
     
  4. Instala los siguientes paquetes escribiendo su nombre en el campo Filter (Filtro) y haciendo clic en Install... (Instalar…).
     
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn


       
  5. Haz clic en Save & Apply (Guardar y aplicar) y actualiza la página del router. Ahora deberías ver una nueva pestaña llamada VPN. Haz clic en ella y selecciona OpenVPN en el menú desplegable.
     
  6. Ahora necesitas descargar los archivos de configuración del cliente OpenVPN. A continuación, podrás conectarte a un servidor recomendado desde tu Nord Account.

    Sigue estos pasos para encontrar las credenciales del servicio con las que configurar la conexión manualmente:
    1.  
      1. Inicia sesión en tu Nord Account, haz clic en NordVPN, y, en el apartado Manual setup (Configuración manual), haz clic en Service credentials (Credenciales de servicio). Allí encontrarás el nombre de usuario y la contraseña que necesitarás para poder conectarte manualmente.


         
      2. A continuación, descarga los archivos de configuración del cliente OpenVPN.

        Sigue estos pasos para encontrar el mejor servidor para tu conexión:
        1. Inicia sesión en tu Nord Account y haz clic en NordVPN.


           
        2. Desplázate hacia abajo hasta Advanced Settings (Configuración avanzada) y haz clic en Set up NordVPN manually (Configurar NordVPN manualmente).


           
        3. Selecciona la pestaña Server recommendation (Servidores recomendados). Nuestro algoritmo te recomendará el mejor servidor en función de tu ubicación.


           
        4. Al hacer clic en Advanced filters (Filtros avanzados), podrás personalizar los servidores recomendados seleccionando Server type (Tipo de servidor) y Security protocol (Protocolo de seguridad).





           Si quieres seleccionar un servidor específico, sigue estos pasos:
          1. En Set up NordVPN manually (Configurar NordVPN manualmente), selecciona OpenVPN configuration files (Archivos de configuración de OpenVPN).


             
          2. Usa la barra de búsqueda o desplázate hacia abajo para encontrar el servidor al que te quieras conectar. Para descargarlo, haz clic en Download UDP (Descargar UDP) o Download TCP (Descargar TCP).



            En esta guía, utilizaremos el servidor us5104.nordvpn.com.
  7. En la sección OVPN configuration file upload (Subida del archivo de configuración de OVPN), asigna un nombre a la conexión VPN en el campo instance name (nombre de la instancia) (nosotros la hemos denominado «nordvpn_us»). A continuación, haz clic en el botón Choose file (Seleccionar archivo), busca el archivo del servidor descargado y haz clic en Upload (Subir).


     
  8. En la sección OpenVPN instances (Instancias de OpenVPN), haz clic en el botón Edit (Editar) que aparece junto a la instancia que has creado.


     
  9. Introduce tus credenciales del servicio NordVPN (nombre de usuario y contraseña) en líneas separadas en el campo inferior.

    nombre de usuario
    contraseña

    Puedes encontrar tus credenciales de servicio de NordVPN (nombre de usuario y contraseña) en el panel de control de tu Nord Account.

     

  10. Ahora, copia la ruta al archivo de credenciales que aparece justo encima del campo que contiene las credenciales y pégala junto a la línea«auth-user-pass» en la sección Config file (Archivo de configuración) de arriba.

    Debería quedar así: auth-user-pass /etc/openvpn/nordvpn_us.auth


     
  11. Para conectarte al servidor VPN, marca la casilla Enabled (Habilitado) y, a continuación, haz clic en el botón Start (Iniciar) que aparece junto a la instancia de NordVPN creada.


     
  12. Haz clic en el botón Save & Apply (Guardar y aplicar) que aparece en la parte inferior.
     
  13. En la parte superior del menú de navegación, pasa el cursor por encima de System (Sistema) y haz clic en Reboot (Reiniciar). Se abrirá otra página. Haz clic en el botón Perform reboot (Reiniciar) y, a continuación, vuelve a iniciar sesión.
     
  14. Pasa el cursor por la pestaña Network (Red), en la parte superior de la página, y selecciona Interfaces:
     
    1. Haz clic en Add New Interface (Añadir nueva interfaz).
    2. En la sección name (nombre), escribe nordvpntun.
    3. Haz clic en protocol (protocolo) y selecciona unmanaged (no gestionado).
    4. En el menú desplegable interface (interfaz), introduce el nombre tun0 en el campo -- custom -- (-- personalizado --) situado en la parte inferior y pulsa Intro.


     
  15. Haz clic en Create Interface (Crear interfaz)y en Save (Guardar).
     
  16. Selecciona la pestaña Network (Red) en la parte superior y ve a la sección Firewall (Cortafuegos).
     
  17. Haz clic en el botón Add (Añadir) y configúralo de la siguiente manera:
     
    1. Ponle el nombre «vpnfirewall».
    2. Configura la opción Input (Entrada) como Reject (Rechazar).
    3. Deja Output (Salida) como Accept (Aceptar) y Forward (Reenviar) como Reject (Rechazar).
    4. Marca la opción Masquerading (Enmascaramiento).
    5. Marca la opción MSS clamping (Fijación de MSS).
    6. En el menú desplegable Covered Networks (Redes cubiertas), elige nordvpntun.
    7. En el menú desplegable Allow forward from source zones (Permitir el reenvío desde las zonas de origen), elige plan.
    8. Haz clic en el botón Save (Guardar).


       
  18. En la sección Zones (Zonas), busca la zona llamada lan y haz clic en el botón Edit (Editar).


     
  19. En el menú desplegable Allow Forward to Destination Zones (Permitir el reenvío a zonas de destino), marca la opción NordVPN.


     
  20. Vuelve a hacer clic en Network (Red) en la parte superior de la página y, a continuación, elige DHCP and DNS (DHCP y DNS) en la lista desplegable.
     
  21. Busca la opción de reenvíos de DNS en la pestaña General settings (Configuración general) e introduce las direcciones DNS de NordVPN. Las direcciones son:103.86.96.100 y 103.86.99.100


     
  22. Ve a la pestaña Resolv and Hosts Files (Archivos de resolución y hosts), marca la casilla Ignore resolve file (Ignorar archivo de resolución) y haz clic en el botón Save & Apply (Guardar y aplicar).


     
  23. Vuelve a la pestaña VPN > OpenVPN.
     
  24. En la sección OpenVPN instances (Instancias de OpenVPN), marca la opción enable (habilitar) junto a la opción de NordVPN en la lista y haz clic en el botón Save & Apply (Guardar y aplicar).


     
  25. Vuelve a hacer clic en el botón Start (Iniciar) para conectarte al servidor VPN.

Instrucciones para la CLI

Sigue esta guía si buscas un tutorial más avanzado. Para disfrutar de las ventajas que ofrece una VPN en OpenWrt, necesitas un router con firmware OpenWrt y un cliente OpenVPN habilitado. La página principal del firmware es https://openwrt.org/

  1. En primer lugar, debes poder acceder a tu router mediante SSH usando su dirección IP LAN. Por defecto, la dirección IP es 192.168.1.1 y el nombre de usuario es root. Sin embargo, la dirección IP puede ser distinta si has cambiado alguno de los valores predeterminados.
     
  2. El router no tiene el paquete OpenVPN en la imagen del firmware por defecto. Para instalarlo, ejecuta los siguientes comandos:

    opkg update
    			opkg install openvpn-openssl
    			opkg install ip-full

    Además, puedes instalar el componente LuCI de la configuración de OpenVPN, aunque es opcional. Para ello, ejecuta este comando:

    opkg install luci-app-openvpn
  3. Después de instalar el paquete OpenVPN, ejecuta este comando si quieres que se inicie automáticamente cada vez que se inicie el router:

    /etc/init.d/openvpn enable
  4. A continuación, descarga los archivos de configuración del servidor. Sigue estos pasos:
    1. Inicia sesión en tu Nord Account y haz clic en NordVPN.


       
    2. Desplázate hacia abajo hasta Advanced Settings (Configuración avanzada) y haz clic en Set up NordVPN manually (Configurar NordVPN manualmente).


       
    3. Selecciona la pestaña Server recommendation (Servidores recomendados). Nuestro algoritmo te recomendará el mejor servidor en función de tu ubicación.


       
    4. Al hacer clic en Advanced filters (Filtros avanzados), podrás personalizar los servidores recomendados seleccionando Server type (Tipo de servidor) y Security protocol (Protocolo de seguridad).





       Si quieres seleccionar un servidor específico, sigue estos pasos:
      1. En Set up NordVPN manually (Configurar NordVPN manualmente), selecciona OpenVPN configuration files (Archivos de configuración de OpenVPN).


         
      2. Usa la barra de búsqueda o desplázate hacia abajo para encontrar el servidor al que te quieras conectar. Para descargarlo, haz clic en Download UDP (Descargar UDP) o Download TCP (Descargar TCP).


         
  1. Para esta guía, hemos utilizado el servidor uk2054.nordvpn.com, pero deberías utilizar el servidor que te sugiera la página web.

    Para descargar un archivo del servidor, selecciona el país al que quieres conectarte, haz clic en «Show available protocols» (Mostrar protocolos disponibles), haz clic con el botón derecho en «Download config» (Descargar configuración) para «OpenVPN TCP» o «OpenVPN UDP» y elige «Copy link address» (Copiar dirección del enlace).

    Después, vuelve a tu sesión SSH y ejecuta el siguiente comando:

    wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn


    No obstante, usa el enlace que has copiado para el archivo específico de tu servidor. Este comando descargará el archivo de configuración en el directorio /etc/openvpn para que puedas acceder a él fácilmente.

    También puedes descargar el archivo de configuración del servidor en otro equipo y transferirlo al router OpenWrt usando métodos alternativos, como los protocolos SCP o SFTP.

    Para versiones anteriores de OpenWrt:
    Puedes descargar un archivo aquí: https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. En el archivo descargado encontrarás los ficheros correspondientes con extensiones .crt y .key. Los archivos son específicos para cada servidor VPN.
     

  2. La configuración de OpenVPN para NordVPN requiere que escribas tus credenciales del servicio de NordVPN (nombre de usuario y contraseña) cada vez que se inicia OpenVPN. Sin embargo, haremos algunos ajustes para que las credenciales se proporcionen de forma automática.

    En primer lugar, para facilitar el proceso, instalaremos el editor de texto nano ejecutando el siguiente comando:

    opkg install nano

    También puedes utilizar el editor de texto integrado vi. Para obtener más información sobre los editores de texto, consulta este artículo.

    Ahora abre el archivo de configuración del servidor que has descargado con el editor de texto nano. En nuestro caso, el comando sería:

    nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn

    A continuación, añade la palabra «secret» (sin comillas) a la cadena «auth-user-pass». La línea resultante debería ser:

    auth-user-pass secret

    Tienes que crear un nuevo archivo secreto para guardar las credenciales de servicio de NordVPN. Para ello, ejecuta el siguiente comando:

    nano /etc/openvpn/secret

    A continuación, se creará el nuevo archivo y se abrirá con el editor de texto nano.

    En la primera línea del archivo, escribe tu nombre de usuario del servicio de NordVPN y, en la segunda, la contraseña.

    Puedes encontrar tus credenciales de servicio de NordVPN (nombre de usuario y contraseña) en el panel de control de tu Nord Account.

  3. Configura OpenVPN con el archivo de configuración descargado de una de las dos maneras siguientes:
     
    1. Cambia la extensión del archivo de .ovpn a .conf, para que OpenVPN lo encuentre automáticamente por su extensión.

      Para hacerlo, puedes utilizar el comando mv:

      mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf

       

    2. Especifica el nombre del archivo en «/etc/config/openvpn» utilizando los siguientes comandos «uci»:

      uci set openvpn.nordvpn=openvpn
      			uci set openvpn.nordvpn.enabled='1'
      			uci set openvpn.nordvpn.config='/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
      			uci commit openvpn

      Una vez que lo hayas hecho, el archivo «/etc/config/openvpn» debe contener las siguientes cadenas añadidas:

      config openvpn 'nordvpn'
      			option enabled '1'
      			option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'

      Compruébalo ejecutando este comando:

      tail /etc/config/openvpn

      También puedes cambiar la extensión del archivo de .ovpn a .conf y especificarlo en el archivo «/etc/config/openvpn». Sin embargo, en ese caso, OpenVPN solo se iniciará con este archivo de configuración una vez.
       

  4. Crea una nueva interfaz de red ejecutando los siguientes comandos:

    uci set network.nordvpntun=interface
    			uci set network.nordvpntun.proto='none'
    			uci set network.nordvpntun.ifname='tun0'
    			uci commit network

    El archivo «/etc/config/network» contendrá ahora las siguientes cadenas añadidas:

    config interface 'nordvpntun'
    			option proto 'none'
    			option ifname 'tun0'

    Compruébalo ejecutando este comando:

     tail /etc/config/network 
  5. Ejecuta los siguientes comandos para crear una nueva zona de firewall y añadir una regla de reenvío de LAN a la VPN:

    uci add firewall zone
    			uci set firewall.@zone[-1].name='vpnfirewall'
    			uci set firewall.@zone[-1].input='REJECT'
    			uci set firewall.@zone[-1].output='ACCEPT'
    			uci set firewall.@zone[-1].forward='REJECT'
    			uci set firewall.@zone[-1].masq='1'
    			uci set firewall.@zone[-1].mtu_fix='1'
    			uci add_list firewall.@zone[-1].network='nordvpntun'
    			uci add firewall forwarding
    			uci set firewall.@forwarding[-1].src='lan'
    			uci set firewall.@forwarding[-1].dest='vpnfirewall'
    			uci commit firewall

    Si se ha hecho correctamente, el archivo «/etc/config/firewall» debe contener las siguientes cadenas añadidas:

    config zone
    			option name 'vpnfirewall'
    			option input 'REJECT'
    			option output 'ACCEPT'
    			option forward 'REJECT'
    			option masq '1'
    			option mtu_fix '1'
    			list network 'nordvpntun'
    			config forwarding
    			option src 'lan'
    			option dest 'vpnfirewall'

    Compruébalo ejecutando este comando:

    tail -13 /etc/config/firewall

    Verás las últimas 13 líneas, que deberían contener las cadenas mencionadas.

  6. Ahora tienes que configurar los servidores DNS. La forma más sencilla es usar el DNS de NordVPN para la interfaz WAN del router. Ejecuta los siguientes comando para añadirlo:

    uci set network.wan.peerdns='0'
    			uci del network.wan.dns
    			uci add_list network.wan.dns='103.86.96.100'
    			uci add_list network.wan.dns='103.86.99.100'
    			uci commit


    NOTA: Si te aparece el mensaje de error «uci: Entry not found» después de ejecutar el comando uci del network.wan.dns, puedes ignorarlo.

    El archivo «/etc/config/network» debería contener la sección «wan» con las tres cadenas que se indican a continuación añadidas al final:

    config interface 'wan'
    			<...>
    			option peerdns '0'
    			list dns '103.86.96.100'
    			list dns '103.86.99.100'


    Puedes comprobarlo ejecutando el comando y buscando la interfaz «wan» en el resultado:

    cat /etc/config/network 

    También puedes añadir diferentes direcciones DNS, como las de Google, ejecutando estos comandos:

    uci set network.wan.peerdns='0'
    			uci del network.wan.dns
    			uci add_list network.wan.dns='8.8.8.8'
    			uci add_list network.wan.dns='8.8.4.4'
    			uci commit

    Las cadenas añadidas deberían ser similares a las anteriores.
     

(Opcional) Kill Switch para OpenWRT 22.02 o versiones anteriores (iptables)

Para evitar la fuga de tráfico en caso de que el túnel VPN se desconecte, sigue estos pasos:

  1. Abre el archivo del firewall con un editor de texto:

    sudo nano /etc/firewall.user
  2. Añade el siguiente contenido:

    # Este archivo se interpreta como un Shell Script.
    			# Put your custom iptables rules here, and they will be executed with each firewall (re-)start
    			# Internal uci firewall chains are flushed and recreated on reload, so
    			# put custom rules into the root chains, e.g. INPUT or FORWARD, or into the
    			# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
    
    			if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then
    
    			iptables -I forwarding_rule -j REJECT
    
    			fi
  3. Crea un archivo llamado «99-prevent-leak» en la carpeta «/etc/hotplug.d/iface» ejecutando este comando:

    nano /etc/hotplug.d/iface/99-prevent-leak
  4. Añade el siguiente contenido al script:
     

    #!/bin/sh
    
    			if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (iptables -C forwarding_rule -j REJECT); then
    
    			iptables -D forwarding_rule -j REJECT
    
    			fi
    
    			if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then
    
    			iptables -I forwarding_rule -j REJECT
    
    			fi

(Opcional) Kill Switch para OpenWRT 22.03 o versiones posteriores (nftables)

Sigue estos pasos para evitar fugas de tráfico si el túnel VPN no funciona.

  1. Edita el archivo de reglas personalizadas del firewall:

    sudo nano /etc/firewall.user
  2. Escribe esta función:

    # when tun0 interface is down and within nftables no chain "forwarding_rule" exists, then do the following.
    			if (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule; then
    			# add new chain named forwarding_rule
    			   nft add chain inet fw4 forwarding_rule
    			# add rule within chain forward to jump to chain forwarding_rule
    			   nft add rule inet fw4 forward jump forwarding_rule
    
    			# add rule within chain forward_rule to reject all traffic
    			   nft add rule inet fw4 forwarding_rule reject
    			fi
  3.  A continuación, tienes que crear un script hotplug para activar el interruptor de corte automáticamente:

    sudo nano /etc/hotplug.d/iface/99-prevent-leak
  4. Escribe el siguiente contenido en el script:

    #!/bin/sh
    
    			# if action ifup is triggered, interface tun0 is up and the nftables chain "forwarding_rule" contains text "reject", then flush that chain in order to allow traffic.
    			if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then
    			nft flush chain inet fw4 forwarding_rule
    			fi
    
    
    			# if action ifdown is triggered, interface tun0 is not up and the nftables chain "forwarding_rule" does not contain text "reject", then add a rule to that chain in order to reject all traffic.
    			if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then
    			nft add rule inet fw4 forwarding_rule reject
    			fi

Script de reconexión automática

En algunos casos, la conexión OpenVPN puede bloquearse con una salida de registro similar a «No se pudo resolver el host…» (couldn’t resolve host…). En este caso, el túnel VPN permanece, pero se pierde la conexión. Para crear un script que vuelva a conectarse a él de forma automática, sigue estos pasos:

  1. Abre el archivo «/etc/rc.local» con un editor de texto:

    sudo nano /etc/rc.local
  2. Añade la siguiente línea:

    /etc/openvpn/reconnect.sh &
  3. Crea el archivo «reconnect.sh» en el directorio «/etc/openvpn» ejecutando este comando:

    sudo nano /etc/openvpn/reconnect.sh
  4. Introduce el siguiente script en el archivo:

    #!/bin/sh
    
    			n=10
    
    			while sleep 50; do
    
    			t=$(ping -c $n 8.8.8.8 | grep -o -E '[0-9]+ packets r' | grep -o -E '[0-9]+')
    
    			if [ "$t" -eq 0 ]; then
    
    			/etc/init.d/openvpn restart
    
    			fi
    
    			done

Estado de la conexión

Una vez que hayas seguido estas instrucciones, el router debería conectarse mediante la conexión configurada.Para comprobar si lo has hecho bien, visita la página de inicio de NordVPN: el estado que aparece en la parte superior de la página debería indicar «Protected» (Protegido).

Si quieres desconectar la conexión VPN, haz clic en el botón Stop (Detener) situado junto a la opción NordVPN en la sección VPN > OpenVPN > OpenVPN instances (Instancias de OpenVPN) si has seguido los pasos de la interfaz gráfica de usuario (GUI). Sin embargo, si quieres desconectar la conexión VPN, ejecuta el siguiente comando:

service openvpn stop
¿Te ha resultado útil este artículo?

¿Sigues teniendo problemas?

  • Chat en tiempo real

  • Formulario de correo electrónico

Al hacer clic en "Chatear con el equipo de asistencia", aceptas nuestros Términos de servicio y reconoces nuestra Política de privacidad. La funcionalidad del chat se basa en las cookies. Al iniciar el chat, aceptas su uso. Más información en nuestra Política de cookies.