RHEL7 系の NIC の命名規則について
RHEL7 ではデフォルトでNetworkManagerというサービスがenableになっている。
これが何をするかというと、ざっくりと説明するなら端末のNW構成を管理してくれるわけだが、NICの名前付けも管理している。
初期状態のRHEL7の /etc/sysconfig/network-scripts 以下を見ると、
6以前まで"ifcfg-ethX"だったファイル名が、"ifcfg-eXXXXXXX"とかになっている。
これを回避する手段は無いわけではないけれど、Red Hat的には思いっきり非推奨らしい。
しかし検証がてらやってみた。
手順としてはそんなにややこしくはなく、いくつかのパラメタを追記したgrubの設定ファイルを再構築するだけ。
*手順
( 注※ 検証はCentOS 7 で実施 )
RHEL7 系においてデフォルトの命名スキーマを無効化する場合、/etc/default/grub を編集する必要がある。
編集箇所は GRUB_CMDLINE_LINUX パラメータで、該当の行の末尾にnet.ifnames=0 及びbiosdevname=0 を追記する。
追記前:
# nmcli connection show
コマンドでインターフェイスの接続状況を確認する。( オプションは connection=c, show=s に省略可能 )
次に grub の設定ファイルを編集し、再構築する。
以下が再構築用のコマンド
※ BIOS の場合
# grub2-mkconfig -o /boot/grub2/grub.cfg
※ UEFI の場合
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
この状態で
# nmcli connection show
コマンドを実行すると以下のようになった。
この状態で /etc/sysconfig/network-scripts/ifcfg-enp0s8 を編集し、デバイス名を変更。
ついでにファイル名も mv し、システムの再起動 ( この時点で NetworkManager の無効化も実施 ) 。
再起動後、NetworkManager が無効化され nmcli コマンドが使えなくなるので、
# ip address show
で設定を確認すると、以下のようになった ( host名を変更&他2つのデバイスも同様に修正済み ) 。
これで以前のメジャーバージョンのOS同様、NICのデバイス名が "ethX" 系になり、可読性が上がる。
非推奨なのであまりやるべきではないのかもしれないが、NetworkManager も合わせて無効化してしまえば動作に特に影響は無さそうだった。
# NetworkManagerを無効化せずに設定の編集を続けていると、場合によってはネットワークの設定が吹っ飛んだりする。。。w
手探りで設定しつつのTipsなので、ここでは記載してないタイミングでOSの再起動等を挟んだりした気もするが、概ねこの設定で編集できるはず。
以上、1年以上ぶりの投稿でした。
めでたしめでたし