ネットワーク設定 · 1 min read · Sep 29, 2025
CentOSでネットワークインターフェースをeth0にリネームする方法

この記事では、Linuxのインターフェース名付けについて学びます。これは、AlmaLinux、CentOS、Rocky LinuxなどのRHELベースのLinuxディストリビューション向けに書かれています。Linuxのネットワークインターフェースがeth(X)、ens(X)、eno(X)などと名付けられている理由を学びます。
まず、Linuxシステムにおけるネットワークインターフェースの命名概念について、従来の命名規則、biosdevname、system udevポリシーを含めて学びます。
1. 従来の命名規則
従来の命名規則は、Linuxカーネルドライバによって提供されるデフォルトの従来のインターフェース命名スキームです。従来の命名規則は、Ethernetデバイスにはeth(n)、無線LANデバイスにはwlan(n)、usbnetにはusb(n)などがあります。
従来の命名規則では、すべてのネットワークハードウェアはカーネルドライバによって同じように扱われます。接続の種類については十分に教えてくれますが、あなたが慣れ親しんでいるハードウェアの性質についてはあまり役に立ちません。
2. Biosdevname
Biosdevnameは、Dellによって始められたプロジェクトで、ネットワークデバイスの一貫した命名を提供します。Biosdevnameは、ハードウェアの物理的な位置に基づいてネットワークデバイスの一貫した命名メカニズムを提供するudevユーティリティヘルパーです。
以下は、biosdevnameによって提供されるデフォルトの命名スキームのポリシーです:
- オンボードネットワークデバイスは「 em
[_ 」として名付けられます。] - アドオンNICデバイスは「 p
p 」として名付けられます。[_ ]
詳細は以下の通りです:
- em = オンボードネットデバイス
= 対応するPCIスロット = NICのポート番号(マルチポートNICがある場合) = SRIOVおよび/またはNPARインスタンスインデックス - アドオンNICの「 p 」はそれぞれPCIスロットとポートを表します。
3. Systemd Udevルール
現在、Ubuntu、CentOS、Debianなどの人気のあるLinuxディストリビューションは、Systemdをシステムおよびサービスマネージャとして使用しています。そして、バージョン197以降、systemdはbiosdevnameに似たネットワークインターフェースのネイティブ命名ポリシーとスキームに追加されました。
以下は、Systemdベースのシステムのネットワークインターフェース命名の5つのポリシーです:
- オンボードネットワークデバイスは「eno1」、「eno2」などとして名付けられます。
- ファームウェア/BIOSが提供するPCI Expressホットプラグスロットインデックス番号を組み込む場合、「ens1」と名付けられます。これは、最初のポリシーが失敗した場合に適用されます。主にVMWareやKVMなどの仮想マシンで使用されます。
- ハードウェアのコネクタの物理的な位置を組み込んだ名前(例:enp2s0)は、適用可能な場合に適用され、そうでない場合はすべての他のケースでスキーム5に直接戻ります。
- インターフェースのMACアドレスを組み込んだ名前(例:enx78e7d1ea46da)は、デフォルトでは使用されませんが、ユーザーが選択すれば利用可能です。
- すべての他の方法が失敗した場合、従来の予測不可能なカーネル命名スキームが使用されます(例:eth0)。
これで、Linuxインターフェースの命名規則について学びました。
次に、ネットワークインターフェースの名前を従来の「et0」、eth1などに変更する方法を示します。これを行う方法は2つあり、’biosdevname’を通じてネットワークインターフェース名を変更する方法と、’systemd udevルール’を通じて変更する方法です。
1. Biosdevnameを無効にしてインターフェース名をeth0に変更する
上記で述べたように、biosdevnameはDellによって作成されたudevユーティリティで、システムBIOSによって提案されたネットワークインターフェースの命名を行います。そして、デフォルトでは、biosdevnameパッケージはLinuxシステムにインストールされています。
Linuxシステムでbiosdevnameを無効にするには、システムのgrub設定を編集してブートレベルで無効にする必要があります。
先に進む前に、以下のコマンドを使用してシステム上の現在のインターフェースを確認しましょう。
ifconfig -a
ip addr以下はその結果です。

