¿En qué podemos ayudarte?

Temas

Configurar OpenWrt con NordVPN

¿NordVPN es compatible con OpenWrt?

Los routers con firmware OpenWRT son compatibles con VPN como NordVPN. Sin embargo, ten en cuenta que el personal de NordVPN no ha probado la siguiente configuración: ha sido compartida y probada por nuestros maravillosos clientes. En particular, NordVPN quiere dar las gracias a ulmwind, miembro activo de la comunidad OpenWRT, por ayudarnos siempre a la hora de proporcionarnos instrucciones actualizadas de OpenWRT.

Este artículo incluye dos guías de configuración de OpenWrt:

Si tienes algún problema, ¡no dudes en ponerte en contacto con nuestro equipo de asistencia! Aunque este es un tutorial avanzado, también proporciona algunas instrucciones más sencillas.

Instrucciones GUI

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

  1. Accede a la interfaz LuCI de tu router OpenWrt introduciendo su dirección IP local en tu navegador de internet e inicia sesión. Por defecto, la dirección IP es 192.168.1.1 y el nombre de usuario es root.

    1 (8).png

    Por defecto, no hay ninguna contraseña configurada. Puedes dejar este espacio en blanco, sin embargo, cuando inicies sesión, recibirás un mensaje para establecer una contraseña.
    image__17_.png

    Para establecer una contraseña, haz clic en Sistema (system) > Administración (administration).
  2. Después de iniciar sesión, selecciona la pestaña Sistema (system) y elige Software.

    2 (10).png

  3. Pulsa el botón «Actualizar listas (update lists)» y espera a que termine el proceso y luego haz clic en «Rechazar (dismiss)».
  4. Instala los siguientes paquetes escribiendo su nombre en el campo «Filtro (filter)» y haciendo clic en «Instalar…».
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn

      3 (7).png

      \
      
    
  5. Haz clic en «Guardar y aplicar (save & apply)» y actualiza la página del router. Ahora deberías ver una nueva pestaña con el nombre VPN. Haz clic en ella y en el menú desplegable elige OpenVPN.
  6. Ahora debes descargar los archivos de configuración del cliente OpenVPN. Puedes conectarte a  un servidor recomendado a través de tu NordAccount.

Sigue los pasos a continuación para encontrar los archivos de configuración de conexión manual:

  1. Inicia sesión en tu Nord Account y haz clic en NordVPN.



  2. Desplázate hasta Configuración avanzada (advanced settings) y haz clic en Configurar NordVPN manualmente (set up NordVPN manually).



  3. Selecciona la pestaña Archivos de configuración de OpenVPN (OpenVPN configuration files).



  4. Encuentra el servidor al que deseas conectarte usando la barra de Búsqueda o desplazándote hacia abajo y descárgalo haciendo clic en Descargar UDP (download UDP) o Descargar TCP (download TCP).



  5. Cuando te conectes a OpenVPN e IKEv2 manualmente, vas a tener que usar el Nombre de usuario (Username) y Contraseña (Password) de la pestaña Credenciales del servicio (service credentials).



Para fines de esta guía, usaremos el servidor us5104.nordvpn.com.

  1. En la sección «Carga del archivo de configuración OVPN (OVPN configuration file upload)», da un nombre a la conexión VPN en el campo «Instancia de nombre (instance name)» (nosotros la hemos llamado «nordvpn_us».) A continuación, haz clic en el botón «Seleccionar archivo (choose file)», localiza el archivo del servidor descargado y haz clic en «Cargar (upload)».

    5 (1).png

  2. En la sección «Instancias OpenVPN (OpenVPN instances)», haz clic en el botón «Editar (edit)» situado junto a la instancia que acabas de crear.

    7 (2).png

  3. En el campo inferior, introduce tu nombre de usuario y contraseña de las credenciales del servicio de NordVPN en líneas separadas. username
    password

    9.png

    Encontrarás tus credenciales del servicio de NordVPN (el nombre de usuario y la contraseña) en el panel de control de Nord Account:

Sigue los pasos a continuación para encontrar las credenciales del servicio para la configuración manual de la conexión:

  1. Inicia sesión en tu Nord Account, haz clic en NordVPN, y, en Configuración manual, haz clic en credenciales del servicio (service credentials). Aquí encontrarás el nombre de usuario y contraseña necesarios para conectarte manualmente.



  2. Ahora, copia la ruta al archivo de credenciales que aparece justo encima del campo que contiene las credenciales y pégalo junto a la línea «auth-user-pass» en la sección «Archivo de configuración (config file)» anterior.
Deberías verlo así: auth-user-pass /etc/openvpn/nordvpn\_us.auth  


