tailscaleでDebianの監視端末にどこからでもアクセスできるようにする

概要

トラブル対応などのために顧客のネットワークをキャプチャしたり稼働状況を確認する必要があった場合、24時間その場に張り付くことはできないため監視端末を設置することがあります。 この端末にアクセスするために現地に毎回訪問することは大きな負担なので、リモートからアクセスできるようにします。 ただ、ファイアウォールに穴を開けたりポート転送の設定をすることが出来ない場合がほとんどですので、そういったことが必要のない tailscale というVPNサービスを利用します。

tailscale は、Windows / MacOS / iOS / Android だけでなく、Linuxにも対応したPeer to PeerのVPNサービスです。 個人利用であれば20台まで無料で利用できます。

環境

ソフトウェア

  • Debian 11 (bullseys)
  • tailscale 1.16.2

セットアップ

ダウンロードサイトにアクセスする

Download · Tailscale

Debian用のインストール手順を表示する

Linux → Debian Bullseye を選択してセットアップ手順を表示します。

手順に従ってセットアップする

以下の内容は、上記の手順に従って表示された手順です。 参考までに記載していますが、必ずサイトの手順を表示して表示された手順に従ってセットアップしてください。

セットアップに必要な curl のインストール

# apt install curl

レポジトリの追加

# curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.gpg | apt-key add -
# curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.list | tee /etc/apt/sources.list.d/tailscale.list

tailscale のインストール

# apt-get update
# apt-get install tailscale

認証して tailscale ネットワークに接続する

以下のコマンドを実行すると、URLが表示されるのでブラウザで表示して認証します。 認証はWIndowsMACなど別の端末からでも問題ありません。

# tailscale up


To authenticate, visit:

        https://login.tailscale.com/a/xxxxxxxxxxxx ← このアドレスにブラウザでアクセスする

認証画面で認証する。

GoogleMicrosoft などのアカウントでも認証できます。 f:id:infrablogger:20211116225747p:plain

認証に成功すると以下のような画面が表示されます。 f:id:infrablogger:20211116230018p:plain

VPNの接続状況を確認する

# ip a

以下のように、仮想インターフェースが作成され、IPアドレスが取得できていれば成功です。 アクセスするすべての端末を同様の手順でVPNに参加させます。 f:id:infrablogger:20211116230150p:plain

VPNに参加した端末間で ping などにより接続を確認します。

# ping 100.104.134.21
PING 100.104.134.21 (100.104.134.21) 56(84) bytes of data.
64 bytes from 100.104.134.21: icmp_seq=1 ttl=128 time=17.1 ms
64 bytes from 100.104.134.21: icmp_seq=2 ttl=128 time=3.55 ms
64 bytes from 100.104.134.21: icmp_seq=3 ttl=128 time=3.28 ms
64 bytes from 100.104.134.21: icmp_seq=4 ttl=128 time=2.78 ms
64 bytes from 100.104.134.21: icmp_seq=5 ttl=128 time=2.28 ms
^C
--- 100.104.134.21 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 2.276/5.802/17.118/5.674 ms

ping が通れば完了です。