この記事では OpenWrt の WireGuard の S2S 接続に関する設定を記載しています。既に P2S の設定は以下の記事にて完了しています。 cube309b.hatenablog.com
- WireGuard に求める要件
- OpenWrt における WireGuard の実装方法
- WireGuard の設定構造
- WireGuard の設定方法
- WireGuard の設定方法 (Site A)
- WireGuard の設定方法 (Site B)
- 複数のピアを設定した場合の挙動
- 設定のための参考サイト
- OpenWrt の WireGuard 設定を終えて
WireGuard に求める要件
やりたいこと
私の環境では、既に VPN パッケージを二種類利用している関係から WireGuard の採用は見送っています。 しかしながら、実家側のルーターを OpenWrt に入れ替えることになれば OpenVPN をやめて WireGuard に統一可能になるので、試すだけ試して将来に備えます。
OpenWrt における WireGuard の実装方法
P2S の時と変わりありません。画面最上部の過去記事を参照ください。
WireGuard の設定構造
P2S の時と変わりありません。画面最上部の過去記事を参照ください。ちなみに、サーバーの場合だと下図になります。
WireGuard の設定方法
WireGuard、管理画面(日本語化含む)
P2S の時と変わりありません。画面最上部の過去記事を参照ください。
WireGuard の設定方法 (Site A)
証明書の作成
SSH で OpenWrt に接続し、以下を入力します。
umask go= wg genkey | tee sitea.key | wg pubkey > sitea.pub wg genkey | tee siteb.key | wg pubkey > siteb.pub wg genpsk > s2s.psk
その後、以下を続けて入力して sitea.key、sitea.pub、siteb.key、siteb.pub、s2s.psk の値を控えておきます。
cat sitea.key cat sitea.pub cat siteb.key cat siteb.pub cat s2s.psk
インターフェースの登録
- [ネットワーク]-[インターフェース]-[インターフェース] インターフェースを新規作成を押します。
- 名前:wg0 or wgx、プロトコル:WireGuard VPN として、インターフェースを作成を押します。
[一般設定] 以下の設定を行います。
設定項目 設定値 秘密鍵 sitea.key の中身の文字列 公開鍵 sitea.pub の中身の文字列 リッスンポート 任意の数値 (控えておく) [ピア] ピアを追加を押します。
以下を入力の上、保存 → 保存 → 保存&適用を押します。
設定項目 設定値 説明 定義の名前。わかりやすく 公開鍵 siteb.pub の中身の文字列 秘密鍵 siteb.key の中身の文字列 事前共有鍵 s2s.psk の中身の文字列 許可された IP Site B で利用されているサブネット 許可された IP のルート チェック エンドポイントホスト Site B のグローバルアドレス エンドポイントポート Site B の待ち受けポート 永続的なキープアライブ 25
通信の許可
[ネットワーク]-[ファイアウォール]-[トラフィック・ルール]-[一般設定] 以下の設定を行います。
設定項目 設定値 名前 定義の名前。わかりやすく プロトコル UDP 送信元アドレス Site B のグローバルアドレス 送信元ゾーン wan 宛先ゾーン デバイス (入力) 宛先ポート 前項で定義したものと同一の必要がある [ネットワーク]-[ファイアウォール]-[トラフィック・ルール]-[詳細設定] アドレスファミリの制限をIPv4 のみに変更し、保存 → 保存&適用を押します。
WireGuard の設定方法 (Site B)
インターフェースの登録
- [ネットワーク]-[インターフェース]-[インターフェース] インターフェースを新規作成を押します。
- 名前:wg0 or wgx、プロトコル:WireGuard VPN として、インターフェースを作成を押します。
[一般設定] 以下の設定を行います。
設定項目 設定値 秘密鍵 siteb.key の中身の文字列 公開鍵 siteb.pub の中身の文字列 リッスンポート 前項で定義したものと同一の必要がある [ピア] ピアを追加を押します。
以下を入力の上、保存 → 保存 → 保存&適用を押します。
設定項目 設定値 説明 定義の名前。わかりやすく 公開鍵 sitea.pub の中身の文字列 秘密鍵 sitea.key の中身の文字列 事前共有鍵 s2s.psk の中身の文字列 許可された IP Site A で利用されているサブネット 許可された IP のルート チェック エンドポイントホスト Site A のグローバルアドレス エンドポイントポート Site A の待ち受けポート 永続的なキープアライブ 25
通信の許可
[ネットワーク]-[ファイアウォール]-[トラフィック・ルール]-[一般設定] 以下の設定を行います。
設定項目 設定値 名前 定義の名前。わかりやすく プロトコル UDP 送信元アドレス Site A のグローバルアドレス 送信元ゾーン wan 宛先ゾーン デバイス (入力) 宛先ポート 前項で定義したものと同一の必要がある [ネットワーク]-[ファイアウォール]-[トラフィック・ルール]-[詳細設定] アドレスファミリの制限をIPv4 のみに変更し、保存 → 保存&適用を押します。
複数のピアを設定した場合の挙動
例えば、私のように 外 ⇔ Site A ⇔ Site B ということも可能です (A が Hub になって外と Site B の二つのピアを設定)。この場合、注意点としては、外や Site B 側の許可された IP に対向 (外や Site B) のアドレス情報を入力しておく必要があります。
設定のための参考サイト
設定に当たっては、以下の情報を参考にしました。
OpenWrt の WireGuard 設定を終えて
こうして OpenWrt を使って WireGuard でリモートアクセス可能になりました。実家側を入れ替えたくなってきました・・・。
Note |
---|
・ 当ブログは個人主催であり、ブログ中のすべての情報は個人的な観点となります。 ・ 情報については正確な内容となるよう努めますが、完全性や正確性、有用性、安全性、最新性について一切保証できかねます。 |