WireGuard es una herramienta moderna, eficiente y de fácil configuración para establecer redes privadas virtuales (VPN). En esta guía, te acompañaré paso a paso para instalar y configurar WireGuard en un sistema operativo Ubuntu. ¡Manos a la obra!
Requisitos previos
Antes de empezar, asegúrate de contar con lo siguiente:
- Un servidor o máquina virtual con Ubuntu 20.04 o posterior.
- Acceso a la terminal con privilegios de superusuario (root).
- Una conexión a Internet activa.
Paso 1: Actualiza el sistema
Primero, necesitamos que tu sistema esté al día. Abre la terminal y ejecuta:
sudo apt update && sudo apt upgrade -y
Esto se asegura de que todos los paquetes instalados estén actualizados.
Paso 2: Instala WireGuard
Ahora vamos a instalar WireGuard. Como ya está en los repositorios oficiales, simplemente escribe:
sudo apt install wireguard -y
Paso 3: Genera las claves de configuración
WireGuard usa un par de claves (pública y privada) para garantizar la seguridad de las conexiones. Vamos a crearlas juntos:
- Primero, crea un directorio donde almacenaremos las claves y configuraciones, todo esto lo realizamos con usuario root:
mkdir -p /etc/wireguard chmod 700 /etc/wireguard
- Luego, genera las claves:
wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key
Esto generará una clave privada y otra pública.
- Protege tu clave privada para que nadie más pueda acceder a ella:
chmod 600 /etc/wireguard/private.key
- Para ver la clave privada, puedes hacerlo así:
cat /etc/wireguard/private.key
Recuerda que esta información es confidencial, ¡manéjala con cuidado!
Paso 4: Configura la interfaz de WireGuard
Vamos a configurar WireGuard para que pueda operar correctamente:
- Crea un archivo de configuración:
nano /etc/wireguard/wg0.conf
- Dentro del archivo, agrega esta configuración básica:
[Interface] PrivateKey = TU_CLAVE_PRIVADA Address = 10.0.0.10/24 DNS = 10.0.0.1 [Peer] PublicKey = CLAVE_PUBLICA_DEL_SERVIDOR AllowedIPs = 10.0.0.0/24 Endpoint = IP_DEL_SERVIDOR:51820 PersistentKeepalive = 25
- Reemplaza TU_CLAVE_PRIVADA con la clave privada que generaste.
- Cambia CLAVE_PUBLICA_DEL_CLIENTE por la clave pública del cliente que se conectará.
Paso 5: Configura el cliente (opcional)
En el dispositivo cliente, sigue estos pasos para prepararlo:
- Instala WireGuard y genera las claves de la misma forma que hicimos en los pasos anteriores.
- Crea un archivo de configuración similar a este:
[Interface] PrivateKey = TU_CLAVE_PRIVADA_DEL_CLIENTE Address = 10.0.0.2/24 [Peer] PublicKey = CLAVE_PUBLICA_DEL_SERVIDOR Endpoint = IP_DEL_SERVIDOR:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
Asegúrate de reemplazar los valores con las claves y direcciones correspondientes.
Paso 6: Habilita y arranca WireGuard
Llegó el momento de poner todo en marcha:
- Activa la interfaz de WireGuard:
wg-quick up wg0
- Comprueba que todo está funcionando correctamente:
wg
- Si quieres que WireGuard se inicie automáticamente con el sistema:
systemctl enable wg-quick@wg0
Paso 7: Configura el firewall (opcional)
Si estás usando ufw
, permite el puerto que usa WireGuard:
ufw allow 51820/udp
Paso 8: Verifica la conexión
Por último, desde el cliente, prueba si puedes conectarte al servidor:
ping 10.0.0.1
Si ves respuestas, ¡felicitaciones! La VPN está funcionando.
Conclusión
Y eso es todo. Ahora tienes WireGuard configurado en tu sistema. Si necesitas agregar más clientes, solo edita el archivo wg0.conf
en el servidor y genera nuevas claves para cada uno. WireGuard es una herramienta poderosa y sencilla que garantiza la seguridad de tus conexiones.