11.png

  1. Haz clic en el botón Guardar (save) en la parte inferior.
  2. Haz clic en la pestaña «Red (network)» en la parte superior de la página y elige «Interfaces (interfaces)».
  3. Haz clic en «Añadir nueva interfaz (add new interface)…» y nómbrala «nordvpntun».
  4. En el menú desplegable, haz clic en «Protocolo (protocol)» y elige «No gestionado (unmanaged)».
  5. En el menú desplegable «Interfaz (interface)», introduce el nombre «tun0» en el campo inferior -- personalizado -- y pulsa la tecla «Enter».

    13.png

  1. Haz clic en los botones «Crear interfaz (create interface)» y «Guardar (save)».
  2. Vuelve a elegir la pestaña «Red (network)» en la parte superior y dirígete a la sección «Firewall».
  3. Haz clic en «Añadir (add)» y lleva a cabo los siguientes ajustes:
    1. Nómbralo como «vpnfirewall»;
    2. Configura la opción «Entrada (input)» como «Rechazar»;
    3. Deja «Salida (output)» como «Aceptar (accept)» y «Reenviar» como «Rechazar»;
    4. Marca la opción «Enmascaramiento (masquerading)»;
    5. Marca la opción «Fijación de MSS (MSS clamping)»;
    6. En el menú desplegable «Redes cubiertas (covered networks)», selecciona «nordvpntun»;
    7. En el menú desplegable «Permitir el reenvío desde zonas de origen (allow forward from source zones)», elige «lan»;
    8. Haz clic en el botón «Guardar (save)».

      15.png

  1. En la sección «Zonas (zones)», busca la zona denominada «lan» y pulsa el botón «Editar (edit)».

    16.png

  1. En el menú desplegable «Permitir reenvío a zonas de destino (allow forward to destination zones)» marca la entrada «nordvpntun».

    18.png

  1. Vuelve a hacer clic en «Red (network)» en la parte superior de la página y, a continuación, elige «DHCP y DNS» en la lista desplegable.
  2. En la pestaña «Ajustes generales (general settings)», busca la opción «Reenvío de DNS (DNS forwardings)» e introduce allí las direcciones DNS de NordVPN. Estas son las direcciones: 103.86.96.100 y 103.86.99.100

    20.png

  1. Ve a la pestaña «Archivos de resolución y hosts (resolv and hosts files)», marca la casilla «Ignorar archivo de resolución (ignore resolve file)» y haz clic en el botón «Guardar y aplicar (save and apply)».

    21.png

  1. Por último, vuelve a la pestaña «VPN» > «OpenVPN».
  2. En la sección «Instancias OpenVPN (OpenVPN instances)», marca la opción «Habilitar (enable)» junto a la opción NordVPN de la lista y haz clic en el botón «Guardar y aplicar (save and apply)».

    23.png

  1. Haz clic en el botón «Iniciar (start)» situado junto a la instancia de NordVPN creada para conectarte al servidor VPN.

Después de haber seguido estas instrucciones, deberías tener conexión utilizando la conexión configurada. Para comprobar si se ha realizado con éxito, visita la página principal de NordVPN: el estado en la parte superior de la página debe mostrarse como «Protegido (protected)»

Si deseas desconectar la conexión VPN, puedes hacer clic en el botón «Parar (stop)» situado junto a la opción NordVPN en el menú «VPN» > «OpenVPN» > «OpenVPN» > «Instancias OpenVPN (OpenVPN instances)».

Instrucciones 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. Para empezar, necesitarás acceder a tu router a través de SSH usando tu dirección IP LAN. Por defecto, la dirección IP está configurada a 192.168.1.1 y el nombre de usuario es root (raíz), sin embargo, la dirección IP puede ser distinta si has cambiado alguno de los valores por defecto.
  2. Por defecto, el paquete OpenVPN no está incluido en la imagen del firmware. 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 los pasos a continuación para encontrar los archivos de configuración de conexión manual:

  1. Inicia sesión en tu Nord Account y haz clic en NordVPN.



  2. Desplázate hasta Configuración avanzada (advanced settings) y haz clic en Configurar NordVPN manualmente (set up NordVPN manually).



  3. Selecciona la pestaña Archivos de configuración de OpenVPN (OpenVPN configuration files).



  4. Encuentra el servidor al que deseas conectarte usando la barra de Búsqueda o desplazándote hacia abajo y descárgalo haciendo clic en Descargar UDP (download UDP) o Descargar TCP (download TCP).



  5. Cuando te conectes a OpenVPN e IKEv2 manualmente, vas a tener que usar el Nombre de usuario (Username) y la Contraseña (Password) de la pestaña Credenciales del servicio (service credentials).



  6. Para esta guía, hemos utilizado el servidor uk2054.nordvpn.com, sin embargo, deberías utilizar el servidor que el sitio web te sugiera. Para descargar un archivo de servidor, elige el país donde quieres conectarte, haz clic en «Mostrar protocolos disponibles (show available protocols)», haz clic con el botón derecho del ratón en «Descargar config (download config)» para «OpenVPN TCP» u «OpenVPN UDP» y selecciona «Copiar dirección de enlace (copy link address)». 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, verifica que estás usando el enlace que has copiado para el archivo específico de tu servidor. Este comando descargará el archivo de configuración al directorio /etc/openvpn para facilitar el acceso. También puedes descargar el archivo de configuración del servidor en un dispositivo diferente y transferirlo al router OpenWrt con 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.
  7. La configuración de OpenVPN para NordVPN requiere que introduzcas tus credenciales del servicio de NordVPN (tu nombre de usuario y contraseña) cada vez que se inicia OpenVPN. Sin embargo, realizaremos 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 este comando: opkg install nano También puedes utilizar el editor de texto integrado vi. Para más información sobre editores de texto, consulta este artículo: https://openwrt.org/docs/guide-user/base-system/user.beginner.cli. Ahora abre el archivo de configuración del servidor 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 Ahora debemos crear un nuevo archivo llamado «secret», donde se almacenarán las credenciales del servicio de NordVPN. Para ello, ejecuta el siguiente comando: nano /etc/openvpn/secret Creará el nuevo archivo y lo abrirá utilizando el editor de texto nano. En la primera línea del archivo introduce tu nombre de usuario del servicio de NordVPN y, en la segunda, tu contraseña. Encontrarás tus credenciales del servicio de NordVPN (el nombre de usuario y la contraseña) en el panel de control de Nord Account.

