🐌

Tailscale(SSH)ことはじめ

2023/02/20に公開1

はじめに

Tailscale、気にはなっていたのだけれど、この辺りのツイートを見て興味が出たので、自分でも手を動かしたのでメモ。

https://twitter.com/voluntas/status/1625125718152605702

Sign Up

  • 費用感はこの辺りを読むとわかりやすい。個人利用なら20台は無料で使えるので検証には十分ですね。

https://tailscale.com/pricing/

  • Personalプランのリンクから登録すればよい。

  • と言っても、細かいサインアップの手続きはなく、MS/Google/GitHubいずれかのアカウントで連携するのみ。※私はGitHubで連携した。

Usage

デバイス登録(一台目、Amazon Linux2)

  • 早速1台目を登録してくれということなので、近場にあったAmazonLinux2 on EC2(というかCloud9)へ導入する。

  • 基本的に言われるがままにコマンド実行するだけで、VPNの知識は特に何も調べてないままエージェントが導入される。

デバイス登録(二台目、Windows Server)

確認のためのサインインなども入りつつ、無事に一台目への導入がうまくいったことがわかる。

二台目はせっかくだから環境を捻ってみよう。Windows ServerのVPSサービス(Amazon Lightsail)に導入する。

こんな感じでインスタンスを起動する。$20/月と書かれたプランを選べばスペックは十分。

Lightsailは使いなれていない人もいそうなので、注意点を2点。

  • デフォルトではSSH/RDPのポートが全開放になっているので、必要に応じてクライアントマシンからのみに閉じる。
  • 使い終わったら「削除」することで、費用は按分される。「停止」は費用請求対象になることに注意。

こちらもリンクの指示に従って、Agentをダウンロードしてそのまま導入できる。びっくりするくらい何の設定もしていない。

疎通確認(IP Address)

導入が完了すると、このように通信が届くことがわかる。


今回はどちらもAWSのサービスを使ったのでわかりづらい点もあるが、

  • 100.109.189.89: TailscaleでのIP。ping ok
  • 52.198.165.160, 172.26.2.216: Lightsail本来のPublic/Private IP。ping ng

と、ネットワークが別なのでふつうは通らない構成だが、透過的に接続できている。すごい!

疎通確認(Magic DNS)

ちなみにTailscaleのAdminページを見ると、ドメインが払い出されていることに気づく。

これはMagic DNSという名前がついており、実はいちいちIPアドレスで接続する必要はなかった。実用的で良い。

Tailscale SSH

前置きが長くなってしまったが、本命のTailscale SSHについても紹介する。

デバイス登録 (三台目、Ubuntu 20.04 LTS)

せっかくなので3台目を構築してSSHで繋いでみよう。

  • 再びLightsailで建ててみる。先ほどの東京リージョンから適当に変えて、かつWordPress入りのLinuxで導入してみよう。

  • 改めてエージェントの導入方法はここにある。

https://tailscale.com/download/linux/ubuntu-2004

こちらも一台目と同じだと芸がないので、マニュアルインストールも試してみよう。

# Add Tailscale’s package signing key and repository:
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

#Install Tailscale:
sudo apt-get update
sudo apt-get install tailscale

それで、SSH設定は起動時に-sshオプションを付けるだけ。

# Connect your machine to your Tailscale network and authenticate in your browser:
# sudo tailscale up
sudo tailscale up -ssh

こうして無事に3台目が登録できた。真ん中のマシンに「SSH」というマークがついている。

疎通確認(Tailscale SSH)

というわけでいよいよ接続。とはいえMagic DNSへsshコマンドするだけ。

驚異の鍵管理なし。すごい。

SSHのおまけ

ちなみにこんな事もできるらしい。マジか。

https://twitter.com/voluntas/status/1627501687673085961

普通にできそうだ。


うおおおお! AWSユーザには勝手知ったるSession Managerライクな接続ができてしまう。

感想

Sign Upから接続検証まで、失礼ながらほとんど調べることなく扱えてしまった。
エンプラですぐ使えるか、というと日本語情報やセキュリティ情報などがもう少し充実したらかも……と書こうとしたが、既にメルカリでの利用事例はあるようだ。

https://tailscale.com/ja/customers/mercari/

というわけで、とにかく簡単に扱えるVPNサービスのTailscale覚えておいて損はなさそうだ。

Discussion