12VPX
ネットワークマネージャーでのWireguard

ネットワークマネージャーでのWireguard

Contents

要件

  • 基本的なコマンドラインの知識。
  • Network Manager 1.16以降がインストールされたLinuxディストリビューション。

注意事項

Network ManagerはWireguard接続をネイティブなネットワーク接続として扱います。これらはVPN接続のリストに表示されません。VPN接続リストに表示されるものを希望する場合は、代わりにOpenVPNまたはStrongSWANを使用してください。

バージョンの確認

Network Managerのバージョンが1.16以上であることをダブルチェックしましょう。

❯ nmcli -v
nmcli tool, version 1.22.10

Wireguard設定

wireguard_servers.zipをダウンロードしてください。

ZIPファイルを解凍します。

❯ unzip wireguard-servers.zip 
Archive:  wireguard-servers.zip
  inflating: AT Vienna 2020-05-12.conf  
  inflating: AU Sydney 2020-05-12.conf  
  inflating: AU Sydney 3 2020-05-12.conf  
... etc.

Wireguard設定のインポート

Network Managerでは、ファイル名を有効なWireguardインターフェース名として扱います。例: wg0.conf、wg1.conf、..、wg1000.conf。

次にAT ViennaのWireguard設定をインポートしましょう。

❯ mv AT\ Vienna\ 2020-05-12.conf vienna-wg0.conf

❯ nmcli connection import type wireguard file vienna-wg0.conf
Connection 'vienna-wg0' (5b56bced-f8cc-49d3-8537-207f279fd6dc) successfully added.

重要: この時点では1つ以上の設定をインポートしないでください。次のステップでその理由がわかります。

接続/切断

接続をインポートした後、Network ManagerはすぐにVPNに接続します。

VPNから切断するには:

❯ nmcli connection down vienna-wg0
Connection 'vienna-wg0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/25)

再度VPNに接続するには:

❯ nmcli connection up vienna-wg0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/27)

接続の削除

使用しない、古い、または重複したWireguardインターフェースを削除することをおすすめします。

❯ nmcli connection show
NAME                         UUID                                  TYPE       DEVICE     
Wired connection 1           dd530962-d349-353f-abaa-a81595677d23  ethernet   enp4s0     
vienna-wg0                   8d752c4d-a7f4-4def-bbb3-bad23e3c8bb8  wireguard  vienna-wg0 

❯ nmcli connection delete vienna-wg0
Connection 'vienna-wg0' (8d752c4d-a7f4-4def-bbb3-bad23e3c8bb8) successfully deleted.

❯ nmcli connection show
NAME                         UUID                                  TYPE       DEVICE     
Wired connection 1           dd530962-d349-353f-abaa-a81595677d23  ethernet   enp4s0

おすすめ: ルーティングの自動設定

ほとんどの場合、すべてのトラフィックをVPNへルーティングしたいと思うでしょう。NetworkManagerが自動的に処理するように、auto-default-routeオプションを有効にしましょう。

その後、VPNに接続または再接続します。

❯ nmcli connection modify vienna-wg0 wireguard.ip4-auto-default-route true

接続の詳細

オプション

各接続に対して変更できるプロパティがいくつかあります。

利用可能なものを見てみましょう。

❯ nmcli connection show vienna-wg0
connection.id:                          AT Vienna
connection.uuid:                        b6b3f8b2-5e4f-4adf-b95c-311b29c87fc1
connection.stable-id:                   --
connection.type:                        vpn
connection.interface-name:              --
connection.autoconnect:                 no
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
...etc.

オプション: 自動接続

そこでconnection.autoconnectオプションに気付いたかもしれません。これはコンピュータの起動時に自動的にVPNに接続する機能です。

このオプションを有効にするには:

❯ nmcli connection modify vienna-wg0 connection.autoconnect yes

また、無効にするには:

❯ nmcli connection modify vienna-wg0 connection.autoconnect no

注: ラップトップではこのオプションを使用しないことをおすすめします。ホテル、スターバックスなどで使用されているログイン画面(キャプティブポータル)との相性が悪いからです。

オプション: 接続の名前変更

接続に意味のある名前を付けることを推奨します。

❯ nmcli connection modify vienna-wg0 connection.id "AT Vienna"

❯ nmcli connection show
NAME                         UUID                                  TYPE       DEVICE     
Wired connection 1           dd530962-d349-353f-abaa-a81595677d23  ethernet   enp4s0     
AT Vienna                    8d752c4d-a7f4-4def-bbb3-bad23e3c8bb8  wireguard  vienna-wg0 

これにより、以降のコマンドで**"AT Vienna"の代わりにvienna-wg0**を使用する必要があります。

オプション: 省略されたコマンド

わかりやすさのために、完全なnmcliコマンドを表示していましたが、ほとんどのコマンドは効率化のために省略形を使用できます。

いくつかの例:

❯ nmcli c i type wireguard file vienna-wg0.conf
Connection 'vienna-wg0' (71639a6e-fe83-4003-986c-6aef946fd39b) successfully added.

❯ nmcli c d vienna-wg0
Connection 'vienna-wg0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/29)

❯ nmcli c de vienna-wg0 
Connection 'vienna-wg0' (71639a6e-fe83-4003-986c-6aef946fd39b) successfully deleted.

その他