WireGuard es el protocolo VPN moderno que ha reemplazado a OpenVPN en la mayoría de nuevas instalaciones. Es más rápido, más simple (solo ~4000 líneas de código frente a las 100.000+ de OpenVPN), se configura en minutos y usa criptografía moderna. En este artículo montamos un servidor VPN completo y conectamos un cliente.
Instalación del servidor
sudo apt update && sudo apt install -y wireguard
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Generar claves
sudo mkdir -p /etc/wireguard
cd /etc/wireguard
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key
sudo chmod 600 server_private.key
SERVER_PRIVKEY=$(sudo cat server_private.key)
SERVER_PUBKEY=$(sudo cat server_public.key)
echo "Clave pública del servidor: $SERVER_PUBKEY"
wg genkey | tee client1_private.key | wg pubkey | tee client1_public.key
CLIENT1_PRIVKEY=$(cat client1_private.key)
CLIENT1_PUBKEY=$(cat client1_public.key)
Configuración del servidor
sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey =
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey =
AllowedIPs = 10.0.0.2/32
sudo systemctl enable --now wg-quick@wg0
sudo wg show
Configuración del cliente
[Interface]
PrivateKey =
Address = 10.0.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey =
Endpoint = tu-servidor.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
sudo wg-quick up wg0
sudo wg show
ping 10.0.0.1 # hacer ping al servidor VPN
Añadir más clientes
wg genkey | tee client2_private.key | wg pubkey | tee client2_public.key
sudo wg set wg0 peer $(cat client2_public.key) allowed-ips 10.0.0.3/32
sudo wg addconf wg0 /dev/stdin <<< "[Peer]
PublicKey = $(cat client2_public.key)
AllowedIPs = 10.0.0.3/32"
Generar código QR para móviles
sudo apt install qrencode
qrencode -t ansiutf8 < cliente1.conf
Monitorización
sudo wg show
ip addr show wg0
journalctl -u wg-quick@wg0 -f
WireGuard es la VPN que deberías usar en 2026. Su configuración mínima (menos de 20 líneas por peer), rendimiento superior y mantenimiento activo en el kernel Linux lo hacen la mejor opción para la mayoría de casos de uso, desde acceso remoto corporativo hasta lab doméstico.
