WireGuard

提供: ArchWiki
2017年11月9日 (木) 23:36時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

WireGuard のホームページより:

Wireguard は最先端の暗号技術を使用する非常にシンプルで高速な VPN です。IPSec よりも高速・単純・軽量・有用であることを目指しており、面倒なことを避けています。OpenVPN と比べると高いパフォーマンスを発揮します。WireGuard は組み込みインターフェイスからスーパーコンピュータまで様々な環境に対応する汎用の VPN として設計されています。最初は Linux カーネル用にリリースされており、幅広いデプロイが可能なクロスプラットフォームになる予定です。まだ開発途上ではありますが、最もセキュアで使いやすくシンプルな VPN とされています。

インストール

wireguard-dkmswireguard-tools パッケージをインストールしてください。

使用方法

公開鍵と秘密鍵を作成するには:

$ wg genkey | tee privatekey | wg pubkey > publickey

サーバー

全ての IP から秘密鍵を使って接続できるようにサーバーを設定するには:

$ ip link add dev wg0 type wireguard
$ ip addr add 10.0.0.1/24 dev wg0
$ wg set wg0 listen-port 51820 private-key ./privatekey
$ wg set wg0 peer [client public key] allowed-ips 0.0.0.0/0

クライアント

クライアントからサーバーに接続するには:

$ ip link add dev wg0 type wireguard
$ ip addr add 10.0.0.1/24 dev wg0
$ wg set wg0 private-key ./privatekey
$ wg set wg0 peer [server public key] allowed-ips 10.0.0.1/24 endpoint [server ip]:56104 persistent-keepalive 25

showconf を使うことで設定を保存できます:

$ wg showconf wg0 > /etc/wireguard/wg0.conf
$ wg setconf wg0 /etc/wireguard/wg0.conf

トラブルシューティング

DKMS モジュールが使用できない

wireguard-dkms をインストールしても以下のコマンドでモジュールが確認できない場合:

$ modprobe wireguard && lsmod | grep wireguard

あるいは以下のように新しいリンクを作成しようとするとエラーが表示される場合:

# ip link add dev wg0 type wireguard
RTNETLINK answers: Operation not supported

linux のヘッダーが存在しないのが原因かもしれません。

カーネルヘッダーは linux-headers または linux-lts-headers パッケージでインストールできます。