先日
★現状のVPN環境はヤマハルーター「NVR500」のL2TP/IPsecですが他のVPN環境も検証>Tailscale(WireGuardによる高速VPN)の接続先(サーバー側subnet router機能)をLinuxのDocker環境で動かしてみた(クライアントはWindows 11)(2026年2月14日(土曜日))
な環境を導入しました。通常のVPNと同様、こちらのVPNに接続したらその接続先のローカルに所属し、その接続先のIPでWebサイトなどにアクセスするのかと思いきや、そうではないのが標準でございました(ローカルブレイクアウトとかその方が帯域的に都合良い場合もございますが)。なのでSquidとかProxyサーバーのDocker環境でも作れば接続先のIPでWebにアクセスするとかできるのかな?と思ってたらTailscaleでそういう接続ができるオプションがあるようです。
質問の意図は「Tailscaleのsubnet router経由で、外部のWebサイト(GoogleとかYouTubeなど)にアクセスしたい」で、つまり外出先のデバイスから内部ネットワークのマシンを経由してインターネットに出る(出口IPが内部ネットワークのものになる)ということですね。結論から言うと:subnet routerだけでは外部Webの経路は変わりません。
Tailscaleのsubnet routerはプライベートサブネット(内部LAN)への到達専用で、**一般的なインターネットトラフィック(0.0.0.0/0)**はルーティングしません。外部のWebサイトを接続先のネットワーク(例: 自宅回線)のIPでアクセスしたい場合は、**Exit Node(出口ノード)**機能を使います。
という事で。
これで外部Webサイトへのアクセスが自宅回線のIPから出るようになります。
と。

さっそく設定していきましょう。ちなみにsubnet routerとexit nodeを同時ノードで有効化可能(無料のFreeプランでも)という事で今回やるのは前回、subnet router環境として用意した
docker-compose.yml
ファイルに
- TS_EXTRA_ARGS=--advertise-exit-node --accept-routes --reset
を追加してそのファイルがあるディレクトリで
docker compose down
して
docker compose up -d
でLinxu側の環境設定は完了。そうするとTailscaleの管理画面一覧でexit node設定したマシンの設定に

「exit node」の表示が出て来ました。この時点ではまだ機能はOnになっていないので
「...」 → 「Edit route settings」→「Use as exit node」

にチェックを入れて保存。
これでサーバー側の環境構築は完了。
クライアント側でexit nodeを使用する時には明示的にその接続使用を選択しなければなりません。
Windowsですと

iPhoneですとアプリの方から


ですね。
必要に応じてLANアクセスも同時に有効に--exit-node-allow-lan-access をクライアント側に追加すると、exit nodeを使いつつ自宅LANの内部機器にもアクセス可能
これはやらなくてもローカルのいわゆる自宅LAN内内部機器にも接続できましたけれども。