ヘッドレスPiの起動失敗とネットワーク障害を見分ける
起動、アドレス付与、待ち受け、到達性は四つの結果です。カードを抜く前にどれが失敗したかを確認し、再書き込みの前に応答の経路をたどってください。
四つのうちどれが実際に失敗したのかを誰かが尋ねる前に、カードはケースから抜かれてしまう。VPNやネットワークの変更後にPiが応答しなくなり、再書き込みが残された唯一の手のように思える。そうであることはまれだ。リースは移るかもしれないし、sshdは止まるかもしれない。応答がたどれない経路から出ていくこともあり、それぞれに独自の直し方がある。役に立つ作業は、観察したことと仮定したことを切り分けることだ。
四つの結果、一つではない
起動、アドレス付与、待ち受け、到達性は四つの別々の結果であり、ほかが保たれていてもどれか一つが失敗しうる。ボードは完璧に起動してもネットワークに現れないことがある。誰も予想しなかったアドレスで現れることも、正しいアドレスを保ったままSSHが無効なこともある。三つとも正しくても、応答が間違ったゲートウェイから出ていくために到達できないことがある。
再書き込みの衝動はその四つを一つの問いに畳み込む。だからこそ、動くPiと、実際に何が壊れたかの説明がないまま終わることが多い。
証拠が実際に終わるところ
何かに触る前に三つを書き留める。最後に機能したアドレスと上流回線、何を変えたか、最初に機能しなくなった操作だ。解決しなくなったホスト名、タイムアウトするSSH接続、拒否されるTCP接続は三つの異なる観察であり、三つの異なる層を指している。失敗したpingは一つのアドレスへの到達性を試すだけで、上記のどの理由でも失敗する。起動しなかったボードもその一つだ。だから起動テストの代わりにはならない。
ローカルディスプレイやリカバリコンソールがあるなら使う。それが答えるのは、機械がオペレーティングシステムまで到達するかという問いだ。再書き込みが解決するのはこの問いだけである。ボードがその段階より前に失敗するなら、スクリーンショットがないことからハードウェア故障を推測せず、プラットフォームのリカバリ文書に従い、診断として電源を抜くのはやめる。
稼働中のシステムでアクセス経路を組み直す
現在の上流回線とアドレスをネットワーク設定を所有しているものを通して見つけ、それをルーターの現在のクライアント一覧と、SSHクライアントが使ったアドレスと比べる。保存されたホスト名や古いDHCPリースは何週間も昨日の宛先を指し続けることがある。次に、sshdが有効で、存在するアドレスで待ち受け、管理ネットワークから許可されていることを確認する。Raspberry PiのSSHガイドは、サーバーの有効化と現在のアドレスへの接続を二つの別の手順として扱っており、新しいRaspberry Pi OSのインストールではSSHが既定で無効のままになる。
ホスト名は別の機械に付け替えられるし、交換用イメージは独自の鍵を伴って届く。だから警告をクリックで通過するのではなく、すでに信頼している経路で指紋を確認する。警告を消すことは、一時的なアドレス変更を恒久的な信頼の問題に変える道だ。鍵の確認だけが症状なら、それは到達性ではなく身元の問題を見ている。
ボードを責める前に応答経路をたどる
VPNは物理リンクが接続したまま経路選択を変えることがあり、まさにその場合にPiは起動し、待ち受けていながら到達できない。要求は届き、応答は管理者のクライアントが通れないトンネルから出ていく。ローカルコンソールと待ち受けソケットは戻り経路について何も証明しないので、どのインターフェースが応答を運び、どのゲートウェイを選ぶのかを確認する。それを管理者が実際にいるネットワークと比べる。この障害はほかのどれよりも死んだボードと誤診されやすい。
最も安い確認は応答が出ていくのを見ることだ。Pi上で管理者のアドレスをどの経路が運ぶかを問い、要求が届いたインターフェースと比べる。そこでの不一致が症状全体を説明し、コマンド一つで済む。
境界を一度に一つ、そして再書き込みが正しいとき
現在の状態を保存したうえで、設定をその所有者を通して直す。ネットワークマネージャーの入れ替え、ファイアウォールの消去、静的アドレスの推測は、次の観察を無意味にする三つの変更だ。証拠がVPNの経路やフィルタリングを指すなら、そのクライアント自身の停止や修復の手順に戻り、合意された復旧計画の範囲で作業する。統制された比較は、説明していないホストで保護を切ることとは別物である。
再書き込みは意図的な復旧の選択であり、データ、身元、失敗した段階を理解したうえで行う。ログインできないことが既定で引き起こすものではない。
設定の記録はPiなしで読める場所に置き、これから変えるトンネルを通らない戻り道を確保する。そのうえで順に進める。ローカルコンソールで段階を確認し、現在のアドレスを見つけ、リスナーとそのポリシーを確認し、応答経路をたどり、一つのことだけを変える。ボードがオペレーティングシステムまで届かなかったのなら、次の一手はネットワークではなくリカバリ文書だ。