Rechercher

8.5. Configuration d'un serveur WireGuard à l'aide de nmcli

download PDF

Vous pouvez configurer le serveur WireGuard en créant un profil de connexion dans NetworkManager. Utilisez cette méthode pour laisser NetworkManager gérer la connexion WireGuard.

Cette procédure suppose les paramètres suivants :

  • Serveur :

    • Clé privée : YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg=
    • Adresse IPv4 du tunnel : 192.0.2.1/24
    • Adresse IPv6 du tunnel : 2001:db8:1::1/32
  • Client :

    • Clé publique : bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=
    • Adresse IPv4 du tunnel : 192.0.2.2/24
    • Adresse IPv6 du tunnel : 2001:db8:1::2/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 serveur
    • Les adresses IP du tunnel statique et les masques de sous-réseau du client
    • La clé publique du client
    • Les adresses IP du tunnel statique et les masques de sous-réseau du serveur

Procédure

  1. Ajouter un profil de connexion NetworkManager WireGuard :

    # nmcli connection add type wireguard con-name server-wg0 ifname wg0 autoconnect no

    Cette commande crée un profil nommé server-wg0 et lui affecte l'interface virtuelle wg0. Pour éviter que la connexion ne démarre automatiquement après l'avoir ajoutée sans finaliser la configuration, désactivez le paramètre autoconnect.

  2. Définissez l'adresse IPv4 du tunnel et le masque de sous-réseau du serveur :

    # nmcli connection modify server-wg0 ipv4.method manual ipv4.addresses 192.0.2.1/24
  3. Définissez l'adresse IPv6 du tunnel et le masque de sous-réseau du serveur :

    # nmcli connection modify server-wg0 ipv6.method manual ipv6.addresses 2001:db8:1::1/32
  4. Ajouter la clé privée du serveur au profil de connexion :

    # nmcli connection modify server-wg0 wireguard.private-key "YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg="
  5. Définir le port pour les connexions WireGuard entrantes :

    # nmcli connection modify server-wg0 wireguard.listen-port 51820

    Définissez toujours un numéro de port fixe sur les hôtes qui reçoivent les connexions entrantes de WireGuard. Si vous ne définissez pas de port, WireGuard utilise un port libre aléatoire à chaque fois que vous activez l'interface wg0.

  6. Ajoutez des configurations d'homologues pour chaque client que vous souhaitez autoriser à communiquer avec ce serveur. Vous devez ajouter ces paramètres manuellement, car l'utilitaire nmcli ne permet pas de définir les propriétés de connexion correspondantes.

    1. Modifiez le fichier /etc/NetworkManager/system-connections/server-wg0.nmconnection et ajouter :

      [wireguard-peer.bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=]
      allowed-ips=192.0.2.2;2001:db8:1::2;
      • L'entrée [wireguard-peer.<public_key_of_the_client>] définit la section de l'homologue du client, et le nom de la section contient la clé publique du client.
      • Le paramètre allowed-ips définit les adresses IP du tunnel du client qui sont autorisées à envoyer des données à ce serveur.

        Ajouter une section pour chaque client.

    2. Recharger le profil de connexion server-wg0:

      # nmcli connection load /etc/NetworkManager/system-connections/server-wg0.nmconnection
  7. Optionnel : Configurez la connexion pour qu'elle démarre automatiquement, entrez :

    # nmcli connection modify server-wg0 autoconnect yes
  8. Réactiver la connexion server-wg0:

    # nmcli connection up server-wg0

Vérification

  1. Affichez la configuration de l'interface de l'appareil wg0:

    # wg show wg0
    interface: wg0
      public key: UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE=
      private key: (hidden)
      listening port: 51820
    
    peer: bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=
      allowed ips: 192.0.2.2/32, 2001:db8:1::2/128

    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.

  2. Affichez la configuration IP de l'appareil wg0:

    # ip address show wg0
    20: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
        link/none
        inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute wg0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::1/32 scope global noprefixroute
           valid_lft forever preferred_lft forever
        inet6 fe80::3ef:8863:1ce2:844/64 scope link noprefixroute
           valid_lft forever preferred_lft forever

Ressources supplémentaires

  • La page de manuel wg(8)
  • La section WireGuard setting dans la page de manuel nm-settings(5)
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.