Encontranos en redes
VPNWireGuardPrivacidad7 min de lectura
Configurar VPN con WireGuard
Instalación de WireGuard, generación de claves, configuración de servidor y cliente, y conexión desde múltiples dispositivos.
¿Qué es WireGuard?
WireGuard es un protocolo VPN moderno, rápido y seguro. Usa criptografía de última generación y tiene un código base mínimo (~4000 líneas), lo que reduce la superficie de ataque.
Paso 1: Instalar WireGuard
bash
sudo apt update
sudo apt install -y wireguardPaso 2: Generar claves del servidor
bash
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.keyPaso 3: Configurar el servidor
Creá /etc/wireguard/wg0.conf:
ini
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = CLAVE_PRIVADA_SERVIDOR
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = CLAVE_PUBLICA_CLIENTE
AllowedIPs = 10.0.0.2/32Paso 4: Habilitar IP forwarding
bash
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -pPaso 5: Iniciar WireGuard
bash
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo wg showPaso 6: Configurar el cliente
En tu máquina local, generá claves:
bash
wg genkey | tee client_private.key | wg pubkey > client_public.keyCreá el archivo de configuración del cliente:
ini
[Interface]
Address = 10.0.0.2/24
PrivateKey = CLAVE_PRIVADA_CLIENTE
DNS = 1.1.1.1
[Peer]
PublicKey = CLAVE_PUBLICA_SERVIDOR
Endpoint = IP_SERVIDOR:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25Abrir puerto en el firewall
bash
sudo ufw allow 51820/udpConectar desde diferentes dispositivos
- Windows/Mac/Linux: Descargá la app oficial de wireguard.com e importá el archivo .conf
- Android/iOS: Descargá WireGuard de la tienda, escaneá un QR code generado con:
bash
sudo apt install -y qrencode
qrencode -t ansiutf8 < client.confAgregar más clientes
Por cada cliente nuevo:
- Generá un par de claves
- Agregá un bloque
[Peer]en el servidor con la clave pública y una IP única - Reiniciá:
sudo systemctl restart wg-quick@wg0
Recomendaciones
- Usá una IP diferente para cada cliente (10.0.0.2, 10.0.0.3, etc.)
- Guardá las claves privadas de forma segura
- Usá
PersistentKeepalive = 25para clientes detrás de NAT - Monitoreá conexiones con
sudo wg show - Considerá usar DNS privado (Pi-hole) a través de la VPN
¿Te resultó útil esta guía?