Debianでネットワーク名が変わってしまう問題に対応
Debianで、電源を入れ直すとネットワークがつながらない現象がたまに起きるようになりました。
その際、見てみるとネットワークインターフェース名が変わっているのが原因でした。
たとえば、enp2s0 だったものが enp3s0に変わってしまう。そんな現象です。
デバイスが別のスロットに差し替えられた場合や、BIOS 設定変更で割り当てが変わった場合、enpXsY の X 部分(バス番号)が変わることがあるそうですがとくに構成をかえたつもりはありません。
カーネルやドライバの更新によってもおこるというので、aptで対象ドライバがアップグレードされた後で再起動されてそのような事がおきているのではないかと思います。
筆者は環境を持っていませんが、仮想環境で、仮想NICの作成によっても同様の現象がおきることがあるそうです。
この現象が発生すると、状況によっては致命的なので対応したいです。
chatGPTに質問したところ、次のような回答を得ました。
/etc/systemd/network/10-net-names.link を作成して MAC アドレスに紐づけます。10-net-names.link
[Match] MACAddress=12:34:56:78:9a:bc [Link] Name=enp3s0
システムファイルなので所有権は root:root にして、パーミッションは 644 が最適だと思います。
名称の変更
NICの名前は15字(終端nullを含む16バイト)までで、自由に変更可能なようですが、/etc/network/intefacesなどに設定してあるネットワークの設定値も合わせて変える必要があります。
10-net-names.link
[Match]
MACAddress=12:34:56:78:9a:bc
[Link]
Name=importantNIC
/etc/network/interfaces
...
allow-hotplug importantNIC
iface importantNIC inet static
address 192.168.1.101
gateway 192.168.1.1
dns-servers 8.8.8.8