Rechercher

8.14. Configurer un client WireGuard en utilisant le service wg-quick

download PDF

Vous pouvez configurer un client WireGuard en créant un fichier de configuration dans le répertoire /etc/wireguard/. Cette méthode permet de configurer le service indépendamment de NetworkManager.

Cette procédure suppose les paramètres suivants :

  • Client :

    • Clé privée : aPUcp5vHz8yMLrzk8SsDyYnV33IhE/k20e52iKJFV0A=
    • Adresse IPv4 du tunnel : 192.0.2.2/24
    • Adresse IPv6 du tunnel : 2001:db8:1::2/32
  • Serveur :

    • Clé publique : UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE=
    • Adresse IPv4 du tunnel : 192.0.2.1/24
    • Adresse IPv6 du tunnel : 2001:db8:1::1/32

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

  1. Installez le paquetage wireguard-tools:

    # dnf install wireguard-tools
  2. Créez le fichier /etc/wireguard/wg0.conf avec le contenu suivant :

    [Interface]
    Address = 192.0.2.2/24, 2001:db8:1::2/32
    PrivateKey = aPUcp5vHz8yMLrzk8SsDyYnV33IhE/k20e52iKJFV0A=
    *
    [Peer]
    PublicKey = UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE=
    AllowedIPs = 192.0.2.1, 2001:db8:1::1
    Endpoint = server.example.com:51820
    PersistentKeepalive = 20
    • La section [Interface] décrit les paramètres WireGuard de l'interface sur le client :

      • Address: Une liste d'adresses IP du tunnel du client, séparées par des virgules.
      • PrivateKey: La clé privée du client.
    • La section [Peer] décrit les paramètres du serveur :

      • PublicKey: La clé publique du serveur.
      • AllowedIPs: Les adresses IP autorisées à envoyer des données à ce client. Par exemple, le paramètre est réglé sur :

        • Les adresses IP du tunnel du serveur pour permettre uniquement au serveur de communiquer avec ce client. La valeur indiquée dans l'exemple ci-dessus configure ce scénario.
        • 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.
      • Endpoint: Définit le nom d'hôte ou l'adresse IP et le port du serveur. Le client utilise ces informations pour établir la connexion.
      • Le paramètre optionnel persistent-keepalive définit un intervalle en secondes dans lequel WireGuard envoie un paquet keepalive au serveur. Définissez ce paramètre 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é.
  3. Activer et démarrer la connexion WireGuard :

    # systemctl enable --now wg-quick@wg0

    Le nom de l'instance systemd doit correspondre au nom du fichier de configuration dans le répertoire /etc/wireguard/ sans le suffixe .conf. Le service utilise également ce nom pour l'interface réseau virtuelle.

Vérification

  1. Effectuer un sondage (ping) des adresses IP du serveur :

    # ping 192.0.2.1
    # ping6 2001:db8:1::1
  2. 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 que les entrées latest handshake et transfer si vous avez déjà envoyé du trafic via le tunnel VPN.

  3. 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 scope global wg0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::2/32__ scope global
           valid_lft forever preferred_lft forever

Ressources supplémentaires

  • La page de manuel wg(8)
  • La page de manuel wg-quick(8)
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.