8.6. Configuration d'un serveur WireGuard à l'aide de nmtui

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
  • Vous avez installé le paquetage NetworkManager-tui.

Procédure

  1. Lancez l'application nmtui:

    # nmtui
  2. Sélectionnez Edit a connection et appuyez sur Enter.
  3. Sélectionnez Ajouter et appuyez sur Entrée.
  4. Sélectionnez le type de connexion WireGuard dans la liste et appuyez sur Entrée.
  5. Dans la fenêtre Edit connection:

    1. Entrez le nom de la connexion et l'interface virtuelle, telle que wg0, que NetworkManager doit attribuer à la connexion.
    2. Entrez la clé privée du serveur.
    3. Définissez le numéro de port d'écoute, tel que 51820, pour les connexions entrantes de WireGuard.

      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.

      nmtui WireGuard server general
    4. Cliquez sur Ajouter à côté du volet Peers:

      1. Entrez la clé publique du client.
      2. Réglez le champ Allowed IPs sur les adresses IP du tunnel du client qui sont autorisées à envoyer des données à ce serveur.
      3. Sélectionnez OK et appuyez sur Entrée.

        nmtui WireGuard server peer config
    5. Sélectionnez Show à côté de IPv4 Configuration, et appuyez sur Enter.

      1. Sélectionnez la méthode de configuration IPv4 Manual.
      2. Saisissez l'adresse IPv4 du tunnel et le masque de sous-réseau. Laissez le champ Gateway vide.
    6. Sélectionnez Show à côté de IPv6 Configuration, et appuyez sur Enter.

      1. Sélectionnez la méthode de configuration IPv6 Manual.
      2. Saisissez l'adresse IPv6 du tunnel et le masque de sous-réseau. Laissez le champ Gateway vide.
    7. Sélectionnez OK et appuyez sur Enter

      nmtui WireGuard server ip config
  6. Dans la fenêtre contenant la liste des connexions, sélectionnez Retour et appuyez sur Entrée.
  7. Dans la fenêtre principale de NetworkManager TUI, sélectionnez Quitter et appuyez sur Entrée.

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)