Tailscaleはデフォルト設定では、tailnetに参加していないエンドポイントへの通信はtailnetを介さない(Tailscaleをオフにした状態と同じ)。しかし、以下のような場合に困ることがある。
- IP制限を設定しているサービスにアクセスしたい場合
- カフェや外出先の信頼できないWIFIでインターネットに接続する場合
このような場合にExit Nodesが利用できる
Exit Nodes は Tailscale のネットワーク(tailnet)にないエンドポイントへの通信も(つまり、全ての通信を)指定したノード経由にする機能のこと。他のOpenVPNやWireguardのルーティングをdefault routes (0.0.0.0/0, ::/0) で利用した場合と同じと考えて良い。これによりWIFIが信頼できない場合でも、通信が暗号化でき盗聴のリスクが軽減される。また、送信先のエンドポイントにはクライアントがExit Nodeに見えるため、IPも固定できる。
使い方は簡単で、Exit Nodeを事前に作成(Tailscaleを起動する際に、Run exit node を選択する)しておき、クライアント端末でTailscaleの設定から Use exit node を選択する。企業だけでなく、個人開発とかで固定IP持ってない場合でも、作業端末から固定IPでアクセスできるようになるので結構便利そう。
注意点としては、今のところ全てのトラフィックをExit Node経由にしてしまうため、細かいルーティングは難しそう。その場合は、subnet routers を使えとのこと。