【CentOS7】NICのデバイス名をeth0へ変更

CentOS7からNICの名前が以前の「eth0」といった形式から、「enoxx」や「enpxx」いったような名前が付けられるようになっています。

これを以前の「eth0」形式の名前に変更する方法をまとめてみました。

カーネルパラメータの追加

CentOS7からの新しいNIC命名方式を無効化するために、OSが起動する際に読み込むカーネルパラメータとして「net.ifnames=0」と「biosdevname=0」を追加します。

CentOS7からはブートローダが「GRUB2」に変更されたため、まずは「/etc/default/grub」を編集し、それをもとに「grub2-mkconfig」コマンドで「/boot/grub2/grub.cfg」を作成するという手順になります。

/etc/default/grub 編集

「/etc/default/grub」ファイルの「GRUB_CMDLINE_LINUX」変数部分に、OS起動時に読み込むカーネルパラーメータとして「biosdevname=0」と「net.ifnames=0」を追加していきます。

# cd /etc/default
# cp -p grub grub_yyyymmdd
# vi grub

編集内容

編集前
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
編集後

「GRUB_CMDLINE_LINUX」の項目に「net.ifnames=0」と「biosdevname=0」を追加します。

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet biosdevname=0 net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"

/boot/grub2/grub.cfg 作成

編集が終わった「/etc/default/grub」をもとに、「grub2-mkconfig」コマンドを使用して「/boot/grub2/grub.cfg」ファイルを作成します。

# cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg_yyyymmdd
# grub2-mkconfig -o /boot/grub2/grub.cfg

※「UEFI」環境では「grub.cfg」の場所が異なるので注意してください。

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

NIC設定ファイル名変更と内容の編集

もともと存在しているNICの設定ファイルの名前の変更と、内容の編集を行っていきます。

NIC設定ファイルの名前変更

名前変更を行いたいNICの設定ファイル名を「ifcfg-eth0」に変更します。

私の環境ではNICの名前が「ens33」だったので、設定ファイル名は「ifcfg-ens33」でしたが、環境によってことなると思いますので環境にあわせて適宜読み替えてください。

# cd /etc/sysconfig/network-scripts
# mv ifcfg-ens33 ifcfg-eth0

設定変更

NIC設定ファイル内に記述されている、以前のNIC名の部分を「eth0」に変更してください。

# vi ifcfg-eth0

私の環境では、「ens33」と記述されている部分を「eth0」に変更しました。

サーバ再起動

設定が終わったらサーバの再起動を行ってNICの名前が変更されているか確認を行ってください。

設定に誤りがあった場合サーバへ通信ができなくなる場合がありますので、直接サーバに接続できる環境を用意しておきましょう。

シェアする