8.7. nm-connection-editor を使用した WireGuard サーバーの設定

NetworkManager で接続プロファイルを作成することで、WireGuard サーバーを設定できます。この方法を使用して、NetworkManager に WireGuard 接続を管理させます。

前提条件

  • サーバーとクライアントの両方に公開鍵と秘密鍵を生成している。
  • 以下の情報を把握している。

    • サーバーの秘密鍵
    • クライアントの静的トンネルの IP アドレスとサブネットマスク
    • クライアントの公開鍵
    • サーバーの静的トンネル IP アドレスおよびサブネットマスク

手順

  1. ターミナルを開き、次のコマンドを入力します。

    # nm-connection-editor
  2. + ボタンをクリックして、新しいコネクションを追加します。
  3. WireGuard の接続の種類を選択し、作成 をクリックします。
  4. オプション: 接続名を更新します。
  5. General タブで、Connect automatically with priority を選択します。必要に応じて、優先度の値を設定します。
  6. WireGuard タブで、以下を行います。

    1. NetworkManager が接続に割り当てる仮想インターフェイス (wg0 など) の名前を入力します。
    2. サーバーの秘密鍵を入力します。
    3. 着信 WireGuard 接続のリッスンポート番号 (51820 など) を設定します。

      着信 WireGuard 接続を受信するホストでは、常に固定ポート番号を設定してください。ポートを設定しないと、WireGuard はインターフェイスをアクティブにするたびにランダムな空きポートを使用します。

    4. 追加 を選択して、ピアを追加します。

      1. クライアントの公開鍵を入力します。
      2. Allowed IPs フィールドには、このサーバーへのデータ送信を許可するクライアントのトンネル IP アドレスを設定します。
      3. Apply をクリックします。
  7. IPv4 Settings タブで、以下を行います。

    1. Method リストで Manual を選択します。
    2. 追加 を選択して、トンネルの IPv4 アドレスとサブネットマスクを入力します。Gateway フィールドは空のままにします。
  8. IPv6 Settings タブで、以下を行います。

    1. Method リストで Manual を選択します。
    2. 追加 を選択して、トンネル IPv6 アドレスとサブネットマスクを入力します。Gateway フィールドは空のままにします。
  9. 保存 を選択して、接続プロファイルを保存します。

検証

  1. 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

    出力で秘密鍵を表示するには、WG_HIDE_KEYS=never wg show wg0 コマンドを使用します。

  2. wg0 デバイスの IP 設定を表示します。

    # 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

関連情報

  • man ページの wg(8)