前回以下の記事で広告ブロックサーバーを導入しましたが、外出先でスマホからでもこのサーバーを経由していました。

その時に利用していたVPNがルーター(NVR510)のL2TP/IPsecですが、なぜかGoogleやらBingやらの検索ができなかったり、できたりで不安定でした。さらにモバイル回線でVPNを張ったまま帰宅しても自動でWi-Fiに繋がらず、手動で解除するか、iPhoneのオートメーションを使うかしなく、少し不便を感じていました。(どちらもNVR510の設定次第で改善できたりするのかもしれません)
VPNプロバイダーのアプリでVPNを張るとWi-Fiとモバイル回線間は自動で切り替わるので、おそらくVPNクライアントらへんによるのかもしれません。
そこで、今回はUbuntuにDockerをインストールし、ここにWireGuardを導入し、VPNを構築してみました。構築方法は結構簡単で、検索すると色々と出てくるので割愛しますが、参考までに動画のリンクを以下に貼っておきます。Dockerの導入方法も概要欄からジャンプできます。
ただし、私の環境ではこのとおりに構築してもVPNは張れるものの、パブリックDNSに頼らないとインターネットにアクセスできなかったりLAN内に入れなかったので、備忘録として対処方法を載せておきます。動画の主はNECのUNIVERGEですが、当方NVR510&固定IPアドレスですので、この辺も補足します。
NVR510のポート開放について
まず、ルーターのポート開放については動画と同じ設定でいくと、
nat descriptor masquerade static (descriptor ID) (識別番号) (WireGuardサーバーのIP) udp 51819=51820
となり、natの他にも一応IPフィルターのin方向にも設定します。51820ポートのみの設定でOK。
パブリックDNSに頼らないとインターネットに接続できなかったのは、IPフィルターの設定間違いだったかもしれません。
WireGuardの設定
Webブラウザから、WireGuard Serverにアクセスし、Global Settingsの
- Endpoint Addressは(固定IP):51819に設定。IPのみでもいいかも。
- DNS Serversは任意。AdGuard HomeのIPとか。
続いて、Wireguard ClientsのAllowed IPsに10.252.1.0/24、172.17.0.0/24以外にLANのサブネットを追加。DNS ServersにLAN内のサーバーを参照する場合は、そのサブネットを追加する必要があります。
これで、無事スマホのモバイル回線経由でもAdGuard Homeを参照でき、広告を消すことができました。Wi-Fiとモバイル回線間も自動で切り替えできました。さらにスマホのアプリからWi-FiになるとVPN解除、モバイル回線に切り替わるとVPNに接続することも可能です。外から内部機器のメンテが必要な時に重宝します。ただし、詳細はまだわかりませんが、WireGuardは特定のSSIDでVPNのオンオフができるかは不明です。簡単にできます。
私はパケット無制限プランなので不要ですが、公衆無線LANに接続する方はiPhoneのプロファイルでNVR510のL2TP/IPsecと併用するといいかもしれません。
とりあえずこんなところでした。色々と分かり次第、追記していくかも。
※これまでの設定だとWireGuard経由、つまりVPN経由ではAllowed IPsで許可した
10.252.1.0/24 → クライアント自身とサーバーのサブネット
追加したその他サブネット → VPN経由で通信したいネットワーク
これらの通信のみとなります。それ以外のインターネット等はVPNを経由せず、通常の回線でのアクセスになります。全通信をVPN経由とするにはAllowed IPsを0.0.0.0に設定します。公衆無線LANなどを利用する場合は、重宝しそうですが、以下のとおり注意点もあるようです。

追記
動画のとおりにやってもLAN内に入っていけない要因を調べてみたら、これかもしれません。
https://vpslife.server-memo.net/ubuntu_wireguard_install/#toc6フォワーディングかと思いましたが、WireGuardのymlの中に同設定がありました。やはりAllowed IPsなのかもしれません。
とはいえ、こういった設定をしなくても通信できているので、今はこの状態で運用し、後で検証用の環境を構築したうえで試してみたいと思います。
また、構築してから1日程度普段使いしてみたら、NVR510のL2TP/IPsecより、勝手がいいですね。通信が不安定になることもなく、無通信状態からの再開もスムーズ。Speedtestも十分です。(NVR510のL2TP/IPsecではテストをぶん回すとVPNが途切れる)
IPv4でNAPTかけずに、IPv6でいけるんじゃないかと思いましたが、これはまた別の機会に試してみることとします。



コメント