新型コロナウイルスによる感染症の広がりにより,
とはいえ,
今回は,
WireGuardとは
WireGuardとは,
OpenVPNやIPSecなど,
またWireGuardは非常にシンプルながらも高速であり,
WireGuardのインストール
今回は例として筆者の自宅内にWireGuardサーバーを用意し,
- ※1
- なお家庭内に構築したサーバーにインターネットから接続するため,
ルーターに静的マスカレードやファイアウォールの設定が必要となります。しかしこれは本記事の主旨から外れるため, 詳細は省略します。
今回は,
Ubuntu 19.
wireguardパッケージのインストール
$ sudo apt install wireguard
サーバー用鍵ペアの作成
WireGuardがインストールできたら,
- ※2
- 鍵は後述する設定ファイルに直接記述するため,
別途ファイルに保存しておく必要はありません。しかし後で再利用することと, 紛失すると鍵を再生成してクライアントに配り直さないといけないため, ここでは別ファイルに保存しています。
秘密鍵の作成と保存
$ wg genkey | sudo tee /etc/wireguard/server.key $ sudo chmod 600 /etc/wireguard/server.key
続いて,
秘密鍵から公開鍵を作成する
$ sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub $ sudo chmod 600 /etc/wireguard/server.pub
クライアント用鍵ペアの作成
クライアント側でも,
クライアントPC上でも,
$ sudo apt install wireguard $ wg genkey | sudo tee /etc/wireguard/client.key $ sudo cat /etc/wireguard/client.key | wg pubkey | sudo tee /etc/wireguard/client.pub $ sudo chmod 600 /etc/wireguard/client.key /etc/wireguard/client.pub
サーバーの設定
ここは再びサーバー上での作業となります。WireGuardの設定ファイルは,
サーバーの/etc/
[Interface] PrivateKey = 作成したサーバーの秘密鍵 Address = 10.0.0.1 (サーバーのインターフェイスに割り当てるIPアドレス) ListenPort = 51820 [Peer] PublicKey = 作成したクライアントの公開鍵 AllowedIPs = 10.0.0.2/32 (クライアントに割り当てたIPアドレス)
クライアントの設定
クライアント側にも設定ファイルが必要です。以下の内容で
クライアントの/etc/
[Interface] PrivateKey = クライアントの秘密鍵 Address = 10.0.0.2 (クライアントのIPアドレス) [Peer] PublicKey = サーバーの公開鍵 EndPoint = サーバーのIPアドレス:51820 AllowedIPs = 10.0.0.0/24 (WireGuardを経由して通信する先のIPアドレス)
見ての通りWireGuardの設定は,