WireGuard Notas

Objetivo

Pese a que ya sabemos que WireGuard es una VPN entre iguales, están son las notas respecto a los ficheros de configuración. Independiente de que cada sistema tiene su particularidades de configuración de rutas, fierwalls etc todos los sistemas llevan un fichero de configuración que podemos distribuir o generar un código QR para leerla.

Esquema de red

El mapa para la configuración:

+----------+      +-----------+
|          |      |           |
|          |      | Serviror  |
| Internet |<---> | WireGuard |<--> Lan 10.0.69.1/28
|          |      |           |
|          |      |           | WireGuard network 10.0.34.0/28
+----------+      +-----------+

Servidor

Llamaremos servidor al que concentre todas las conexiones pese a ser conexiones peer to peer.

Parámetros:

  • IP Address 10.0.34.1/28
  • Listen Port 51820
  • Private Key GPQ8rQeZwSmjcycXNQ0SINYLZgQSOF+YEJdETmgFe2E=
  • Public Key 6rBS/OnPz48MAw7RaZiXz/2bUCStbEYDKadNQhVYOno=

Fichero de configuración:

[Interface]
Address = 10.0.34.1/28
ListenPort = 51820
PrivateKey = GPQ8rQeZwSmjcycXNQ0SINYLZgQSOF+YEJdETmgFe2E=

[Peer]
PublicKey = 5vVv4AAMuyJNqBJuVsMw7ExS0yoOGSmn7eAt/xgV1n8=
AllowedIPs = 10.0.34.2/32

[Peer]
PublicKey = +vCFoNRHssdxgkome9Yzhp95jBwslu0PlPk/mGmX2gw=
AllowedIPs = 10.0.34.3/32

Cliente I

Parámetros:

  • IP Address 10.0.34.3/28
  • Listen Port 51820
  • Private Key APv99RfIfsS5H8iYQvufMSjRztDY0vwiiP/lEx1Uc1A=
  • Public Key +vCFoNRHssdxgkome9Yzhp95jBwslu0PlPk/mGmX2gw=

Fichero de configuración:

[Interface]
Address = 10.0.34.3/28
ListenPort = 51820
PrivateKey = APv99RfIfsS5H8iYQvufMSjRztDY0vwiiP/lEx1Uc1A=

[Peer]
PublicKey = 6rBS/OnPz48MAw7RaZiXz/2bUCStbEYDKadNQhVYOno=
AllowedIPs = 10.0.69.0/28
Endpoint = myserver.dyndns.org:51820

Indicando la red Lan (10.0.69.0/28) en “AllowedIPs” estamos especificando que esa es la red accesible por WireGuard, que el resto de trafico va por la ruta por defecto.

Cliente II

Parámetros:

  • IP Address 10.0.34.3/28
  • Listen Port 51820
  • Private Key APv99RfIfsS5H8iYQvufMSjRztDY0vwiiP/lEx1Uc1A=
  • Public Key +vCFoNRHssdxgkome9Yzhp95jBwslu0PlPk/mGmX2gw=

Fichero de configuración:

[Interface]
Address = 10.0.34.3/28
ListenPort = 51820
PrivateKey = APv99RfIfsS5H8iYQvufMSjRztDY0vwiiP/lEx1Uc1A=

[Peer]
PublicKey = 6rBS/OnPz48MAw7RaZiXz/2bUCStbEYDKadNQhVYOno=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = myserver.dyndns.org:51820

Indicando todo (0.0.0.0/0, ::/0) en “AllowedIPs” estamos especificando todo el trafico es accesible por WireGuard.

Generar QR para clientes moviles

Mediante el paqute qrenconde podemos generar códigos QR para configurar nuestros móviles mas fácilmente de la siguiente manera:

qrencode -t png -o qrconigmovil1.png -r movil1.conf

Notas adicionales

  • DNS
  • PostUp
  • PostDown
  • PersistentKeepAlive
  • MTU

Interace