Ubuntu 18.04LTSを導入したところ、ネットワークインターフェース名が「ens192」という表示になった。
udevのバージョン197以降、デフォルトの動作では予測可能なネットワークインタフェース名がつけられるように仕様が変更された結果である。
そうは言ってもやはり慣れ親しんだ「eth0」等の表記に戻したいと考えている人は少なくないのではないだろうか。
dmesg を見てみると、ブート時に一度eth0を認識した後、わざわざens192に変更されているのが分かる。
bang@steinsgate:~$ dmesg | grep -i eth [ 1.923038] vmxnet3 0000:0b:00.0 eth0: NIC Link is Up 10000 Mbps [ 1.954736] vmxnet3 0000:13:00.0 eth1: NIC Link is Up 10000 Mbps [ 2.179409] vmxnet3 0000:0b:00.0 ens192: renamed from eth0 [ 2.279580] vmxnet3 0000:13:00.0 ens224: renamed from eth1
要はこの動作を無効にすれば良い。これはカーネルの起動オプションで
net.ifnames=0 biosdevname=0
を追加することにより可能となる。
grub に設定を登録
下記は grubからの起動時にカーネル起動オプションを永続的に追加する方法である。/etc/default/grub を開き GRUB_CMDLINE_LINUX に追加のカーネル起動オプションを設定する。
sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
grubに設定を反映させる。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
インターフェースの変更をNetplanにも反映
次に起動時にインターフェースにIP等が設定されるようにNetplanのデバイス名も変えておく。
sudo vi /etc/netplan/50-cloud-init.yaml
network: ethernets: eth0: addresses: [] dhcp4: true eth1: addresses: [] dhcp4: true version: 2