自宅のサーバーに外から繋ぎたい。旅先から開発環境にSSHしたい。チームメンバーに開発サーバーを見せたいが、インターネットに晒したくない。

こういう要求に対して、従来の答えは「VPNサーバーを立てる」か「ポートを開ける」かだった。前者は設定が複雑で、後者は攻撃面が増える。

Tailscaleは、この問題を別のアプローチで解いている。


結論を先に

Tailscaleは WireGuardをベースにしたメッシュVPNサービスだ。

インストールしてログインするだけで、自分のデバイス同士がプライベートネットワークで繋がる。ルーター設定もポート開放も証明書管理も不要。各デバイスに 100.x.x.x の固定IPが割り当てられ、それを使ってSSHもファイルアクセスも普通にできる。

従来のVPNとの最大の違いは中央サーバーを経由しない点だ。

従来のVPN:
  デバイスA → VPNサーバー → デバイスB

Tailscale(メッシュVPN):
  デバイスA ← WireGuard P2P → デバイスB
              (直接暗号化通信)

TailscaleのコーディネーションサーバーはP2P接続の経路を教えるだけで、実際の通信には介在しない。NAT越えが必要な場合のみ中継サーバー(DERP)を使うが、それも暗号化されたままだ。


セットアップ

# Linux
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

# macOS / Windows / iOS / Android はGUIアプリをインストールするだけ

tailscale up を実行すると認証URLが表示される。ブラウザで開いてGoogle・GitHub・MicrosoftのSSOでログインすれば完了だ。

同じアカウントでログインしたデバイスが全部 100.x.x.x のネットワーク上に現れる。


主な使いどころ

自宅サーバーへのリモートアクセス

Tailscaleが最も自然にハマるのはこのユースケースだ。Raspberry Pi・NAS・デスクトップPCをどこからでもアクセスできる状態にしつつ、インターネットには一切晒さない。

# 自宅のRaspberry PiにどこからでもSSH
ssh pi@100.x.x.x

開発サーバーの共有

localhost:3000 で動いている開発サーバーをチームメンバーに見せたい場面で使える。ngrokより設定が少なく、URLが変わらないため安定している。

VPSのSSHをパブリックに晒さない

VPSのSSHポート(22)をファイアウォールで完全に閉じて、Tailscale経由でのみアクセスする構成が取れる。外部からの総当たり攻撃を物理的に排除できる。

# ufw設定例(Tailscaleのインターフェイスからだけ22番を許可)
ufw allow in on tailscale0 to any port 22
ufw deny 22

WSL・開発環境へのアクセス

WSLで動かしている開発環境に外からアクセスしたい場合も、Tailscaleを入れるだけで繋がる。WindowsとWSL双方にTailscaleをインストールする必要はなく、Windows側に入れればWSLのネットワークも共有される。


セキュリティ

Tailscaleは安全かという問いへの答えは、「設計として信頼できる」だ。

観点 内容
暗号化 WireGuard(業界標準・監査済み)
認証 SSO必須(パスワード単体でのログイン不可)
通信経路 基本はP2P。TailscaleサーバーはIPの交換のみ
アクセス制御 デバイス・ユーザー単位のACL設定が可能

懸念があるとすれば、コーディネーションサーバーがTailscale社のインフラ上にある点だ。Tailscale社がそのサーバーを制御しているため、理論上はデバイスリストの把握や接続の妨害ができる。実際の通信内容は暗号化されて見えないが、完全な自社管理が必要なケースでは考慮が必要だ。

その場合の選択肢として Headscale がある。TailscaleのコーディネーションサーバーをセルフホストできるOSSだ。クライアントはTailscaleのものをそのまま使えるため、移行コストは低い。


無料プランと制限

2024年以降、個人プランは実質無制限に近い形に変わった。

プラン デバイス数 料金
Personal 100台 無料
Starter 無制限 $6/月〜

開発用途・個人用途であれば無料プランで困ることはほぼない。


まとめ

要素 内容
仕組み WireGuardのP2Pメッシュ。中央サーバーを経由しない
セットアップ インストール + SSOログインのみ
主な用途 自宅サーバー・VPS・開発環境へのリモートアクセス
安全性 暗号化・認証ともに堅牢。コーディネーションはTailscale社管理
コスト 個人利用は100台まで無料
自己ホスト Headscaleでコーディネーションサーバーを自前管理できる

ポートを開けずにリモートアクセスを実現したい場合の第一選択肢として機能する。特にVPSや自宅サーバーの管理を複数デバイスから行う開発者にとっては、導入コストに対してリターンが大きい。


参考