Ubuntu 18.04 LTS で ネットワークインターフェース名を昔の表記(eth0など)に変更する方法

Spread the love

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
を追加することにより可能となる。

Contents

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
参考
  1. CentOS7におけるNIC命名ルール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です