Configuración de WireGuard en Debian 10

21/03/2020 ¡¡¡Actualización y corrección!!!:

Me informa Rubén ppg en el grupo de telegram que hay un error. En el minuto 8:43, pongo la misma ip (192.168.89.101/24) de la interfaz wlp3s0 en la del fichero wg0.conf y eso no debe de ser.

La configuración buena sería la siguiente:

en el cliente pones algo así:

[Interface]
PrivateKey = aaaaaaaaaaaaaaaaaaaaaa
Address = 10.4.4.2/32
DNS = 10.x.x.x

[Peer]
PublicKey = aaaaaaaaaaaaaaaaaaaaaa
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 256.256.256.256:xxxx (xxxx es el puerto del servidor)

Y en el servidor (que tendría la ip 256.256.256.256 (si es que eso pudiera ser)) pones algo de este estilo:

[Interface]
Address = 10.4.4.1/24 --> Ojo aquí sí es /24
ListenPort = xxxx
PrivateKey = aaaaaaaaaaaaaaaaaaaaaa

[Peer]
PublicKey = aaaaaaaaaaaaaaaaaaaaaa
AllowedIPs = 10.4.4.2/32

[Peer]
PublicKey = aaaaaaaaaaaaaaaaaaaaaa
AllowedIPs = 10.4.4.3/32

Y así todos los peers que quieras


En https://www.wireguard.com/install/ tenéis la información para cualquier distribución, pero para Debian la configuración es la siguiente:

echo “deb http://deb.debian.org/debian/ unstable main” > /etc/apt/sources.list.d/unstable.list

printf ‘Package: *\nPin: release a=unstable\nPin-Priority: 90\n’ > /etc/apt/preferences.d/limit-unstable

apt update

apt install wireguard

Ahora crearemos las llaves, la pública y la privada.

Ir a /etc/wireguard
$ umask 077
$ wg genkey | tee privatekey | wg pubkey > publickey

Tener en cuenta apertura de puerto 51820/udp

Y ahora creamos el fichero wg0.conf

[Interface]
Address = 192.168.x.y
PrivateKey =
ListenPort = 51820

[Peer]
PublicKey =
AllowedIPs = 0.0.0.0/0

Y si es necesario:

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

Y recordar que hay que permitir el forwarding

sysctl -w net.ipv4.ip_forward=1

En el cliente instalaremos wireguard y crearemos el wg.conf

[Interface]
Address = 192.168.2.2
PrivateKey =
ListenPort = 21841

[Peer]
PublicKey =
Endpoint = :51820
AllowedIPs = 192.168.2.0/24

This is for if you’re behind a NAT and

want the connection to be kept alive.

PersistentKeepalive = 25