
ラボの解析環境を外に持ち出す -Multi-WANとプライベートVPNが便利-
先日、講義の依頼がありまして、ご対応させていただきました。内容は以下の実演です。

現地実習としてUAV(ドローン)と地上レーザスキャナでそれぞれデータを取得
これを講義室に持ち帰り、点群データを作成
二つのデータを航空レーザ測量データ基準で位置合わせ
出来上がったマッチングデータから樹高や胸高直径を計測、立木のスライスデータを作成

地上レーザデータの幹位置ベースで樹木位置を特定して、UAVデータから樹高を読み取る
現地では、ドローンは想定通りに飛んでくれた、地上レーザのデータもきれいに取れた、ここまではよかったんです。しかしそのあとの段取りで手こずった。
解析は計算量が多すぎてプレゼンテーション用ノートPCでは無理だから、事務所の解析環境にデータを送って、事前に仕込んだパイプラインでターミナルで処理し、出来上がったデータをCloudCompareやQGISで表示しながらご説明する、という段取りを準備、想定していたんですが、なんと講義室から事務所にVPN接続ができない!
ゲストPCにはトンネリングが許可されないというセキュリティの縛りがあったんです。そりゃそうだわな。それで当日は、セルラールーター等お借りしつつ、あの手この手で解析から講義まで、なんとか完遂させていただきました。
Multi-WANとWireGuard
それで今後のこともあるし、出張先でのVPN接続の環境を、回線ごと見直そうと思うんですね。今回のテーマは以下二点です。
Multi-WAN環境
出張先の施設のネットワークに頼らず、テザリングやUSBモデムといった自前の回線を複数持ち込み、状況に応じて携行ルーターのMulti-WAN機能で外部接続経路を自動的に切り替えWireGuardによるプライベートVPN環境の構築
端末ごとにVPN接続するのではなく、携行ルーターと事務所のサーバとの間でトンネルを1本張る構成。配下の端末はルーターのWi-Fiにつなぐだけで、VPNの接続操作なしに事務所ネットワークへ到達
出張先でVPNを使用するメリット
出張先でVPNを使用するメリットはこうだと思います。
トンネル内通信だからセキュリティが確保されている
事務所の作業環境、SMBサーバや解析用WSへのターミナルやRDP接続からオフィス系のクラウドやDBへの接続、チームウェアとの接続まで、いつもの作業環境をそのまま持ち出せる
海外など接続制限があるようなところでも日本と同じ環境で仕事ができる。例えば中国本土ではGoogleのサービスは使えないし、欧州ではYahoo! JAPANのサービスが使えなかったりします。これが突破できるわけです(もちろん他国は他国のポリシーがあってやってることなので、安易にこれを突破するのはおすすめはしません、自己責任でどうぞ)
使用する機器
今回の構成で使用する機器は以下のとおりです。

GL.iNet GL-MT3000(Beryl AX):携行ルーター、WireGuardクライアント
ZTE MF833V:USBモデム、これに通信用SIMカードを突っ込む。Phantom4のコントローラーに突っ込んであったのをすっかり忘れていたもの
普段使ってるiPhone:USBテザリングに使用
ヤマハ NVR510:事務所の境界ルーター。L2TP/IPsecの受け口は温存しつつ、WireGuardの使用ポートをWireGuardサーバに転送する設定を追加する
SMBサーバとして24時間稼働しているUbuntuサーバにWireGuardサーバを立てる
GL-MT3000はOpenWrtベースの携行ルーターで、Wi-Fi 6対応、WAN側2.5Gbps、LAN側1GbpsのEthernetポートと、USB 3.0ポートを1基備えます。
VPNの公称スループットはWireGuardで最大300Mbps。
WAN回線は有線・施設Wi-Fi・iPhoneのUSBテザリング・USBモデムの4系統を使えます。サイズは120×83×34mm、196gと、出張に持っていけるサイズ。
MF833VはSIMフリーのLTE USBドングルモデム(下り公称150Mbps)です。GL-MT3000に突っ込む前に、データSIMでの通信の設定は済ませておきましょう。
ちょこちょこっといじくりまわしてみた
特に難しいことないです。要点だけ書きます。
Multi-WAN環境の設定

