Arch Linuxの有線LANが繋がらなかったしょうもない話
あるときしばらく有線LANを使わずにWifiでのみネットを使っていた.
久しぶりに有線LANを差したら問題なさそうに見えるのにネットにつながらない(IPが取れてない).
結論を言えばdhcp
が動いていなかった.
そんなしょうもない話を戒めに書き残す.
さっさと解決したい人は$ sudo systemctl status dhcpcd
する.
原因が同じならそれが答えだ.
環境
いつもの儀式.
$ uname -a Linux poppycompass 5.4.8-arch1-1 #1 SMP PREEMPT Sat, 04 Jan 2020 23:46:18 +0000 x86_64 GNU/Linux
ただのArch Linux 64bit
のようだ.
現象
- PCにLANケーブルをつなぐ
- LANケーブルコネクタのリンクランプ点灯(緑・オレンジ共)
- ネットにつながらない
調査
まずはdmesg
$ dmesg [26247.169774] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
インターフェイスは立ち上がっている.
$ ip a 2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether <MAC addr> brd ff:ff:ff:ff:ff:ff inet6 <addr>/64 scope link valid_lft forever preferred_lft forever
おや,IPv4
のアドレスがない.
世界はIPv6
に移行したんだっけ?(してない)
思いつく原因と対応(復旧しなかったやつ)
- そういえば最近アップデートしたからまさか?
→$ sudo pacman -Syu
- 原因不明にはこれが効く!
→$ sudo reboot
- つないだまましばらくしたらつながるだろう
→ つないだまま放置
解決編
うーん,原因はIPv4
が取れていないことにありそうだ.
Googleでarch linux cannot get ip addr
で検索してそれっぽいのがあった.
最初の方の"systemctl status dhcpcd", the service is active (running).
を見て一応確認
$ systemctl status dhcpcd Unit enable.service could not be found. ● dhcpcd.service - dhcpcd on all interfaces Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; disabled; vendor preset: disabled) Active: inactive (dead)
犯人はこいつのようだ.
$ sudo systemctl start dhcpcd ● dhcpcd.service - dhcpcd on all interfaces Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2020-01-08 22:16:53 JST; 3s ago ...(snip)...
これで解決.
所感
最初の調査段階でIPが取れていない時点でネットワーク周りのソフトが全部動いているかどうかを確認するべきだったと反省.