毎日自宅で使用しているため寝るときも電源を落とさないデスクトップPC。
2泊3日の旅行だったのでさすがにシャットダウンをして出かけました。
帰宅したその日は疲れていたのでPCの電源を入れることなく、スマホが自宅のWi-Fiに接続されていることを確認してちょっと動画閲覧やTwitterなどを見て就寝しました。
次の日、デスクトップPCを起動すると一切ネットワークに接続できなくなっていました...。
原因究明開始
スマホやノートPCがLANもインターネットもWi-Fi経由で接続できていたのでONUやルーターは正常だとわかりました。
LANケーブルの断線を疑い、デスクトップPCに接続されているLANケーブルを引き抜いてノートPCに挿し、接続可否を確認したところ接続可能でした。
デスクトップPCもスタンドアロンで正常に動いていたのでハード故障の可能性はないと踏みました。
ネットワーク調査
ネットワークは専門外ですが無い知恵を絞って調査しました。
自宅のネットワーク構成
IP | コンピューター |
---|---|
192.168.0.1 | ONU兼ルーター |
192.168.0.2 | デスクトップPC |
DHCP | ノートPC, スマホ, ゲーム機 |
ping
コマンド
Webアプリ開発をデスクトップPCで行ってスマホブラウザで動作確認することがあるのでデスクトップPCのIPアドレスだけ固定していました。
そこでノートPCを用いて192.168.0.2
に対してping
コマンドを叩いてみます。結果は応答ありでした。
なのでデスクトップPCは少なくともLANには接続できていると考えていました。
nbtstat
コマンド
デスクトップPCにはわかりやすいコンピューター名をつけています。なのでIPアドレスからコンピューター名を調べる方法をネットで見つけて試しました。
nbtstat -A 192.168.0.2
結果は設定しているコンピューター名を得ることができませんでした。
ipconfig
コマンド
ノートPCにてipconfig
を実行してその瞬間のIPアドレスを確認して、デスクトップPCからそのIPアドレスに対してping
コマンドを実行しました。
結果は「要求がタイムアウトしました。」…。
デスクトップPCはLANにすら繋がっていないとそこで気づきました。
今度はデスクトップPCにてipconfig
コマンドを実行しました。
結果、デスクトップPCのIPアドレスが169.254.253.180
(多分変動する値)に自動設定されていることがわかりました。
ping
が届いた192.168.0.2
の正体は一体…?
デスクトップPCには設定されていないのにping
が届く謎のアドレス192.168.0.2
の正体を解明すべく、我々はAmazonの奥地へ向かった…。
わけではなくスマホにネットワーク管理アプリを入れているのを思い出しました。Fingというアプリです。
そのスマホが接続されているネットワークにほかに接続している端末の情報を一覧できます。
そこでIPアドレス一覧を確認し、192.168.0.2
の正体を発見しました。
正体は、そのスマホだったのです。
DHCPの罠
普段デスクトップPCの電源を落とさないため、DHCPによって192.168.0.2
が他の端末に割り当てられることはありませんでした。
しかし、旅行のためデスクトップPCをシャットダウンして3日が経っていました。そして帰宅してデスクトップPCの電源を入れることなくスマホをWi-Fiに接続した結果、192.168.0.2
がスマホに割り当てられてしまいました。
その後電源が入れられるデスクトップPCにはDHCPが設定されていないので192.168.0.2
でネットワーク接続をしようとします。しかし192.168.0.2
はすでに利用されているため、後から接続しようとしたデスクトップPCのほうがネットワークから遮断されることになってしまったのです。
今回の騒動(自分ひとり)で固定IPアドレスとDHCPが混在する場合は配布するIPアドレスのレンジを設定しなければならないという知見を得ました。
情報処理試験が役立ちました
IT関係の仕事をしていると情報処理試験が必要か否かの対立を何度も見かけることかと思います。
僕は基本情報、応用情報を経てDBスペシャリストを取得していますが、ネットワークに関してはスペシャリスト試験も受けていないし業務でも触れていません。
しかし、今回の自宅のネットワークがつながらない問題では基本情報、応用情報のネットワーク分野の知識が非常に役立ったと感じています。
案外わるないIPA!(ヤ〇イT〇ャツ屋〇ん)
それにしても今回の事案、そのまま基本情報の問題にしてくれてもいいと思う。