Tailscale 操作マニュアル

6 分で読了
このページの目次

login・peer 経路・subnet route・access policy を個別に確認する。gateway の ping 成功は背後の service 到達を保証しない。DERP relay 自体は接続失敗ではない。

やりたいこと参照先
peer 不通・低速識別と実経路
内部 subnet に接続広告・承認・受信
exit node の利用既定出口と LAN

client の現状を見る

認証とオンライン状態を先に確認する

# クライアント・daemon の版を確認する
tailscale version

オプションはローカル help を確認し、版を記録する。

# 自機・相手の認証主体と接続状態を見る
tailscale status

PEER_NAME をここで取得する。未ログインなら経路公開前に認証を解決する。構造化出力は別途 status --json。

# 自ノードの Tailscale IPv4 を取得する
tailscale ip -4

LAN アドレスとは別。サービスがそのアドレスか対応する全体アドレスで待ち受ける必要がある。

経路探測と業務検証を分ける

# 確認した相手への Tailscale 経路を探る
tailscale ping PEER_NAME

direct/relay と RTT を見る。最初 relay でも direct へ変わることがある。成功後も実ポートを確認する。

# 自機の UDP・NAT・DERP 到達性を読む
tailscale netcheck

自機の診断であり、相手へのスループット測定ではない。status/ping と照合する。

# Linux daemon ホストの最近のログを読む
journalctl -u tailscaled -b -n 100 --no-pager

他の基盤では対応する診断手段を使う。認証・経路設定・接続変化の時刻を調べる。

ログイン・切断・ログアウトを分ける

# 必要時にログイン・接続有効化を行う
sudo tailscale up

指示に従って認証する。非既定設定を --reset で消さない。一時切断は down、認証解除は logout を選ぶ。

PEER_NAME を置換し direct/relay と変化を見る。netcheck は本機の UDP/NAT/DERP 検査で対象アプリ試験ではない。IP と実 port を先に試し MagicDNS を分ける。wg show を汎用診断に使わない。

操作影響
tailscale up認証・有効化。既存の非既定値に注意
tailscale set ...指定 preference を変更
tailscale down識別情報を保持して切断
tailscale logout本機 logout と管理画面の node 削除は別

route 導入と access 許可は別

subnet route の成立条件 router が CIDR 広告 管理者が承認 client が route 受信 policy・転送・復路

ルーター:転送を確認して経路を公開する

# subnet router の IPv4 転送設定を読む
sysctl net.ipv4.ip_forward

1 は有効。IPv6 は別途確認し、変更前に旧値を記録する。以下は IPv4 のみ。

# 計画した IPv4 router で一時的に転送を有効化する
sudo sysctl -w net.ipv4.ip_forward=1

専用 /etc/sysctl.d/ ファイルに保存し、そのファイルを sysctl -p で読む。無関係の設定を再読込しない。転送有効化はアクセス許可ではない。

# この router から到達できる subnet を公開する
sudo tailscale set --advertise-routes=192.0.2.0/24

文書用 subnet を置換する。公開リスト全体の置換なので必要な CIDR をカンマで列挙する。管理画面・autoApprovers・アクセス方針も確認する。

Linux クライアント:受入と検証

# 対象 subnet を使う Linux クライアントで経路を受け入れる
sudo tailscale set --accept-routes=true

router ではなくクライアントで実行する。ip route get TARGET_IP と subnet 内サービスへの実通信で確認する。

戻す際は旧公開リストと accept-routes の旧値を復元する。他の用途がない場合だけ空・無効にする。転送設定と永続ファイルも旧値へ戻す。

router が実際に到達できる CIDR を指定する。advertise-routes は一覧を置換するため既存必要範囲を残す。必要な IP family の転送を永続化し、承認・受信・policy を個別に確認する。Linux は通常明示的受信が必要。

既定 SNAT では宛先から router が送信元に見える。無効化前に復路を作る。HA router が自分の広告と同じ route を無条件受信しない。client route・転送・待受け・戻り packet・policy を確認する。

exit node は Internet の既定経路を変える

exit node を公開・承認する

# 転送と外部接続を用意したノードで exit 能力を公開する
sudo tailscale set --advertise-exit-node

必要な IPv4/IPv6 転送を確認し、管理画面で exit 利用を承認して利用者方針も確認する。

クライアントで出口を選び通信を検証する

# クライアントで承認済み exit node を選ぶ
sudo tailscale set --exit-node=EXIT_NODE_NAME

名前は status・管理記録で確認する。信頼できる外部 IP 確認と業務・DNS で検証する。LAN アクセス許可は別途判断する。

# 不要になったらクライアントの exit 選択を解除する
sudo tailscale set --exit-node=''

後で行う解除で、選択直後には実行しない。出口・DNS を再確認する。遠隔 exit node 自体は停止しない。

実外部通信で出口と DNS を確認する。client LAN 用の exit-node-allow-lan-access は tailnet ACL 許可とは別。hosts は名前付けだけで許可は grants/ACL。online 表示だけでなく policy test と実 port で検証する。

DERP は経路の根拠から診断

relay が遅ければ RTT・転送量・loss・CPU・network を照合する。自前 DERP の domain・TLS・port・map は配置依存。debug は版ごとの --help を確認する。

Tailscale CLI · Route injection · Subnet routers · Exit nodes