概要
- Tailscale は、WireGuardベースの VPNオーケストレーションサービス
- 個人利用 なら無料枠でほぼ全機能が利用可能
- MagicDNSやfunnel など便利機能が多数
- ACLやタグ管理 による細かなアクセス制御が可能
- 自己ホストやサーバ管理 に最適な現代的VPNソリューション
Tailscaleの概要と導入メリット
- Tailscale は WireGuard をベースにした VPN管理サービス
- クライアントは オープンソース として公開
- Headscale というサードパーティ製コントロールサーバも存在
- 個人利用 に十分すぎる 無料プラン を提供
- 多様なデバイス (PC、スマホ、サーバ、Raspberry Pi等)に対応
- ネットワーク設定不要 で、インストール&ログインだけで利用開始
- Tailscale IPアドレス でプライベートネットワーク構築
基本的な接続方法とSSHサポート
- クライアントインストール後、コントロールサーバで認証
- 異なるネットワーク間 でも シームレス接続 が可能
- Tailscale SSH 機能により、 公開鍵やパスワード不要 でSSH接続
- Tailscaleログイン済みなら、そのままSSH利用
- スマホからのSSHも簡単
サービス単位での公開とMagicDNSの活用
- 個別サービス をノードとしてtailnet上に公開可能
- 公式DockerイメージやGoライブラリ、サードパーティツール(Centauri、tsp等)対応
- MagicDNS により、ノード名でのアクセスが可能
- 例:
http://grafana/でアクセス - ノード名は自動DNS登録
- NextDNS など特定のDNSサーバ強制も可能
- 例:
- machine.your-tailnet.ts.net 形式のアドレスも利用可能
- コントロールパネルで再生成も可
funnel・serve機能とTLS証明書
- funnel機能 でローカルサービスを HTTPSで外部公開 可能
- 例:
tailscale funnel 127.0.0.1:8080でグローバル公開 - 訪問者はTailscale不要
- 例:
- serve機能 でtailnet内限定のサービス公開
- 開発やモバイル端末からのテストに便利
認証フローのカスタマイズとプロキシ認証
- OIDCプロバイダ (例:KeyCloak)による 独自認証フロー 構築
- GitHubなど外部認証への依存を低減
- セッション期間も自由設定
- Tailscale経由のHTTPサービス に自動でユーザー情報ヘッダを付与
- 例:Tailscale-User-Login、Tailscale-User-Name等
- Grafana、Miniflux、Jelu、Linkding、Seafile 等でプロキシ認証利用可能
ACL・タグによるアクセス制御と失敗談
- 初期状態 は全ノード間アクセスが可能
- SSH再認証 や root制限 でセキュリティ強化
- タグ付与 で役割ごとにノード管理
- user、server、app、integration等
- タグ運用の失敗 :全デバイスにuserタグを付与し、自身の認証が消失
- タグ削除には再登録が必要
- グラント設定 で柔軟なアクセス制御
- 例:ユーザーデバイスのみ全アクセス、サーバ・アプリ間は限定的アクセス
その他の便利機能
- Exit Node 機能でインターネットトラフィックもTailscale経由に
- 信頼できないルータ環境や地域偽装に有効
- Tailscale lock で新規ノード追加時の認証強化
- ファイル共有機能 やその他多数の便利機能
- サーバ管理やセルフホスト に必須級の現代VPNとして推奨
まとめ
- Tailscale は現代的で 使いやすいVPN管理 サービス
- 無料枠 でも十分な機能
- サーバ・サービス管理 や 個人のプライベートネットワーク 構築に最適
- 今後の機能追加や発展 にも期待
Tailscale、めっちゃ好きなんだけど、携帯のバッテリーがすぐ減っちゃうし、WSL起動するたびにresolve.confが消えちゃうんだよね。もうちょっと運が良ければなぁ。