Configuration WireGuard

Récupération de la configuration nécessaire

Depuis notre système d’information (ambre), il vous est possible de générer automatiquement les fichiers de configuration nécessaire et de flasher le QR code sur votre smartphone, en cliquant sur l’icone de téléchargement :

Générer ses propres clés

$ (umask 0077; wg genkey > wg_rezine.key)
$ wg pubkey < wg_rezine.key > wg_rezine.pub

GNU/Linux - Ligne de commandes

Manuellement

Configurer l’interface wireguard

# ip link add dev wg0 type wireguard
# ip address add dev wg0 <IP Rézine personnelle>/32
# ip address add dev wg0 <IPv6 Rézine personnelle::1>/128
# wg set wg0 private-key /etc/wireguard/rezine.key peer D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk= endpoint 193.33.56.19:51820 allowed-ips 0.0.0.0/0,::/0
# ip link set wg0 up

Mettre en place les routes

default_route=$(ip route list default | cut -d' ' -f2-)
ip -4 route del default
ip -4 route add default dev wg0
ip -4 route add 193.33.56.19/32 $default_route
ip -6 route del default
ip -6 route add default dev wg0

Configurer les DNS

TODO

wg-quick

/etc/wireguard/wg0

[Interface]
Address = @PRIVATE_IPV4@/32, @PRIVATE_IPV6@/128
PrivateKey = @PRIVATE_KEY@
DNS=193.33.56.30, 80.67.169.12

[Peer]
PublicKey = D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 193.33.56.19:51820

Remplacer @PRIVATE_IPV4@, @PRIVATE_IPV6@ et @PRIVATE_KEY@.

Lancer avec wg-quick:

# wg-quick up wg0

ou systemd:

# systemctl start wg-quick@wg0.service

NetworkManager

/etc/NetworkManager/system-connections/wgRezine.nmconnection

[connection]
id=WireGuard Rezine
type=wireguard
interface-name=wg0

[wireguard]
private-key=@PRIVATE_KEY@

[wireguard-peer.D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk=]
endpoint=193.33.56.19:51820
allowed-ips=0.0.0.0/0;::/0;

[ipv4]
address1=@PRIVATE_IPV4@/32
dns=193.33.56.30;80.67.169.12;
dns-search=
method=manual

[ipv6]
addr-gen-mode=stable-privacy
address1=@PRIVATE_IPV6@/128
dns-search=
ip6-privacy=0
method=manual

[proxy]

Remplacer @PRIVATE_IPV4@, @PRIVATE_IPV6@ et @PRIVATE_KEY@.

Configurer les permissions pour que seul root ait les droits en lecture et en écriture sur le fichier :

# chmod 600 /etc/NetworkManager/system-connections/wgRezine.nmconnection

Forcer le chargement de la configuration par Network Manager :

# nmcli connection load /etc/NetworkManager/system-connections/wgRezine.nmconnection

Systemd-networkd

TODO: tester + ajouter config DNS

/etc/systemd/networkd/99-wg0.netdev

[NetDev]
Name=wg0
Kind=wireguard
Description=WireGuard Rezine

[WireGuard]
PrivateKey=@PRIVATE_KEY@

[WireGuardPeer]
PublicKey=D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk=
AllowedIPs=0.0.0.0/0
AllowedIPs=::/0
Endpoint=193.33.56.19:51820

/etc/systemd/network/99-wg0.network

[Match]
Name=wg0

[Network]
Address=@PRIVATE_IPV4@/32
Address=@PRIVATE_IPV6@/128

GNU/Linux - Graphique

Dans le gestionnaire de réseaux, ajouter une interface virtuelle Wireguard :

Renseignez le nom de la connexion, le nom de l’interface, votre clé privée.

Cliquez sur Ajouter pour ajoutez le serveur. Renseignez la clé publique du serveur D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk= Et renseignez les autres informations comme ceci :

Dans l’onglet IPv4, remplissez comme ceci en renseignant bien votre adresse IP dans la colonne Adresse.

Puis renseignez les serveurs DNS.

Idem dans l’onglet IPv6.

Enfin, dans l’onglet Général, activez l’option pour se connecter automatiquement :

Windows

Mac OSX

Iphone / Android

Scanner le QRcode avec l’appli.