その結果、2つのネットワークインターフェース「ens3」と「ens8」があります。
次に、CentOS 8システムのgrub設定と各インターフェースのネットワーク設定を編集して、両方のインターフェースを「eth0」と「eth1」にリネームします。
- Grub2の設定
‘/etc/sysconfig/‘ディレクトリに移動し、vimエディタを使用して’grub’設定を編集します。
cd /etc/sysconfig/
vim grub‘GRUB_CMDLINE_LINUX’設定に、biosdevnameとnet.ifnamesカーネルパラメータを無効にするための以下の設定を追加します。
net.ifnames=0 biosdevname=0保存して閉じます。

その後、以下のように’grub2-mkconfig’コマンドを使用して新しいgrub設定を生成します。
sudo grub2-mkconfig -o /boot/grub2/grub.cfgそして、以下の結果が得られます。

- ネットワークスクリプトの編集
次に、’/etc/sysconfig/network-scripts/‘ディレクトリにある設定で両方のネットワークインターフェースをリネームする必要があります。
‘/etc/sysconfig/network-scripts/‘に移動します。
cd /etc/sysconfig/network-scripts/両方のインターフェース名を’ifcfg-ethX’にリネームします。
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1その後、以下のsedコマンドを使用して、両方のファイルで両方のインターフェースを’ethX’に変更します。
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1CentOS 8システムを再起動します。
sudo reboot
- テスト
再度ログインしたら、以下のコマンドを使用して利用可能なネットワークインターフェースを確認します。
ifconfig
ip addr以下のような結果が表示されます。

CentOS 8システムの両方のネットワークインターフェースが変更され、現在は従来の命名規則を使用しています。ネットワークインターフェースは、システムブート中に’biosdevname’を無効にすることで変更されました。
- オプション
システムブートの変更に関する詳細を確認したい場合は、以下のコマンドを実行できます。
dmesg | grep -i ethデフォルトのインターフェース名が従来の名前’ethX’に変更されたことが表示され、カスタムudevルールを通じて変更されました。

2. Udevルールを使用してインターフェース名をeth0に変更する
ネットワークインターフェース名を従来の命名(eth0など)に変更する別の方法は、カスタムudevルールを作成することです。カスタムudevルールを使用することで、システムの後にネットワークインターフェースが変更されます。
- カスタムUdevルールの作成
‘/etc/udev/rules.d/‘ディレクトリに移動し、vimエディタを使用して’70-persistent-net.rules’というカスタムルールを作成します。
cd /etc/udev/rules.d/
vim 70-persistent-net.rulesmacアドレスとデフォルトインターフェース’ens3’と’ens8’を自分のものに変更し、そこに貼り付けます。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:6c:a8:e6", ATTR{type}=="1", KERNEL=="ens3", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:97:cf:33", ATTR{type}=="1", KERNEL=="ens8", NAME="eth1"保存して閉じます。

- ネットワークスクリプトの編集
次に、’/etc/sysconfig/network-scripts’ディレクトリに移動します。
cd /etc/sysconfig/network-scripts/両方のインターフェース名を’ifcfg-ethX’にリネームします。
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1その後、以下のsedコマンドを使用して、両方のファイルで両方のインターフェースを’ethX’に変更します。
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1CentOS 8サーバーを再起動します。
sudo reboot
- テスト
再度ログインしたら、以下のコマンドを使用してすべての利用可能なネットワークインターフェースを確認します。
ifconfig
ip addr新しいインターフェース’ethX’が割り当てられたことが確認できます。

- オプション
システムブートの変更に関する詳細を確認したい場合は、以下のコマンドを実行できます。
dmesg | grep -i eth‘ensX’の名前が従来の名前’ethX’に変更されたことが表示され、カスタムudevルールを通じて変更されました。

参考
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。