目次
CentOS7以降の論理インターフェイス名(eno、eso)を旧バージョンの仕様(eth)に合わせる処理の例。
インターフェイスの設定ファイルはOS標準のユーティリティを使用する。
# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 日 2016-12-18 17:20:15 JST; 42min ago
Docs: man:NetworkManager(8)
Main PID: 560 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
└─560 /usr/sbin/NetworkManager --no-daemon
# systemctl start NetworkManager
# ./ifchk.sh
##
## Interface Setting
##
## GRUB setting
echo ""
echo "--------------------------------------------"
echo " GRUB parameter update"
echo "--------------------------------------------"
sed -i "/GRUB_CMDLINE_LINUX/s/quiet\"/quiet net.ifnames=0 biosdevname=0\"/g" /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
## NIC name setting
echo ""
echo "--------------------------------------------"
echo " Interface configuratin file convert"
echo "--------------------------------------------"
cd /etc/sysconfig/network-scripts/
WC=`nmcli device | cut -d" " -f1 | grep ^en | wc -l`
i=1
while [ $i -le $WC ];
do
ENO=`nmcli device | cut -d" " -f1 | grep ^en | sed -n -e ${i}"p"`
ETH=$(($i-1))
echo "$ENO : ifcfg-$ENO -> ifcfg-eth$ETH"
# Interface
if [ -f ifcfg-$ENO ]; then
echo " ifcfg-$ENO : found"
mv ifcfg-$ENO ifcfg-eth$ETH
sed -i "/DEVICE/s/$ENO/eth$ETH/g" /etc/sysconfig/network-scripts/ifcfg-eth$ETH
sed -i "/NAME/s/$ENO/eth$ETH/g" /etc/sysconfig/network-scripts/ifcfg-eth$ETH
else
echo " ifcfg-$ENO : file not found"
fi
# Route
if [ -f route-$ENO ]; then
mv route-$ENO route-eth$ETH
else
echo " route-$ENO" : file not found
fi
i=$(($i+1))
done