8.13. Configuration d'un client WireGuard à l'aide de nm-connection-editor
Vous pouvez configurer un client WireGuard en créant un profil de connexion dans NetworkManager. Utilisez cette méthode pour laisser NetworkManager gérer la connexion WireGuard.
Conditions préalables
- Vous avez généré les clés publique et privée pour le serveur et le client.
Vous connaissez les informations suivantes :
- La clé privée du client
- Les adresses IP du tunnel statique et les masques de sous-réseau du client
- La clé publique du serveur
- Les adresses IP du tunnel statique et les masques de sous-réseau du serveur
Procédure
Ouvrez un terminal et entrez :
# nm-connection-editor
- Ajoutez une nouvelle connexion en cliquant sur le bouton .
-
Sélectionnez le type de connexion
WireGuard
et cliquez sur . - Optionnel : Mettre à jour le nom de la connexion.
-
Optionnel : Dans l'onglet
General
, sélectionnezConnect automatically with priority
. Dans l'onglet
WireGuard
:-
Entrez le nom de l'interface virtuelle, telle que
wg0
, que NetworkManager doit attribuer à la connexion. - Saisir la clé privée du client.
Cliquez sur
pour ajouter des pairs :- Entrez la clé publique du serveur.
Définissez le champ
Allowed IPs
. Par exemple, définissez-le comme suit :- Les adresses IP du tunnel du serveur afin que seul le serveur puisse communiquer avec ce client.
0.0.0.0/0;::/0;
pour permettre à n'importe quelle adresse IPv4 et IPv6 distante de communiquer avec ce client. Utilisez ce paramètre pour acheminer tout le trafic à travers le tunnel et utiliser le serveur WireGuard comme passerelle par défaut.Notez que l'acheminement de tout le trafic via le tunnel peut avoir un impact sur la connectivité avec d'autres hôtes en fonction du routage du serveur et de la configuration du pare-feu.
-
Entrez le nom d'hôte ou l'adresse IP et le port du serveur WireGuard dans le champ
Endpoint
. Utilisez le format suivant :hostname_or_IP:port_number
- Facultatif : si vous utilisez le client dans un réseau avec traduction d'adresse réseau (NAT) ou si un pare-feu ferme la connexion UDP après un certain temps d'inactivité, définissez un intervalle de maintien en vie persistant en secondes. Dans cet intervalle, le client envoie un paquet de maintien en vie au serveur.
- Cliquez sur .
-
Entrez le nom de l'interface virtuelle, telle que
Dans l'onglet
IPv4 Settings
:-
Sélectionnez
Manual
dans la listeMethod
. - Cliquez sur pour entrer l'adresse IPv4 du tunnel et le masque de sous-réseau.
Si vous souhaitez acheminer tout le trafic via le tunnel, indiquez l'adresse IPv4 du serveur dans le champ
Gateway
. Sinon, laissez le champ vide.Pour acheminer tout le trafic IPv4 via le tunnel, vous devez inclure
0.0.0.0/0
dans le champAllowed IPs
sur ce client.
-
Sélectionnez
Dans l'onglet
IPv6 Settings
:-
Sélectionnez
Manual
dans la listeMethod
. - Cliquez sur pour entrer l'adresse IPv6 du tunnel et le masque de sous-réseau.
Si vous souhaitez acheminer tout le trafic via le tunnel, définissez l'adresse IPv6 du serveur dans le champ
Gateway
. Sinon, laissez le champ vide.Pour acheminer tout le trafic IPv4 via le tunnel, vous devez inclure
::/0
dans le champAllowed IPs
sur ce client.
-
Sélectionnez
- Cliquez sur pour sauvegarder le profil de connexion.
Vérification
Effectuer un sondage (ping) des adresses IP du serveur :
# ping 192.0.2.1 # ping6 2001:db8:1::1
Affichez la configuration de l'interface de l'appareil
wg0
:# wg show wg0 interface: wg0 public key: bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM= private key: (hidden) listening port: 51820 peer: UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE= endpoint: server.example.com:51820 allowed ips: 192.0.2.1/32, 2001:db8:1::1/128 latest handshake: 1 minute, 41 seconds ago transfer: 824 B received, 1.01 KiB sent persistent keepalive: every 20 seconds
Pour afficher la clé privée dans la sortie, utilisez la commande
WG_HIDE_KEYS=never wg show wg0
pour afficher la clé privée dans la sortie.Notez que la sortie ne contient les entrées
latest handshake
ettransfer
que si vous avez déjà envoyé du trafic via le tunnel VPN.Affichez la configuration IP de l'appareil
wg0
:# ip address show wg0 10: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 192.0.2.2/24 brd 192.0.2.255 scope global noprefixroute wg0 valid_lft forever preferred_lft forever inet6 2001:db8:1::2/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::73d9:6f51:ea6f:863e/64 scope link noprefixroute valid_lft forever preferred_lft forever
Ressources supplémentaires
-
La page de manuel
wg(8)