CentOS 7からは、デフォルトのNIC名がeth0、1…ではなく、ens~という名称になる。
ただ置き換わるだけならばいいのだが、このens~以降の数字がランダム…という訳ではないようなのだが、連番で採番されるわけでもなく、いかんせん分かりにくい…

そこで、このens~というNICを、古典的なeth0、1といったものに書き換えていく。

1.「/etc/default/grub」の編集

まずは、「/etc/default/grub」を編集し、カーネル起動時のオプションとして「net.ifnames=0 biosdevname=0」を追記する。
以下のコマンドを実行することで、GRUB_CMDLINE_LINUXにカーネルパラメータの追記を行える。

bash
grep net.ifnames /etc/default/grub || sed '/^GRUB_CMDLINE_LINUX/s/\"$/ net.ifnames=0 biosdevname=0\"/g' /etc/default/grub

編集前

shell
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/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet" GRUB_DISABLE_RECOVERY="true"

編集後

shell
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/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true

編集完了後、以下のコマンドで変更の適用を行う。

bash
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
shell
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.20.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.20.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.13.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.13.2.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-48d60ba7e1bf4fda953221490550bfcb Found initrd image: /boot/initramfs-0-rescue-48d60ba7e1bf4fda953221490550bfcb.img done

2.「/etc/sysconfig/network-scripts/ifcfg-ens~」のリネーム

次に、「ens~」から始まる既存のデバイスの設定ファイルを移動、リネームする。

bash
mv /etc/sysconfig/network-scripts/ifcfg-ens... /etc/sysconfig/network-scripts/ifcfg-eth0

3.再起動

最後に、OSの再起動を行う。
これで、NICのデバイス名の変更が完了する。