INSTALACIÓN DEL SERVIDOR
Actualización de repositorios
apt update && apt upgrade -y
Instalación de Wireguard
apt install wireguard
Acceso a la carpeta de instalación
cd /etc/wireguard
Seteado de permisos solo para usuario root
umask 077
Creación de pares de claves pública y privada
wg genkey |tee 00_server_clave_privada | wg pubkey > 00_server_clave_publica
wg genkey |tee 01_cliente_clave_privada | wg pubkey > 01_ciente_clave_publica
Listar interfaces de red
ip addr
Creación de archivo de texto con configuración del servidor
nano wg0.conf
#CONFIGURACIÓN DEL SERVIDOR
[Interface]
PrivateKey = <Clave privada del servidor>
Address = 10.0.0.1/24
#suponemos que la interfaz de red a la que se accede desde fuera es la eth0
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
ListenPort = 51820
[Peer]
#cliente 1
PublicKey = <Clave publica del cliente>
AllowedIPs = 10.0.0.2/24
Levantado de la conexión VPN en el servidor
wg-quick up wg0
Persistencia del interfaz de conexión
systemctl enable wg-quick@wg0
Activación del reenvío de paquetes
sysctl -w net.ipv4.ip_forward=1
nano /etc/sysctl.conf # Editamos este fichero y descomentamos la línea que pone: net.ipv4.ip_forward=1
INSTALACIÓN DEL CLIENTE LINUX
Actualización de repositorios
apt update
Instalación de Wireguard
apt install wireguard
apt install resolvconf (necesario en Linux Mint 19 / 20)
Acceso a la carpeta de instalación
cd /etc/wireguard
Seteado de permisos solo para usuario root
umask 077
Creación de archivo de texto con configuración del servidor
nano wg0.conf
#CONFIGURACIÓN DEL CLIENTE
[Interface]
PrivateKey = <Clave privada cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <Clave pública server>
AllowedIPs = 0.0.0.0/0
Endpoint = IP_Server:51820
Levantado de la conexión VPN en el servidor
sudo wg-quick up wg0
Desconectando la conexión VPN con el servidor:
sudo wg-quick down wg0
Por comodidad y para no tener que recordar los comandos puedes crear unos alias tal y como explico en el artículo «Usar alias para ahorrar tiempo«. Yo he creado dos: «vpnon» para activarla y «vpnoff» para desactivarla.
Persistencia del interfaz de conexión
systemctl enable wg-quick@wg0