仮想マシン環境を人に渡すときなど NICが増えも減りもしない環境なのにMACアドレスが変わるたびにデバイス名が変わるのは困るので、まずはeth0に戻す。
GRUBの設定変更、反映
/etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
カーネルオプションにこの設定を追記する
# grub2-mkconfig -o /boot/grub2/grub.cfg
GRUBに反映
ネットワーク設定の編集
/etc/systemd/network/05-eth0.network
[Match] Name=eth0 [Network] Address=192.168.0.100/24 Gateway=192.168.0.1 DNS=192.168.0.1
ネットワーク設定を新規作成する
補足事項
enp0s1 みたいなやつ
Predictable Network Interface Names (予測可能なネットワークインターフェース名)という。
GRUB設定
似たような名前の GRUB_CMDLINE_LINUX_DEFAULT は触ってはいけない。
GRUB_CMDLINE_LINUX を新規に追加する。もうあるときは中身を追加する(空白区切り)。
GRUB反映
grub2-mkconfig -o /boot/efi/EFI/amzn/grub.cfg
EFIのときはこれを実行しろ、というページもあったけど どうも今どきは中身が工夫されていて /boot/grub2/grub.cfg を取り込むようになっているらしい(少なくともAL2023ではそうなっていた)。
そのため、これを実行してしまうと ファイルが上書きされてなんかおかしくなって起動しなくなる(なった)。
Debian系は update-grub と打つだけなので気楽。
cloud init
cloud-init が作るネットワーク設定ファイル /etc/systemd/network/10-cloud-init-enp0s1.network は消しても再起動で復活する。eth0なら名前もそれに準ずるものになる。
cloud-init関連のサービスが再作成するので、本当は cloud-init関連のサービスをすべて停止・無効化した上でこのファイルも削除すべきだけど
こいつより先にeth0を奪ってしまえば問題ないので、適当に済ますなら とりあえず放置でもいい。