8.6. nmtui を使用した WireGuard サーバーの設定

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

この手順では、次の設定を前提としています。

  • サーバー

    • プライベートキー:YFAnE0psgIdiAF7XR4abxiwVRnlMfeltxu10s/c4JXg=
    • トンネル IPv4 アドレス:192.0.2.1/24
    • トンネル IPv6 アドレス:2001:db8:1::1/32
  • クライアント:

    • Public key: bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM=
    • トンネル IPv4 アドレス:192.0.2.2/24
    • トンネル IPv6 アドレス:2001:db8:1::2/32

前提条件

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

    • サーバーの秘密鍵
    • クライアントの静的トンネルの IP アドレスとサブネットマスク
    • クライアントの公開鍵
    • サーバーの静的トンネル IP アドレスおよびサブネットマスク
  • NetworkManager-tui パッケージをインストールしました。

手順

  1. nmtui アプリケーションを開始します。

    # nmtui
  2. Edit a connection 選択し、Enter を押します。
  3. Add を選択し、Enter を押します。
  4. リストから WireGuard 接続タイプを選択し、Enter を押します。
  5. Edit connection ウィンドウで:

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

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

      nmtui WireGuard サーバー全般
    4. Peers ペインの横にある Add をクリックします。

      1. クライアントの公開鍵を入力します。
      2. Allowed IPs フィールドには、このサーバーへのデータ送信を許可するクライアントのトンネル IP アドレスを設定します。
      3. OK を選択し、Enter を押します。

        nmtui WireGuard サーバーのピア設定
    5. IPv4 Configuration の横にある Show を選択し、Enter を押します。

      1. IPv4 設定方法 Manual を選択します。
      2. トンネルの IPv4 アドレスとサブネットマスクを入力します。Gateway フィールドは空のままにします。
    6. IPv6 Configuration の横にある Show を選択し、Enter を押します。

      1. IPv6 設定方法 Manual を選択します。
      2. トンネルの IPv6 アドレスとサブネットマスクを入力します。Gateway フィールドは空のままにします。
    7. OK を選択し、Enter を押します

      nmtui WireGuard サーバーの IP 設定
  6. 接続のリストが表示されたウィンドウで、Back を選択し、Enter を押します。
  7. NetworkManager TUI のメインウィンドウで、Quit を選択し、Enter を押します。

検証

  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)