- 日記さん 次回のネット接続構成
- 日記さん ミニPCのセカンドライフ
- 日記さん 3回目の中国の旅先用ルータとしてのミニPC
- 日記さん 金盾対応のPBR
- 日記さん Proxmox環境のミニPCを無線ルータ化する
- 日記さん Proxmox環境のOpenWrtでミニPC本体のWi-Fiデバイスを利用する
今回は、グローバルIPアドレスの来ている実家にVPNサーバを設置し、旅先にはProxmoxを駆使してミニPCを高機能ルータ化したものを持っていっていましたが、実際どんな感じだったかという話です。
旅先ルータ-実家サーバ間通信
旅先ルータ-実家サーバ間のVPNプロトコルとしては、
- ZeroTier
- SoftEther
- OpenConnect
の3種類のトンネルを張っておいて、どれを通すかを切り替えて使うという構成にしていました。
★ZeroTier
3つのプロトコルのうちZeroTierだけは、どういうしくみなのかトンネルを張るのにDNS問い合わせを必要としないので、
(1) まずZeroTierで実家サーバにトンネルを張る。
(2) DNS問い合わせはすべてZeroTierのトンネルを通して行う。
とすることで、金盾によるDNS問い合わせの監視や改ざんを回避していました。
ところがどういうわけか成都の宿ではZeroTierの通信がうまくいかない。贵阳・重庆・宜宾では問題なくて、成都でもモバイル回線だと大丈夫だったのに。2回目の成都は別の宿だったんですが、そちらでもうまくいきませんでした。
★OpenConnect
OpenConnectは全体的に不安定でした。正確に言えば、OpenWrtのOpenConnectクライアントの動きがいまいちな印象です。端末から実家サーバ内のOpenWrtにはアクセスできるのに、同じセグメントの別OSにはなかなかアクセスできないみたいな挙動を見せたりとか。
★SoftEther
そんな中、NHKプラスとかの動画ストリーミングでも通信品質が一番よくて、挙動的に安定もしていたのがSoftEther。なので、旅先ルータ-実家サーバ間の通信は最終的には全部SoftEtherが担当する構成に落ち着きました。
ZeroTierとOpenConnectはOpenWrtからトンネルを張っていたけど、SoftEtherは独立したLubuntuから張っていたというのも関係していたのかも?
ただ、たまにSoftEtherがうまく機能しない場面もあって、そういうときにはZeroTierを代わりに使うといったこともありました。プロトコルを複数用意しておくのは大事そうです。
ちなみにVPNサーバのポート番号は、443でなくても大丈夫でした。
スマホ-実家サーバ間通信
旅先ルータ-実家サーバ間の通信はSoftEtherがベターという結論になりましたが、SoftEtherにはスマホアプリがありません。
ということで、スマホではZeroTierとOpenConnectの両アプリを使っていたんですが、どちらも特に不都合はありませんでした。
ところでOpenConnectには"Split tunnel networks"という設定があって、トンネルを通したい通信の宛先を個別に指定できるようになっているんですが、これで「Google宛の通信だけトンネルを通す」という設定を入れてみました。
https://www.gstatic.com/ipranges/goog.json
https://www.gstatic.com/ipranges/cloud.json
このGoogle所有のIPアドレスレンジ一覧から情報を抽出して。
これで、Googleへのアクセスが必要なDaybookの通信はトンネルを通して、トンネルを通すと応答しなくなるごはんやさんの注文画面は直接通信にできて便利!と思ったんですが、なぜかこれでも注文画面は表示されませんでした。どういうしくみ??
DNS over HTTPS(DoH)
今回DNS通信を暗号化できるよう、実家のサーバでDoHサービスを立ち上げていました。
GoogleやCloudflareのDoHサービス(セキュアDNS)が金盾でブロックされてしまうのは前回見ていたけれど、自前のだったら大丈夫かもしれないと思ってやってみました。金盾から見ると、HTTPSの通信にしか見えないはずなので。
でも残念ながら、自前のでもだめでした。
実家サーバのグローバルIPアドレスに直接問い合わせてもだめだし、Cloudflare Tunnelを経由して生IPを隠蔽してもだめでした。
ちなみにCloudflare Tunnelは、DoHでないHTTPSサービスだったらアクセスできたので、宛先とかでなくDoH通信っぽいふるまいで金盾はブロックしてるみたいです。なんでわかるんやろ??
旅先ルータ関連の話はもう少しあるんですが、長くなったのでまた今度。
コメント