private tips

プログラミングとその他諸々の備忘録。

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 に省略可能 )

f:id:zvub:20161204234018p:plain

 

次に grub の設定ファイルを編集し、再構築する。

f:id:zvub:20161205232205p:plain

以下が再構築用のコマンド

BIOS の場合

# grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI の場合

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

 

f:id:zvub:20161206000227p:plain

この状態で

# nmcli connection show

コマンドを実行すると以下のようになった。

 

f:id:zvub:20161206000343p:plain

 

この状態で /etc/sysconfig/network-scripts/ifcfg-enp0s8 を編集し、デバイス名を変更。

f:id:zvub:20161206000451p:plain

ついでにファイル名も mv し、システムの再起動 ( この時点で NetworkManager の無効化も実施 ) 。

 

再起動後、NetworkManager が無効化され nmcli コマンドが使えなくなるので、

# ip address show

 で設定を確認すると、以下のようになった ( host名を変更&他2つのデバイスも同様に修正済み ) 。

f:id:zvub:20161206001242p:plain

これで以前のメジャーバージョンのOS同様、NICのデバイス名が "ethX" 系になり、可読性が上がる。

非推奨なのであまりやるべきではないのかもしれないが、NetworkManager も合わせて無効化してしまえば動作に特に影響は無さそうだった。

 

# NetworkManagerを無効化せずに設定の編集を続けていると、場合によってはネットワークの設定が吹っ飛んだりする。。。w

 

手探りで設定しつつのTipsなので、ここでは記載してないタイミングでOSの再起動等を挟んだりした気もするが、概ねこの設定で編集できるはず。

 

以上、1年以上ぶりの投稿でした。

めでたしめでたし