2015年1月16日金曜日

CentOS7 で NIC と ethX の対応を固定化する

CentOS 7 では、NIC 交換 (オンボードの場合はマザーボード交換も含む) した場合でも、インターフェース名が変化しないようにする仕組みがデフォルトで有効になっていますが、ネーミングが旧来の ethX とは異なり、enXXXX(例えばわたしの ThinkPad T510 では enp0s25)となります。
慣れの問題なので、そのままデフォルトで使うのがよかろうとは思いますが、もしどうしても旧来の ethX にしたい場合は、以下のような方法(1例です)があります。

vi などで、次のような記述を含む /etc/udev/rules.d/10-local.rules を作成する。
KERNEL=="en*", KERNELS=="0000:00:19.0", NAME:="eth0"
ここで、KERNELS に指定する PCI アドレスは、次のようにして確認できます。
# ethtool -i enp0s25
driver: e1000e
version: 2.3.2-k
firmware-version: 0.12-1
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
マシンを再起動すると、dmesg に次のような出力が出て、enp0s25 が eth0 にリネームされたことが読み取れます。
# dmesg
...
[    4.173829] systemd-udevd[435]: renamed network interface enp0s25 to eth0
...
上記に加えて、/etc/sysconfig/network-scripts/ifcfg-eth0 には HWADDR を指定しないでおけば、NIC 交換やマザーボード交換をする事態になっても、設定ファイルの修正を行わなくても済むはずです。
#
# network-scripts/ifcfg-eth0
#
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
#BOOTPROTO=static
#IPADDR=X.Y.Z.111
#NETMASK=255.255.255.0
#GATEWAY=X.Y.Z.254
### HWADDR=xx:yy:zz:uu:vv:ww    ※NIC 交換で MAC アドレスが変わっても影響受けないようにコメントアウト
USERCTL=no
NM_CONTROLLED=no
#DHCP_HOSTNAME=hoge
#ETHTOOL_OPTS="autoneg off speed 100 duplex full"
#
#DNS1=X.Y.Z.1
#DNS2=
#DOMAIN=
あと、ifcfg-enp0s25 のような、リネーム前の設定ファイルを消しておくこともお忘れなく。

2015-01-18追記
RHEL7 でも同様です。いわずもがなですが。

0 件のコメント:

コメントを投稿

人気ブログランキングへ にほんブログ村 IT技術ブログへ