Skip to main content

Wireguard

image.png

La mejor manera de instalar WireGuard en Ubuntu 24.04 es usando APT, ya que WireGuard está completamente integrado en el kernel de Linux moderno y sus paquetes están en los repos oficiales de Ubuntu.

Enlaces

https://www.wireguard.com/

https://www.server-world.info/en/note?os=Ubuntu_22.04&p=wireguard&f=1


✅ Instalación recomendada (modo servidor o cliente)

1. Actualizar el sistema

sudo apt update && sudo apt upgrade -y

2. Instalar WireGuard y herramientas necesarias

sudo apt install wireguard wireguard-tools -y

Esto instala:

  • wg → cliente de línea de comandos

  • wg-quick → herramienta de alto nivel para subir/bajar interfaces

  • Módulo del kernel WireGuard (wireguard.ko), ya incluido en 24.04


3. Habilitar IP forwarding (si actúa como gateway)

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

A partir de aquí, usaremos usuario root para que los fichero se creen con los permisos adecuados

# con usuario root
sudo su
umask 077

4. Generar claves

# generate private key for server
wg genkey | tee /etc/wireguard/server.key

# generate public key for server
cat /etc/wireguard/server.key | wg pubkey | tee /etc/wireguard/server.pub

# generate private key for client
wg genkey | tee /etc/wireguard/client.key

# generate public key for client
cat /etc/wireguard/client.key | wg pubkey | tee /etc/wireguard/client.pub

5. Archivo de configuración

Servidor

Ubicación típica: /etc/wireguard/wg0.conf 

[Interface]
PrivateKey = #private_key for server
Address = 172.16.1.1 # IP_address for VPN interface
ListenPort = 51820 # UDP port WireGuard server listens

# possible to set any commands after WireGuard starts/stops.Set routing rules like follows to access to local network via VPN session
# [wg0] ⇒ VPN interface name
# [eth0] ⇒ Ethernet interface name
PostUp = echo 1 > /proc/sys/net/ipv4/ip_forward; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = echo 0 > /proc/sys/net/ipv4/ip_forward; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = #public_key for client
# clients' VPN IP addresses you allow to connect
# possible to specify subnet ⇒ [172.16.100.0/24]
AllowedIPs = 172.16.100.5, 172.16.100.6

6. Activar y habilitar la interfaz

sudo wg-quick up wg0 sudo systemctl enable wg-quick@wg0