Tailscaleを使って無料で簡単にVPN活
November 24, 2024

https://tailscale.com/blog/how-tailscale-works
Tailscaleは、WireGuardをベースにしたVPNサービスだ。特徴として分散型のP2Pメッシュネットワークを採択しているため、より安全で高速な通信が可能になると言える。
類似ソルーションとして、CloudflareのCloudflare Tunnelというサービスがある。費用面では両者とも個人サーバー運用の用途には無料プランで十分使える設定となっていた。が、CloudflareはP2Pではないことから、今回はTailscaleを使うことにした。
活用
状況によっては、ルーターを直接触れなかったりでネット設定を自由に変更できない環境下のサーバー(デバイス)を運用しなければならない場合[1]もあると思う。その時、TailscaleやCloudflare TunnelといったVPNサービスを使うことで、ポートフォワーディング(Port Forwarding)やDDNSの設定なしでも、外部からWake-on-LAN[2]で開発PCを起こしたり、localhostへのアクセスが簡単に実現可能になる。
インストール
https://login.tailscale.com にアクセスして会員登録(SSO)を行う。

会員登録を完了し、ログインすると、以下のようなonboarding pageが表示される。

Next
をクリックすると、さっそくデバイス追加が始まる。

もちろんここはスキップして、メインページでも同じことができるが、わかりやすかったのでここで初期登録を済ませてみよう。
macOS
macOSの場合は、Mac App Storeからのインストールがメインで案内されるが、App Storeはアップデート管理がしにくいので、Homebrewでインストールし、UPする[3]。
brew install tailscale
tailscale up --ssh
ここでもし、
failed to connect to local Tailscale service; is Tailscale running?
と表示される場合は、
sudo brew services start tailscale
をしてから、もう一度tailscale up --ssh
を実行する。
UPできたら、
To authenticate, visit:
https://login.tailscale.com/a/123456789abcde
と表示されるので、リンクをクリックして認証する。すると、認証完了とともに、
Success.
と表示され、1台目のUPが完了する。
2台目のデバイスは、iPadなので、App Storeからインストールする。

Minecraftはワクワクする
2台目の登録でonboarding pageが終了するので、メインの設定ページで肝心なUbuntu(24.10)にもTailscaleを入れる。
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh
以上でこんな感じ。

その他
* MagicDNSという機能がデフォルトでONになっているため、IPだけでなく、machine名(ipad, mac16など)でアクセスすることもできる。
* machine名にポイントを当てるとSSH
オプションが表示され、それを押すことで、ブラウザーのSSHコンソールが使える。


* iPadからも問題ない。

1: シェアハウスとか研究室とか。return ↩
2: 低電力サーバーを24時間稼働できれば最高だが、家で遊んでいるRaspberry Piを積極的に活用しよう。事前にmagic packetを送るスクリプトやバイナリーを用意しておくことで、必要な時にRaspberry Piに接続し、メインの開発環境をWOLで起こすことができる。go-wolやwakeonlanスクリプトなどがおすすめ。return ↩
3: tailscale up
でデフォルトでは--ssh=false
となっているが、--ssh
をつけることで、Tailscaleが認証を持ってくれる。return ↩