スマートフォンにはサブネット経路が表示されたままで、ダッシュボードにも広告が並んだままで、ルーターの先にあるものは何も応答しない。ルーティングやファイアウォールの退行に見えるため、クライアントでサブネットを再追加したくなる。しかし通常は何も変わらないのは、コネクタが失ったのが設定ではなく身元だからだ。デバイスキーが期限切れになると、経路は見えたままデバイスは転送を止める。

経路は残り、パケットは止まる

Tailscaleは経路の広告とデバイスの認可を別々の事実として扱う。サブネットルーターがプレフィックスを告知し、クライアントがそれを受け入れて使う、そしてコネクタが通信を運ぶ。デバイスキーが切れると、ノードは調整サービスに対して認証できなくなり、参加をやめる。クライアントは、削除すると通信を意図しない経路へ送る恐れがあるため、経路を表に残すことがある。この失敗時に閉じる選択が、経路は存在するのに宛先は存在しないという混乱を招く症状を説明する。

広告は意図についての真の記述のままである。能力についての記述ではなくなった。

コネクタのキーと状態を読む

どのクライアントを変える前にも、コネクタの状態を確認する。二つの出力が身元と到達性を分ける。

tailscale status
tailscale ping 100.101.102.103

状態の出力はルーターをオフラインまたは期限切れとして示してキーがいつ切れるかを報告し、一方pingはルーターの先のサービスではなくノード自身のtailnetアドレスを狙う。クライアントから決して出ないpingと、期限切れと表示された状態行は、二つの方向から見た同じ発見だ。そのルーターを使う二台目のデバイスが同じ瞬間に失敗しないかを確認するのは、共有された失敗はコネクタを指し、単独の失敗は一台のクライアントの経路受け入れを指すからだ。古いメモのtailnetアドレスを、現在の状態で確かめずに再利用してはいけない。

自分の経路を断たずに再認証する

更新は身元を回復するが、唯一動作しているセッション越しに行うと取り残されることがある。まず別の管理者経路を確保する。

tailscale up --force-reauth
tailscale status --self

コンソールにアクセスできるノードでは、--force-reauthがログインの流れを再開し、承認されたアカウントが完了すべきURLを表示する。遠隔のルーターでは、更新中にtailnetのセッションが落ちる可能性があるため、開始前にシリアルコンソール、プロバイダーのコンソール、または帯域外の管理経路があることを確認する。更新後は、ノードがオンラインで、告知した経路が有効なままであることを確認する。クライアントでプレフィックスを再追加することは更新の手順でも代替でもない。

無人デバイスの期限ポリシーを決める

キーの期限は、失ったノートPCがいずれ動かなくなるために存在し、無人インフラはその保護を可用性と引き換える。管理者は特定のデバイスの期限を無効にできるが、配線棚の信頼できるルーターには向いても棚卸しと撤去計画が要る。タグ付きデバイスは独自の身元と期限の振る舞いを持つので、ノートPCの設定では説明できない。数か月前に作ったリマインダーに頼らず、実際のデバイス記録を見直す。

そのうえでノードだけでなくルーターの先の資源を試す。更新したキーは身元を直すが、経路の承認、ポリシー、転送は依然として機能していなければならない。

関連記事