Tailscaleの仕組みと使いどころ
WireGuardベースのメッシュVPNでプライベートネットワークを作る
自宅のサーバーに外から繋ぎたい。旅先から開発環境に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や自宅サーバーの管理を複数デバイスから行う開発者にとっては、導入コストに対してリターンが大きい。
参考
- Tailscale 公式サイト
- Headscale (OSS) ── コーディネーションサーバーのセルフホスト実装
- WireGuard ── Tailscaleが内部で使うVPNプロトコル