8.13. nm-connection-editor を使用した WireGuard クライアントの設定
NetworkManager で接続プロファイルを作成することで、WireGuard クライアントを設定できます。この方法を使用して、NetworkManager に WireGuard 接続を管理させます。
前提条件
- サーバーとクライアントの両方に公開鍵と秘密鍵を生成している。
以下の情報を把握している。
- クライアントの秘密鍵
- クライアントの静的トンネルの IP アドレスとサブネットマスク
- サーバーの公開鍵
- サーバーの静的トンネル IP アドレスおよびサブネットマスク
手順
端末を開き、次のコマンドを入力します。
# nm-connection-editor
- + ボタンをクリックして、新しいコネクションを追加します。
-
WireGuard
の接続の種類を選択し、作成 をクリックします。 - オプション: 接続名を更新します。
-
オプション:
General
タブで、Connect automatically with priority
を選択します。 WireGuard
タブで、以下を行います。-
NetworkManager が接続に割り当てる仮想インターフェイス (
wg0
など) の名前を入力します。 - クライアントの秘密鍵を入力します。
追加 を選択して、ピアを追加します。
- サーバーの公開鍵を入力します。
Allowed IPs
フィールドを設定します。たとえば、次のように設定します。- サーバーのみがこのクライアントと通信できるようにするサーバーのトンネル IP アドレス。
リモートの IPv4 アドレスおよび IPv6 アドレスが、このクライアントと通信できるように許可する
0.0.0.0/0;::/0;
この設定を使用して、すべてのトラフィックをトンネル経由でルーティングし、WireGuard サーバーをデフォルトゲートウェイとして使用します。すべてのトラフィックをトンネル経由でルーティングすると、サーバーのルーティングとファイアウォールの設定によっては他のホストへの接続に影響が及ぶ可能性があることに注意してください。
-
Endpoint
フィールドに、WireGuard サーバーのホスト名または IP アドレスとポートを入力します。hostname_or_IP:port_number
の形式を使用します。 - オプション: ネットワークアドレス変換 (NAT) を使用するネットワークでクライアントを使用するか、しばらく非アクティブにした後にファイアウォールが UDP 接続を閉じる場合は、永続的なキープアライブの間隔を秒単位で設定します。この間隔で、クライアントは、キープアライブパケットをサーバーに送信します。
- Apply をクリックします。
-
NetworkManager が接続に割り当てる仮想インターフェイス (
IPv4 Settings
タブで、以下を行います。-
Method
リストでManual
を選択します。 - 追加 を選択して、トンネルの IPv4 アドレスとサブネットマスクを入力します。
すべてのトラフィックをトンネル経由でルーティングする場合は、サーバーのトンネル IPv4 アドレスを
Gateway
フィールドに設定します。それ以外の場合は、フィールドを空のままにします。すべての IPv4 トラフィックをトンネル経由でルーティングするには、このクライアントの
Allowed IPs
フィールドに0.0.0.0/0
を含める必要があります。
-
IPv6 Settings
タブで、以下を行います。-
Method
リストでManual
を選択します。 - 追加 を選択して、トンネル IPv6 アドレスとサブネットマスクを入力します。
すべてのトラフィックをトンネル経由でルーティングする場合は、
Gateway
フィールドに、サーバーのトンネル IPv6 アドレスを設定します。それ以外の場合は、フィールドを空のままにします。すべての IPv4 トラフィックをトンネル経由でルーティングするには、このクライアントの
Allowed IPs
フィールドに::/0
を含める必要があります。
-
- 保存 を選択して、接続プロファイルを保存します。
検証
サーバーの IP アドレスの ping を実行します。
# ping 192.0.2.1 # ping6 2001:db8:1::1
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
出力で秘密鍵を表示するには、
WG_HIDE_KEYS=never wg show wg0
コマンドを使用します。VPN トンネルを介してトラフィックを送信している場合は、
latest handshake
エントリーとtransfer
エントリーのみが含まれることに注意してください。wg0
デバイスの IP 設定を表示します。# 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 brd 192.0.2.255 scope global noprefixroute wg0 valid_lft forever preferred_lft forever inet6 2001:db8:1::2/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::73d9:6f51:ea6f:863e/64 scope link noprefixroute valid_lft forever preferred_lft forever
関連情報
-
man ページの
wg(8)