新装的CentOS 7网卡命名已经默认不像之前的那样了,而我自己又有点偏执狂的感觉...非要把他折腾成像之前5、6那样eth0...搜了N久没找到解决方法,后来在群里一吼,有朋友给出了解决方法的链接...感谢北京-德忠!
CentOS 7改了很多地方,看来各位又得熟悉一段时间了,希望本文能够帮到跟我类似的朋友们。
在CentOS 7上利用systemctl添加自定义系统服务
编辑/etc/sysconfig/grub文件内容,下边是编辑前的文件内容:
增加“net.ifnames=0 biosdevname=0”,编辑后的文件内容:
执行:grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启系统后查看网卡名称:
在CentOS 5的时候,我们习惯了eth0 这样的网络设备命名,在CentOS 6下,发现网络设备变成了em1 这样的命名。那时我们在安装的时候,给启动参数加上 biosdevname=0,就可以继续使用 eth0 这样的命名。
到了CentOS 7的时候,原有的参数biosdevname=0不起作用了,网络设备变成了 eno1 这样的名称。如果你希望继续使用 eth0 这样的传统名称,那么在安装启动时加上参数:
net.ifnames=0 biosdevname=0
如果你已经安装完了,希望改成eth0这样的名称,那么需要:
修改grub2启动参数
vi /etc/sysconfig/grub
GRUB_CMDLINE_LINUX=”rd.lvm.lv=vg0/swap vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 net.ifnames=0 biosdevname=0 rd.lvm.lv=vg0/usr rhgb quiet”
grub2-mkconfig -o /boot/grub2/grub.cfg
重新对 文件进行命名:
/etc/sysconfig/network-scripts/ifcfg-*
CentOS 7 这种变化的原因,是由于systemd 和 udev 引入了一种新的网络设备命名方式–一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING) 。可以根据固件、拓扑、位置信息来设置固定名字,带来的好处是命名自动化,名字完全可预测,在硬件坏了以后更换也不会影响设备的命名,这样可以让硬件的更换无缝化。带来的不利是新的设备名称比传统的名称难以阅读。比如心得名称是enp5s0.
详细的命名规则,请参见网络指南。