CentOS7のNICをCentOS6系のeth0にする方法|net.ifnames=0の設定手順

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)CentOS7, Linuxtips, デバイス管理, ネットワーク > CentOS7のNICをCentOS6系のeth0にする方法|net.ifnames=0の設定手順
「CentOS7でeth0が使えない」「NIC名がenp0s3になってしまってスクリプトが動かない」
そんなトラブルに困った経験はないでしょうか。

CentOS7からNICの命名規則が変わり、ネットワークインターフェース名が
enp0s3p4p2 のような形式で自動割り当てされるようになりました。
一部のソフトウェアやスクリプトは eth0 を前提にしているため、
互換性の問題が起きることがあります。

この記事では、CentOS7のNIC名をCentOS6系の eth0 形式に変更する手順を解説します。
設定変更には再起動が必要になりますので、メンテナンス時間を確保してから作業してください。
【この記事でわかること】
・/etc/default/grub に net.ifnames=0 biosdevname=0 を追加することでCentOS7の新NIC命名規則を無効化できる
・grub2-mkconfig -o /boot/grub2/grub.cfg でGRUB設定を再生成して変更を反映する
・/etc/sysconfig/network-scripts/ifcfg-xxxxをifcfg-eth0にリネームして設定を引き継ぐ
・NAME・DEVICE・HWADDRをeth0に統一してから再起動することでCentOS6系との互換性を確保できる

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜCentOS7でNIC名が変わったのか

CentOS7(RHEL7)から採用された命名規則は「Predictable Network Interface Names(予測可能なネットワーク名)」と呼ばれます。

従来の eth0 形式は、NICの認識順序によって名前が変わる場合があり、
複数NICを搭載したサーバーで予期せぬ動作を引き起こすことがありました。
新しい命名規則はPCI接続位置などのハードウェア情報を元に決まるため、
再起動後も名前が変わらないのが特徴です。

ただし、既存スクリプトやソフトウェアとの互換性を保ちたい場合は、
従来の eth0 形式に戻す設定が必要です。

CentOS7のNIC名をeth0に変更する手順

1. /etc/default/grubを編集してnet.ifnames=0を追加する

カーネルの起動パラメータに net.ifnames=0 biosdevname=0 を追加します。

まず現在の設定を確認します。

# grep GRUB_CMDLINE_LINUX /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

GRUB_CMDLINE_LINUX の末尾、閉じダブルクォートの直前に net.ifnames=0 biosdevname=0 を追加します。

# vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"

2. GRUBの設定を再生成する

編集した内容をGRUBの設定ファイルに反映させます。

# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img done

3. NICの設定ファイルをリネームする

/etc/sysconfig/network-scripts/ 配下の設定ファイルを ifcfg-eth0 にリネームします。
現在のNIC名(例:p4p2)は環境によって異なりますので、ls /etc/sysconfig/network-scripts/ で確認してください。

# mv /etc/sysconfig/network-scripts/ifcfg-p4p2 /etc/sysconfig/network-scripts/ifcfg-eth0

4. 現在のMACアドレスを確認する

次の手順で設定ファイルを編集するために、NICのMACアドレスを控えます。

# nmcli device show | grep HWADDR GENERAL.ハードウェアアドレス: 58:8A:5A:29:2B:BA

表示されたMACアドレスをメモしておきます。

5. NICの設定ファイルを編集する

リネームした ifcfg-eth0 を編集し、NAME・DEVICE・HWADDRを修正します。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes NAME=eth0 HWADDR=58:8A:5A:29:2B:BA UUID=22f748d6-6718-47ac-bc27-7188a419465f DEVICE=eth0 ONBOOT=yes IPADDR=192.168.0.36 PREFIX=24 GATEWAY=192.168.0.1 DNS1=192.168.0.1

NAME:eth0 に変更します
DEVICE:eth0 に変更します
HWADDR:手順4で確認したMACアドレスを追記します

6. サーバーを再起動する

# shutdown -r now

再起動後、サーバーにログインします。

7. NIC名がeth0になったか確認する

# nmcli device show | head -5 GENERAL.デバイス: eth0 GENERAL.タイプ: ethernet GENERAL.ハードウェアアドレス: 58:8A:5A:29:2B:BA GENERAL.MTU: 1500 GENERAL.状態: 100 (接続済み)

GENERAL.デバイスeth0 になっていれば変更成功です。

本記事のまとめ

手順 コマンド/操作
GRUBパラメータ追加 vi /etc/default/grub → net.ifnames=0 biosdevname=0を追記
GRUB設定を再生成 grub2-mkconfig -o /boot/grub2/grub.cfg
設定ファイルをリネーム mv /etc/sysconfig/network-scripts/ifcfg-p4p2 /etc/sysconfig/network-scripts/ifcfg-eth0
MACアドレスの確認 nmcli device show
設定ファイルの編集 vi /etc/sysconfig/network-scripts/ifcfg-eth0
サーバー再起動 shutdown -r now

ネットワーク設定のトラブル、一人で抱えていませんか?

NIC名の変更に限らず、ネットワーク設定は一つ間違えると接続が切れてリモートから操作できなくなります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。