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 を使えとのこと。