NICをeth0~にしたい
最近のLinuxはNIC名がeth0~ではなくensxxxxx~とかenoxxxx~みたいな名前がつけられている。(命名規則があるらしいけどよくわからない
これを変える方法でハマったのでメモ。
一応Cent7.5でのを書いているけどUbuntu16.04以降もこうなっていた気がする。
原因としてはOSが接続している機器のMACアドレスへ強制的にNIC名をつけていることっぽい。
通常よくある方法
grubのコンフィグを作り直す
#vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet" この行を GRUB_CMDLINE_LINUX="crashkernel=auto biosdevname=0 net.ifnames=0 rhgb quiet" 'コンフィグを反映 # grub2-mkconfig -o /boot/grub2/grub.cfg
インターフェース名を変えていく
(非推奨 古い方法)
'中身のenoXXXXXXの部分を書き換える(ついでにバックアップしておく) #sed -i".org" -e "s/enoXXXXXX/eth0/g" /etc/sysconfig/network-scripts/ifcfg-enoXXXXXX 'リネーム #mv /etc/sysconfig/network-scripts/ifcfg-enoXXXXXX /etc/sysconfig/network-scripts/ifcfg-eth0
(編集:sedコマンドの変更)
今の推奨はNetworkManagerで作成することらしい
#nmtui
で出てくる項目を適宜入力していく
うまくいかないとき
ここまででできればいいが、うまく行かなかった場合
/etc/udev/rules.d/ 配下にXX-hogehoge.rules というファイルが有る。
そこでNIC名とMACアドレスが強制的に紐付けられてしまうため先の手順では認識しないということが起きている。
割合新しいバージョンの仕様がこうなるとかなんとか(Cent7.5以降とか)
標準では/etc/udev/rules.d/70-persistent-net.rules
があったりなかったり90-eno-fix.rules
とかいうのがあったり環境によって違うみたい。
番号が99に近いほうがあとから適用されるということで70~を削除しても90で再定義していると名前変更はできない模様(違ったら誰か教えて
hoge.rules内で
'ここでは90-eno-fix.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XY:XY:XY:XY:XY:XY", NAME="enoXXXXXX"
部分があったら、NAME=""に任意の名前を入れる。 (ATTRはMACアドレス)
再起動して変更できていれば成功。
参考にさせていただいたサイトさんたち 感謝感謝
(https://qiita.com/onokatio/items/8776ccd9120693080e0d)
(https://qiita.com/kawaz/items/dc33294c907755e9ee44)
(https://qiita.com/metakoma/items/ee62e1823e3dae45138d)
(https://qiita.com/gm_kou/items/e4ec250557628958a6b4)
(http://www.lesstep.jp/step_on_board/centos-7/773/)
(http://server.etutsplus.com/centos-disable-persistent-net-rules/)