上流回線は有線(WANポート)・施設Wi-Fi(リピーター)・iPhoneのUSBテザリング・MF833Vの4系統。管理画面のMulti-WANで優先順位を決めておけば、あとは自動で切り替わります(既定は有線 > リピーター > テザリング)
MF833Vは事前に設定しておけば、USBポートに挿すだけで、外部接続回線として認識されます。モデムっていうよりルーターなので、MT3000の設定上はテザリング扱いになるようです、そこは要注意。
iPhoneのテザリングを掴まないときは、「設定→インターネット共有」をいったんオフ→オンしてからケーブルを挿すと復帰します
WireGuardの設定

トンネルは事務所のUbuntuサーバとMT3000の間に1本。サーバ側はwireguardをaptでパッケージインストール、/etc/wireguard/wg0.confにピアを1つ書き、IP転送とNATを有効にする
待ち受けはUDP 443にしました。L2TPが通らないネットワークでも通る見込みが高いためです。事務所の境界ルーター(NVR510)には、UDP 443をサーバへ転送する設定を追加します。ただ、中国の「金盾」いわゆるグレートファイヤーウォールではむしろ新しめのプロトコルがブロックされる傾向があるから、既存のL2TP/IPsec設定は残し、WireGuardが通らなかったら個別に接続する。今のところグレートファイヤーウォール越しのL2TP接続は実績があります
MT3000側のプロファイルは1つ。AllowedIPsは0.0.0.0/0でどの宛先もトンネルに流せるようにしておく。PersistentKeepalive 25を入れておきます
「全通し」だとウェブアクセスのような通信も事務所と折り返しになるから、国内などの通常の環境では経路上無駄になります。「事務所宛てだけトンネル、ほかは直行」のスプリットルールも入れて必要に応じてスイッチできるようにする。これは設定画面中の「Primary Tunnel」で行います。GL.iNetはプロファイルのAllowedIPsを経路制御に使わない仕様のようです
海外(フル)⇄国内(スプリット)の切り替えは、ポリシーの宛先を「指定IPリスト⇄全てのターゲット」に変えるだけです。モード自体(グローバル⇄ポリシー)は切り替えません。FW 4.8.1ではモードを往復するとポリシーのルールが消えちゃいます
スプリット運用時はKill Switchをオフにします(オンにするとトンネル外の通信=ウェブが全て遮断されます)
スペックはどうか
MT3000にはMT3600BE(Beryl 7)などの上位機種があって、Wi-Fi 7対応でVPNの速いものもありますが、想定する使い方ならWireGuard公称300MbpsのMT3000で十分と考えています。
出張先からデータを事務所に送る:これはWAN回線がボトルネック。最悪携帯テザリングやUSBモデム経由で送るわけだから、ルーターの処理スピードが速かろうが遅かろうが関係ない
Claude Code:SSHで事務所のサーバに接続し、tmuxのセッションにアタッチして使います。流れるのはテキストだけで、帯域はほとんど食いません
NoMachineでのリモートデスクトップ:点群の三次元表示を操作する場合でも、レンダリングは事務所側で済んでいて、手元に流れてくるのはフレームバッファ、画面の更新分だけ
重要な追記!「AdGuard Home」がいいぞ!
MT3000には「AdGuard Home」という機能があります。一般に公開され随時更新されている広告サイトの情報を自動的に取り込んで、これを内部セグメントから外部へDNSへのクエリが発生する都度参照、該当するクエリをブロックするという仕掛けです。

設定画面でぽちりと有効化、それでweb画面に出る広告の大半をブロックしてくれるという優れモノ。試しにMT3000配下にPCをつないで広告が多そうなページを二つ三つ開いてみたら、なんと586クエリ中、広告としてブロックされたクエリが229だったという、とんでもねえ結果でした。

だいたいやね、人がルータの記事を書いてるからといってルータの広告をねじ込んでくるその根性が気に入らんっちゅうねん。ちなみにこのエリアは、普段は毛生え薬か精力剤の広告ばかりが表示される、最もうっとおしいエリアだったのだ。

出張先の施設のネットワークが使えても、VPNトンネルが通るとは限りません。あるいは、出張先のホテル、あるいはカフェなんかのWi-Fiが混雑や設備の老朽化で使い物にならないケースもままあります。あるいは、解析に複数台のPCなりタブレットなりを使うケース。複数人で出張作業を行うときなどでも役に立つと思います。
持ち込む機材は計3点、携行ルーターは196gです。処理性能は十分。次の出張から実運用に入りたいと思います。ということで次回に続く。