Ubuntu 20.04(CentOS8) でNIC を eth0 に変更する

LINEで送る
Pocket

少し前までは、NIC((Network Interface Card)のデバイス名は eth0, eth1, .. と決まっていました。しかし、CentOS7, Ubuntu 16.04(udev のバージョン197) よりNICのデバイス名の命名ルールは、名前からどのようなデバイスなのか予測可能なデバイス名が自動で割り振られるようになりました。

命名ルールは以下のようになっています。
—————————
頭の2文字
Ethernet : en
Wireless LAN : wl
Wireless WAN : ww
—————————
3文字目
オンボード : o
ホットプラグ : s
PCI or USB デバイス : p
—————————

しかし製品のマニュアルなどでネットワーク設定を紹介する際、デバイス名が決まってないと困ったり、
既存のプログラムを流用する際に、コード内でデバイス名が eth でコーディングされている場合もあります。

eth に戻す場合は、udev の設定ファイルを変更してあげる必要があります。
まず ethtool コマンドで NICの bus-info を知る必要があります。
ethtool はデフォルでインストールされてないのでインストールします。

$ sudo apt install ethtool
$ ethtool -i enp0s3 (変更したい任意の NIC名)
     :
bus-info: 0000:00:03.0
     :

/etc/udev/rules.d/70-persistent-net.rules ファイルを新規に作成して、以下のように記述してマシンを再起動すれば eth に変更されます。

$ sudo nano /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", KERNEL=="enp*", SUBSYSTEMS=="pci", KERNELS=="0000:00:03.0", NAME="eth0"
                                        既存の名前                             bus-info
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメント

  1. 行田 より:

    あるソフトウェアでネットワークデバイス名が eth0 と固定されていたので変更しようとしましたが、
    $ sudo nano /etc/udev/rules.d/70-persistent-net.rules
    にある

    既存の名前
    bus-info

    とは何?。既存の名前に元のデバイス名「enp1~」とかを入れるのでしょうか?。
    分かりづらい。

    1. tsuyoshi より:

      既存の名前はここですよ。

      KERNEL==”enp*”,

      enp1 ならコピペすればOKです。

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください