Monta tu propia VPN con WireGuard
WireGuard es un protocolo de VPN integrado en el kernel de Linux que te permite montar tu propio servidor VPN con unos pocos comandos. Tu propia VPN saca tu tráfico por una dirección IP que controlas tú. Eso sí, no te hace anónimo: los sitios que visitas ven la dirección IP de tu servidor.
Este artículo explica para qué sirve tu propia VPN y qué no resuelve, los pasos de la instalación manual y el camino más fácil con una interfaz web.
¿Para qué sirve tu propia VPN?
- Wi-Fi público: en la red de una cafetería o un hotel, tu tráfico viaja cifrado hasta tu servidor.
- Una IP turca desde el extranjero: como el servidor está en Estambul, puedes salir con una dirección IP turca mientras estás fuera del país.
- Acceso a una red privada: accedes a los dispositivos que conectas a la misma VPN, y a los servicios del servidor, como si todos estuvierais en la misma red local.
- Una dirección de salida fija: aunque cambie la IP de tu casa, la salida de tu VPN sigue siendo la misma.
¿Qué no resuelve?
- No te hace anónimo. Los sitios ven la dirección IP de tu servidor, y esa dirección está vinculada a tu cuenta.
- Algunos servicios bloquean las direcciones IP de los centros de datos. No des por hecho que todos los servicios se abrirán a través de tu VPN.
- No ofrece salidas en muchos países. Tu servidor está en un solo lugar, que en Seturack es Estambul.
- No está pensada para dar acceso a internet a otras personas. Si das acceso a internet a terceros a través de tu servidor, las obligaciones de la Ley n.º 5651 son tuyas según el contrato de servicio. Usa la VPN principalmente para tus propios dispositivos y lee el contrato de servicio antes de dar acceso a nadie más.
Por qué gusta WireGuard
- Entró en el kernel de Linux con la versión 5.6, así que en las distribuciones actuales no necesitas instalar un controlador aparte.
- No hay contraseñas. Cada extremo se reconoce por su propio par de claves privada y pública.
- La configuración es corta y cabe en un solo archivo.
- Usa UDP. El puerto que más verás en ejemplos y herramientas es el 51820.
Instalación manual (Ubuntu, como root)
- Instala el paquete:
apt install wireguard - Genera el par de claves del servidor:
umask 077 && wg genkey | tee privatekey | wg pubkey > publickey - Deja que cada dispositivo cliente genere su propia clave. La aplicación WireGuard de los teléfonos y ordenadores lo hace, y solo necesitas su clave pública.
- Escribe
/etc/wireguard/wg0.confsiguiendo la tabla de abajo. - Activa el reenvío de IP:
echo 'net.ipv4.ip_forward=1' | tee /etc/sysctl.d/70-wireguard.confy despuéssysctl --system - Abre el puerto en el cortafuegos:
ufw allow 51820/udp - Ponlo en marcha:
systemctl enable --now wg-quick@wg0
| Sección | Línea | Para qué sirve |
|---|---|---|
| [Interface] | Address = 10.8.0.1/24 | La dirección del servidor dentro de la red VPN |
| [Interface] | ListenPort = 51820 | El puerto UDP en el que escucha |
| [Interface] | PrivateKey = el contenido del archivo privatekey | La clave privada del servidor. No la compartas nunca |
| [Interface] | PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | Saca el tráfico de los clientes a internet. Sustituye eth0 por el nombre de la interfaz de tu servidor, que muestra ip route show default |
| [Interface] | PostDown = las mismas tres reglas, con -D en lugar de -A | Quita las reglas cuando la VPN se detiene |
| [Peer] | PublicKey = la clave pública del cliente | Identifica a este cliente |
| [Peer] | AllowedIPs = 10.8.0.2/32 | La dirección VPN que das al cliente |
Escribe primero en el archivo las líneas de [Interface] y después las de [Peer]. Cada cliente tiene su propio bloque [Peer].
Conectar un cliente
En el cliente, pon en la sección [Interface] tu propia clave privada, la línea Address = 10.8.0.2/24 y una dirección DNS. En la sección [Peer], pon la clave pública del servidor, la línea Endpoint = SERVER_IP:51820 y la línea AllowedIPs = 0.0.0.0/0. El último valor envía todo el tráfico IPv4 por el túnel. Si solo quieres acceder a la red VPN, escribe 10.8.0.0/24 en su lugar. Para dispositivos detrás de NAT o de un cortafuegos, la documentación oficial sugiere PersistentKeepalive = 25.
Ejecuta wg show en el servidor. Si el cliente se ha conectado, verás una línea "latest handshake".
¿Todo el tráfico o solo parte?
El valor AllowedIPs del cliente decide qué tráfico entra en el túnel. 0.0.0.0/0 envía por él todo el tráfico IPv4, pero no el IPv6. Si tu dispositivo tiene IPv6, ese tráfico puede saltarse el túnel. Con 0.0.0.0/0, ::/0, el IPv6 también entra en el túnel y allí se descarta, porque el servidor no transporta IPv6, de modo que no puede filtrarse. Si solo quieres acceder a determinadas redes, por ejemplo 10.8.0.0/24, escribe solo esas. Esto se llama túnel dividido (split tunneling), y el resto del tráfico sale por su ruta normal. Para acceder a una red de forma remota, el túnel dividido suele bastar. El resto de tu tráfico no pasa por el túnel, así que no se ralentiza.
El camino más fácil: wg-easy
wg-easy es una herramienta que reúne el servidor WireGuard y la gestión de clientes con una interfaz web. Añade y elimina clientes y muestra un código QR para los teléfonos. Se instala con Docker Compose y usa 51820/UDP. Se recomienda un proxy inverso si quieres abrir la pantalla de administración a internet de forma segura.
El servidor WireGuard preparado de Seturack usa wg-easy y está listo en unos 4 minutos. En el panel ves la dirección de administración y la contraseña. El túnel transporta solo IPv4. Crea un cliente aparte para cada dispositivo y, si pierdes un dispositivo, borras solo su cliente. Los pasos de conexión están en el artículo de ayuda de WireGuard.
Configurar tus dispositivos
WireGuard tiene aplicaciones oficiales para Windows, macOS, Android e iOS. En Linux basta con el paquete. En un teléfono añades la configuración con un código QR, y en un ordenador importando el archivo de configuración. Activas y desactivas el túnel desde la aplicación. Mientras el túnel está activo, tu tráfico de internet sale a través de tu servidor.
Cuatro pequeñas reglas de seguridad
- Deja que solo root pueda leer el archivo de configuración:
chmod 600 /etc/wireguard/wg0.conf - No envíes nunca tu clave privada a nadie. La clave pública es lo único que compartes.
- Borra el bloque
[Peer]de un dispositivo que hayas perdido o al que ya no quieras permitir el acceso. - Mantén el servidor actualizado. Las actualizaciones del sistema operativo y de las aplicaciones corren de tu cuenta tras la instalación.
Como el tráfico de tu VPN pasa por el servidor, el volumen de tráfico también importa. En el precio de Seturack se incluye tráfico ilimitado.
Si no se conecta
Algunas redes bloquean el tráfico UDP. Prueba con otra red, por ejemplo los datos móviles de tu teléfono. Comprueba también que el puerto 51820/UDP está abierto en el cortafuegos.
Si quieres empezar con la instalación preparada, consulta la página de VPN WireGuard.
Comentarios0
Todavía no hay comentarios
Sea la primera persona en compartir su opinión.
Inicie sesión o regístrese para dejar un comentario.