相変わらず、ウチに転がってたBuffalo WZR-HP-AG300HにOpenWRTを導入して遊んでいます。
以前、OpenWRTをOpenVPNのClientにしてVPNゲートウェイを構築する方法について記事を書きました。
今回は、そのWireGuard版です。
Gl.inetルーターの場合は以下の記事を参考にしてください。
Contents
何がしたいの?/何ができるの?
以前の記事でも解説しましたが、つまりは以下の図のようにVPNクライアントアプリを設定していない端末であっても、OpenWRTを経由することによってVPNに接続できる環境を構築します。
出張とか旅行中に自宅LANにアクセスしやくすなるので、便利です。
前回はOpenVPNでこれを実現しましたが、今回はWireGuardで実現します。
構築手順
これも前回の記事と同じです。
この記事でも、OpenWRT導入が完了していることが前提となります。
Buffalo WZR-HP-AG300HへのOpenWRTの導入については、以下の記事で解説しています。
OpenWRTを導入できるルータは意外と多いので、上記の機種じゃなくても導入可能です。
OpenWRTならなんでもいいはず
プラグインのインストール
OpenWRTにOpenVPNクライアントのプラグインを導入します。
OpenWRTの管理画面にログイン後、System→Softwareをクリックします。
以下の画面の「Update lists」ボタンをクリックします。
ダウンロード可能なプラグインが表示されるので、「Dismiss」をクリックします。
次に、以下ののパッケージを導入します。
これだけ。必要な関連ライブラリは自動でインストールされます。
Filterのテキストボックスに「luci-app-wireguard」を入力して、対象のパッケージを検索します。
対象のパッケージを見つけたら、その右側の「Install」ボタンをクリックしてパッケージをインストールします。
インストールが完了すると、以下のようなポップアップ画面が出てくるので、「Dismiss」をクリックして終了します。
パッケージのインストールは以上です。
WireGuardの設定
上部メニューのNetwork→Interfacesをクリックします。
以下の画面に遷移しますので、左下の「Add new interface…」をクリックします
ポップアップが出てくるので、インターフェース名を入力して、Protocolは「WireGuard VPN」を選択して「Create interface」をクリックします。
Protocolに「WireGuard VPN」が出てこないときは、ルータをリブートしてください。
続けて、ピア情報を入力します。
私の記事を参考にしてWireGuardを構築した方は、以下の手順でvpnサーバから参照(ダウンロード)可能です。
General Settings
以下の画面にて、「Private Key」、「Listen Port」、「IP Addresses」を入力して「Save」をクリックします。
Firewall Settings
「Firewall Settings」タブに移って「Create/Assign firewall-zone」にWANを設定します。
Peers
「Peers」タブに移って「Add peer」ボタンをクリックします。
以下の「Description」、「Public Key」、「Allowed IPs」、「Route Allowed IPs」、「Endpoint Host」、「Endpoint Port」を入力して最後に「Save」ボタンをクリックします。
「Allowed IPs」はVPN(トンネル経由)における接続可能なネットワークを指定します。
この例では、10.29.3.0/24(自宅LAN)との接続を許可する設定となっています。
この設定をピア(クライアント側)の設定として入力させるのは独特ですが、キモになります。
Save & Apply
最後に「Save & Apply」ボタンをクリックして、上記で設定した内容を保存&適用するとWireGuardにてVPN接続されます。
VPN接続確認
VPN接続確認
これでVPNが確立していると言われても分かりづらいので、インターネット越しに自宅LANにアクセスできるか確認してみます。
あ、いけますね。
続いてインターネットのページを開いてみます。
例えば、https://www.yahoo.co.jp/はどうでしょう?
インターネット接続もOK
念のためCMANでグローバルIPアドレスを確認してみます。
自宅のNUROのIPではない。
どうやらインターネットアクセスは、VPN越しではなく直接抜けているみたいです。
VPN越しにインターネット接続する設定
Peers
VPN越しにインターネット接続するためには、Peersの設定を修正します。
VPN(トンネル経由)における接続可能なネットワークとして、「Allowed IPs」に10.29.3.0/24(自宅LAN)を指定していました。
当初はGWとDNSに接続許可していれば良いと思っての設定でしたが、インターネット接続を許可するためにAny設定を追加する必要があるようです。
下図のように「Allowed IPs」に0.0.0.0/0(Any)を追加するか、書き換えて「Save」ボタンをクリックします。
最後に「Save & Apply」ボタンをクリックして、WireGuardにてVPN接続します。
念のため確認
あらためて念のためCMANでグローバルIPアドレスを確認してみます。
お!NUROのアドレスになった。OKです。
もちろん、インターネットアクセスも問題ありません。
これで、完璧です☆彡
この状態でOpenWRTの無線LANに接続していれば、端末にWireGuardのアプリが設定されていなくてもVPN接続できている状態になります。
まとめ
前回に続いて、OpenWRTをWireGuardクライアントにして、無線LANアクセスポイント兼VPNゲートウェイを構築してみました。
これによって、WireGuardについても端末毎にVPNアプリを設定しなくてもOpenWRTのアクセスポイントに接続すれば自宅環境等のVPNに接続することができます。
これから、GoToトラベルキャンペーンや年末の帰省で、ホテルや実家に長期滞在することもあると思いますが、こうしたアイテムをもって置くと便利じゃないかと思います。
また、今回はOpenWRTを導入して自分でWireGuardクライアントを設定しましたが、以下のようなデフォルトでOpenWRTがインストールされたルーターもあるみたいなので、Buffalo WZR-HP-AG300Hを持ってなくてOpenWRTに興味がある方は購入してみるのもいいかと思います。
これらは、OpenVPNやWireGuardクライアントにもなるし、小型ながらVPNサーバとして使うこともできるようです。
これだけで十分OpenWRTにする価値ありました。
参考になれば幸いです。
Gl.inetルーターの場合は以下の記事を参考にしてください。
おまけ
こんな風にOpenWRTを弄っていて、起動不能にしてしまった方。
以下の記事が参考になるかもしれません。
書くまでもないですが、くれぐれも自己責任でお願いします。
コメント