Sigue los pasos a continuación para encontrar las credenciales del servicio para la configuración manual de la conexión:

  1. Inicia sesión en tu Nord Account, haz clic en NordVPN, y, en Configuración manual, haz clic en credenciales del servicio (service credentials). Aquí encontrarás el nombre de usuario y contraseña necesarios para conectarte manualmente.



  2. 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, lo que permitirá a OpenVPN encontrarlo automáticamente por su extensión. Para ello puedes usar 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 Después de eso, el archivo «/etc/config/openvpn» debe contener las siguientes cadenas de comandos: 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 se iniciará con este archivo de configuración solo una vez.\
      
    
  3. 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 Si todo se ha hecho correctamente, el archivo «/etc/config/network» debería contener las siguientes cadenas de comandos: config interface 'nordvpntun'
    option proto 'none'
    option ifname 'tun0' Para comprobarlo, utiliza el comando tail /etc/config/network.
  4. Ejecuta los siguientes comandos para crear una nueva zona de cortafuegos 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 de comandos: 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' Puedes comprobarlo ejecutando el comando tail -13 /etc/config/firewall. Verás las últimas 13 líneas, que deberían contener las cadenas mencionadas.
  5. Ahora tienes que configurar los servidores DNS. El enfoque más sencillo es usar NordVPN DNS para la interfaz WAN del router. Ejecuta el siguiente comando para añadir NordVPN DNS:
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  
  
_Si recibes el mensaje de error «__uci: Entry not found (uci: Entrada no encontrada)__» después de ejecutar el_ comando_uci del network.wan.dns_, puedes ignorarlo_  
  
El archivo «/etc/config/network» debe contener la sección «wan» con las últimas tres cadenas de comandos:  
  
config interface 'wan'  
<...>  
option peerdns '0'  
list dns '103.86.96.100'  
list dns '103.86.99.100'  
  
Puedes comprobarlo ejecutando el comando cat /etc/config/network y encontrando la interfaz «wan» en la salida.  
  
También puedes añadir diferentes direcciones DNS, como la de Google, ejecutando los siguientes 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 de comandos deben ser similares a las anteriores.  
 

(Opcional): para evitar la fuga de tráfico en caso de que el túnel VPN se desconecte, puedes abrir el archivo «/etc/firewall.user» con un editor de texto y añadirle el siguiente contenido:

# Este archivo se interpreta como un Shell Script.

# Pon aquí tus reglas iptables personalizadas, y se ejecutarán con cada (re)inicio del cortafuegos

# Las cadenas internas del cortafuegos uci se vacían y se vuelven a crear al recargar, por lo que

# pon reglas personalizadas en las cadenas raíz, por ejemplo, «INPUT» o «FORWARD», o en las

# cadenas de usuarios especiales, por ejemplo input_wan_rule o postrouting_lan_rule.

if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); después

iptables -I forwarding_rule -j REJECT

fi

Además, debes crear un archivo llamado «99-prevent-leak» en la carpeta «/etc/hotplug.d/iface» ejecutando nano /etc/hotplug.d/iface/99-prevent-leak y añadiendo el siguiente contenido al archivo:

#!/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); después

iptables -I forwarding_rule -j REJECT

fi

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 en sí permanece, sin embargo, se pierde la conexión. Para volver a conectarte automáticamente, abre primero el archivo «/etc/rc.local» con un editor de texto y añade la siguiente línea:

/etc/openvpn/reconnect.sh &

Además, necesitas crear el archivo «reconnect.sh» en el directorio «/etc/openvpn». Puedes hacerlo ejecutando el comando nano /etc/openvpn/reconnect.sh.

En el archivo, introduce el siguiente contenido de script:

#!/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

Después de haber seguido estas instrucciones, deberías tener conexión utilizando la conexión configurada. Para comprobar si se ha realizado con éxito, visita la página principal de NordVPN: el estado en la parte superior de la página debe mostrarse como «Protegido (protected)».

Si deseas desconectar la conexión VPN, ejecuta el siguiente comando:

service openvpn stop

También disponible en: Dansk, Deutsch, English, Français, Italiano, 日本語, 한국어, Nederlands, Norsk, Polski, Português Brasileiro, Svenska, 繁體中文
¿Te ha resultado útil este artículo?
¡Gracias!