DD-WRT es un firmware de código abierto para una amplia gama de enrutadores. Muchos enrutadores tienen muchas capacidades a las que los proveedores no proporcionan acceso a través de la interfaz administrativa del enrutador. El firmware DD-WRT desbloquea todo lo que su enrutador es capaz de hacer, incluso convertirse en un cliente OpenVPN y / o servidor OpenVPN.
Ver también: Las mejores VPN para enrutadores DD-WRT.
¿Dónde consigo un enrutador DD-WRT??
Linksys produjo los enrutadores WRT originales. El firmware de código abierto DD-WRT de hoy se basa en el firmware Linksys WRT desarrollado para su serie de enrutadores WRT54G. La parte “DD” de DD-WRT es una sugerencia para el código de matrícula de la ciudad de Dresden, Alemania, donde vive el principal responsable del proyecto DD-WRT.
Hoy en día, es posible comprar enrutadores que ya ejecutan DD-WRT de Linksys y otros fabricantes de enrutadores. También es posible instalar DD-WRT en muchas otras marcas de enrutadores que vienen con firmware propietario instalado. Por ejemplo, mi enrutador es un ArcherC9 TP-Link c1900 que viene con el firmware TP-Link. Lo flasheé con el firmware DD-WRT apropiado y ahora es un enrutador DD-WRT.
¿Por qué instalar OpenVPN en su enrutador??
Su enrutador como cliente OpenVPN
Dado que hay una aplicación cliente OpenVPN para casi todas las computadoras, tabletas y teléfonos en el mercado, no siempre es obvio por qué instalar OpenVPN en su enrutador puede ser una ventaja.
Conectar su enrutador directamente a su proveedor de VPN significa que no necesariamente tiene que ejecutar el software de VPN en ninguno de sus dispositivos. Esperemos que esté utilizando WPA2 o algún nivel de cifrado equivalente en su red interna, por lo que es razonable suponer que el tráfico está algo protegido de miradas indiscretas. Pero una vez que su tráfico llega al enrutador, pasa a través de la red de su ISP a su destino. La configuración de su enrutador como un cliente VPN garantiza que el tráfico que sale de su enrutador esté encriptado a medida que pasa a través de su ISP hasta que alcanza el punto de salida de VPN en Internet público.
Las ventajas de ejecutar un cliente VPN en su enrutador incluyen:
- Solo se necesita una conexión al servidor VPN. Esto puede ayudar a evitar los límites de conexión establecidos por algunos proveedores de VPN.
- Muchos dispositivos, como los televisores Apple, no tienen una manera fácil de instalar el software VPN. Al hacer que el software VPN se ejecute en su enrutador, todo el tráfico de su red pasa a través de la VPN sin problemas.
- La VPN siempre está encendida para que no tenga que acordarse de iniciarla cuando quiera usarla..
Su enrutador como servidor OpenVPN
Convertir su enrutador en un servidor OpenVPN significa que podrá acceder a su red doméstica desde el exterior. Si está de viaje pero necesita acceder a documentos u otras computadoras en sus redes internas, puede iniciar un cliente OpenVPN, conectarse al servidor OpenVPN de su enrutador y ya está.
¿Cómo convierto mi enrutador DD-WRT en un cliente OpenVPN??
El firmware DD-WRT lo hace muy fácil, ya que admite VPN de estilo OpenVPN y PPTP. PPTP es un protocolo VPN muy inseguro, por lo que recomendamos OpenVPN sobre PPTP.
Ver también: Nuestra hoja de trucos de protocolos VPN.
Inicie sesión en su enrutador. La dirección de inicio de sesión de la interfaz administrativa DD-WRT suele ser 192.168.0.1, pero es posible que haya configurado su red de manera diferente. Una vez que esté dentro, navegue hasta Servicios pestaña, luego a la VPN lengüeta.
Vamos a configurar la función de cliente OpenVPN del enrutador. Lo primero que necesitará es un servidor OpenVPN para conectarse. Es posible que haya creado su propio servidor OpenVPN o que esté utilizando un proveedor de VPN que sea compatible con OpenVPN. Usaré ProtonVPN para este artículo, pero aparte de obtener la configuración de OpenVPN de Proton, no debería haber una diferencia significativa en la configuración de diferentes proveedores.
Habilite la configuración del cliente OpenVPN
Haga clic en el Habilitar botón de opción para expandir la configuración del cliente.
La mayoría de los proveedores de VPN que usan OpenVPN le proporcionarán un archivo de configuración para que lo use. En algunos casos, también necesitará un nombre de usuario y contraseña. El contenido de cualquier archivo de configuración de OpenVPN puede diferir. Sería útil si la interfaz DD-WRT tuviera una función de importación, pero dado que no es así, debemos tratar de identificar qué partes del archivo de configuración deben ir a cada campo.
Mi archivo de configuración de ProtonVPN tiene algunas configuraciones al inicio y luego algunos archivos de certificado al final. En esta captura de pantalla he indicado las pocas configuraciones que necesitará configurar manualmente en su enrutador DD-WRT:
En el caso de ProtonVPN, también necesito ingresar mi nombre de usuario y contraseña en los campos apropiados.
La configuración restante debe copiarse y pegarse en el campo Configuración adicional del enrutador DD-WRT.
En este punto, queremos guardar nuestra configuración haciendo clic en el Salvar botón en la parte inferior de la página. Las personas conscientes de la seguridad querrán trabajar un poco más en la configuración de DNS del enrutador antes de activar la VPN, por eso no elijo hacer clic en el Aplicar configuraciones botón todavía.
Configura tu DNS
Cuando una VPN está activa, todo su tráfico pasa a través de ella, encriptada, más allá de las miradas indiscretas de su red local y su ISP. Sin embargo, para llegar a cualquier lugar en Internet, su computadora necesita realizar búsquedas de DNS. Las búsquedas DNS resuelven los nombres de dominio del sitio como example.com a una dirección IP que la computadora puede usar. Si bien esas búsquedas de DNS no contienen información real sobre lo que está haciendo en un sitio determinado, pueden proporcionarle al observador una lista completa de cada sitio que su computadora ha buscado y probablemente visitado.
Algunas VPN proporcionan servicios DNS además de su VPN, pero también puede configurar su enrutador para que use servidores DNS más anónimos haciendo un cambio rápido de configuración.
Navega hasta el Preparar -> Configuración básica pestaña e ingrese los servidores DNS que prefiere usar en los campos DNS estáticos. Este ejemplo muestra los servidores DNS.WATCH.
Haga clic en el Aplicar configuraciones botón. Ahora puede iniciar la VPN. Volver a la Servicios -> VPN pestaña y haga clic en el Aplicar configuraciones botón. Navega hasta el Estado -> OpenVPN pestaña y debería ver el mensaje alentador Cliente: ÉXITO CONECTADO en la parte superior. Tenga en cuenta que la pestaña de estado OpenVPN no existe hasta que se habilita el servicio OpenVPN.
Su enrutador ahora envía todo el tráfico desde sus dispositivos conectados a través de la VPN.
Puede confirmar que su configuración de DNS funciona utilizando nuestra Prueba de fuga de DNS.
Para deshabilitar la VPN, vuelva a la pestaña OpenVPN, haga clic en Inhabilitar botón de radio y luego haga clic en el Aplicar configuraciones botón en la parte inferior. El panel de configuración de OpenVPN se contraerá cuando lo desactive, pero su configuración permanecerá en su lugar la próxima vez que lo habilite.
¿Cómo convierto mi enrutador DD-WRT en un servidor OpenVPN??
El primer paso es generar algunos certificados y claves para que los use el servidor OpenVPN. La forma más fácil de hacer esto es instalar OpenVPN en su computadora y usar sus utilidades para generar los archivos necesarios. Encuentre instrucciones sobre cómo hacer eso para los sistemas Windows en el sitio OpenVPN. Los usuarios de Linux pueden usar los siguientes comandos. Si está interesado en obtener más información sobre la configuración completa, tengo un artículo de configuración de Linux OpenVPN más completo aquí. Tenga en cuenta que aunque esta vez no estamos instalando un servidor OpenVPN (el enrutador será el servidor), aún tenemos que hacer algo del mismo trabajo para generar certificados.
Para Ubuntu y otros usuarios basados en Debian, instale openvpn y los paquetes easy-rsa:
sudo apt-get intstall openvpn easy-rsa
Deberá usar yum o un administrador de paquetes similar para las distribuciones basadas en RedHat. Los nombres de los paquetes deben ser iguales o muy similares..
Crea un directorio para trabajar, estoy llamando al mío openvpn
mkdir openvpn; cd openvpn
Ahora ejecute los comandos de generación de certificados. Pegue estos exactamente incluyendo los puntos:
/ usr / bin / make-cadir CA
cd CA
fuente ./vars
./Limpiar todo
./build-ca
./build-key-server server
./build-dh
./build-key client
claves de cd; openvpn –genkey –secret pfs.key
Tenga en cuenta que algunos de los comandos solicitarán que se incorpore información de ubicación en el certificado. Está bien dejar los valores predeterminados y tal vez incluso deseable ya que cualquier persona puede leer esa información. Si desea personalizarlo por algún motivo, puede actualizar las líneas 64 a 69 del archivo CA / vars con la información de ubicación que prefiere usar. Los valores predeterminados son:
export KEY_COUNTRY ="NOSOTROS"
export KEY_PROVINCE ="California"
export KEY_CITY ="San Francisco"
exportar KEY_ORG ="Fort-Funston"
export KEY_EMAIL ="[email protected]"
export KEY_OU ="MyOrganizationalUnit"
Al final de las dos secuencias de generación de claves, se le pedirá que proporcione una frase de contraseña de desafío. No proporcione esto para la clave del servidor porque evitará que OpenVPN pueda iniciarse sin supervisión. También es posible que desee dejar la clave del cliente sin una contraseña porque algunos clientes de OpenVPN no tienen una forma de proporcionarla en el momento de la conexión. Para pasar esas indicaciones sin proporcionar una contraseña, simplemente presione la tecla Intro.
Tenga en cuenta que el último comando es opcional pero deseable. Es la clave que le permitirá a su enrutador proporcionar Perfect Forward Secrecy (PFS). PFS permite que su conexión VPN negocie periódicamente una nueva clave estática durante su sesión. Esto proporciona seguridad adicional en caso de que sus claves privadas se vean comprometidas. Sin PFS, cualquier persona con su clave privada puede descifrar todas sus conexiones VPN anteriores. Con PFS eso no es posible porque la clave cambia periódicamente y la clave reemplazada desaparece en una nube de humo.
En este punto, ahora debería tener un montón de archivos de claves y certificados en el directorio CA / keys:
$ ls -1 CA / teclas /
01.pem
02.pem
ca.crt
ca.key
cliente.crt
client.csr
cliente.key
dh2048.pem
index.txt
index.txt.attr
index.txt.attr.old
index.txt.old
de serie
serial.old
server.crt
server.csr
server.key
pfs.key
Solo necesitamos algunos de estos. Abra los siguientes archivos en un editor de texto como el bloc de notas o vi. No utilice ningún tipo de procesador de textos.. Copie los valores y péguelos en el campo correspondiente de la página DD-WRT OpenVPN Server / Daemon. En la interfaz de administrador del enrutador, navegue hasta Servicios -> VPN y haga clic en el botón de radio Activar en la sección Servidor / Daemon de OpenVPN.
- Pegue el ca.crt en el campo CA Cert
- Pegue el server.crt en el campo Public Server Cert
- Pegue la clave server.key en el campo Clave del servidor privado
- Pegue dh2048.pem en el campo DH PEM
- Pegue la clave pfs.key en la clave de autenticación TLS (suponiendo que haya creado esta clave)
Si eres especialmente paranoico, puedes especificar una Lista de revocación de certificados. Esto le indicará al servidor OpenVPN que verifique la lista de revocación antes de aceptar cualquier certificado de un cliente que se conecta. La configuración y el uso de una CRL es poco avanzada para este artículo.
Haga clic en el Aplicar configuraciones botón y tu servidor VPN debería iniciarse. Puedes visitar el Estado-> OpenVPN página para ver el estado de la conexión. Tenga en cuenta que esta vez, el mensaje dice Servidor: ÉXITO CONECTADO en lugar de Cliente: ÉXITO CONECTADO que vio cuando el cliente se estaba ejecutando.
El siguiente paso es generar un archivo de configuración del cliente que pueda usar en sus dispositivos para conectarse a su nuevo servidor OpenVPN. Es importante que ciertas configuraciones en cada lado (cliente / servidor) se complementen entre sí. Terminé con una configuración de cliente que se ve así:
cliente
Dev Tun
proto udp
control remoto YOUR_IP_ADDRESS 1194
cifra AES-256-CBC
tls-cifrado TLS-DHE-RSA-WITH-AES-256-CBC-SHA
auth sha256
comp-lzo
link-mtu 1570
—– COMIENCE LA CLAVE PRIVADA —–
Copie el contenido de su archivo client.key y péguelo aquí.
—– FINALIZAR CLAVE PRIVADA —–
—– COMIENCE EL CERTIFICADO —–
Copie el contenido de su archivo client.crt y péguelo aquí.
—– FINALIZAR CERTIFICADO —–
—– COMIENCE EL CERTIFICADO —–
Copie el contenido de su archivo ca.crt y péguelo aquí.
—– FINALIZAR CERTIFICADO —–
dirección clave 1
Copie el contenido de su archivo pfs.key y péguelo aquí
Luego lancé mi cliente openvpn y se conectó:
$ sudo openvpn –config client-config.ovpn
Sáb 23 sep 16:05:05 2023 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] construido el 22 de junio de 2023
Sáb 23 sep 16:05:05 versiones de la biblioteca 2023: OpenSSL 1.0.2g 1 mar 2016, LZO 2.08
Sáb 23 sep 16:05:05 Autenticación de canal de control 2023: tls-auth usando el archivo de clave estática INLINE
Sáb 23 sep 16:05:05 2023 UDPv4 enlace local (enlazado): [undef]
Sáb 23 sep 16:05:05 Enlace remoto UDPv4 2023: [AF_INET] 192.168.0.1:1194
Sáb 23 sep 16:05:09 2023 [servidor] Conexión entre pares iniciada con [AF_INET] 192.168.0.1:1194
Sáb 23 sep 16:05:12 2023 TUN / TAP dispositivo tun0 abierto
Sáb 23 sep 16:05:12 2023 do_ifconfig, tt->ipv6 = 0, tt->did_ifconfig_ipv6_setup = 0
Sáb 23 sep 16:05:12 2023 / sbin / ip link set dev tun0 up mtu 1497
Sáb 23 sep 16:05:12 2023 / sbin / ip addr add dev tun0 10.10.10.2/24 broadcast 10.10.10.255
Sáb 23 sep 16:05:12 Secuencia de inicialización 2023 completada
Estoy usando el cliente OpenVPN de línea de comandos de Linux, pero este mismo archivo conf debería funcionar con cualquier cliente OpenVPN en cualquier plataforma, lo probé en mi teléfono Android usando OpenVPN Connect y pude conectarme también.
Tenga en cuenta la línea remota de la configuración de mi cliente. Puede usar su dirección IP externa, pero si su ISP rota su dirección IP externa de vez en cuando, es posible que desee usar un nombre de host dinámico. El DNS dinámico es un proceso mediante el cual se asocia un nombre de dominio estático con la IP de su enrutador y ese nombre de host permanece apuntando a la dirección IP correcta, incluso si cambia. Visita el Preparar -> DDNS pestaña de su enrutador DD-WRT para ver la lista de proveedores de DNS dinámicos que admite.
OpenVPN es una solución VPN confiable y robusta. Es de amplio uso, particularmente entre proveedores de VPN muy conscientes de la privacidad. Los enrutadores que ejecutan DD-WRT hacen que sea especialmente fácil ejecutar de manera segura tanto su tráfico saliente a través de la configuración del cliente OpenVPN como su tráfico entrante a través de la configuración del servidor OpenVPN.
Ver también: Los mejores proveedores de VPN de Linux.
“Enrutador Linksys WRT54-G” de Webmhamster con licencia CC BY 2.0
DD-WRT es un firmware de código abierto que permite desbloquear todas las capacidades de los enrutadores, incluso convertirse en un cliente o servidor OpenVPN. Es posible comprar enrutadores que ya ejecutan DD-WRT o instalarlo en muchas otras marcas de enrutadores que vienen con firmware propietario instalado. La configuración de su enrutador como un cliente VPN garantiza que el tráfico que sale de su enrutador esté encriptado a medida que pasa a través de su ISP hasta que alcanza el punto de salida de VPN en Internet público. Además, convertir su enrutador en un servidor OpenVPN significa que podrá acceder a su red doméstica desde el exterior. El firmware DD-WRT lo hace muy fácil, ya que admite VPN de estilo OpenVPN y PPTP. Se recomienda OpenVPN sobre PPTP debido a la seguridad.