1、首先查看一下centos7的网卡名称
2、更改为centos7之前版本的网卡名称
3、更改网卡文件的名称
4、禁用可预测命名规则。
通过编辑 /etc/default/grub 并加入“net.ifnames=0 biosdevname=0”启动参数到GRUBCMDLINELINUX变量来实现的。
CentOS 7 这种变化的原因,是由于systemd 和 udev 引入了一种新的网络设备命名方式–一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING) 。可以根据固件、拓扑、位置信息来设置固定名字,带来的好处是命名自动化,名字完全可预测,在硬件坏了以后更换也不会影响设备的命名,这样可以让硬件的更换无缝化。带来的不利是新的设备名称比传统的名称难以阅读。比如名称是enp5s0.
5、重新生成GRUB配置并更新内核参数
6、重启主机并查看
配置静态IP
这是原动态IP
TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“dhcp”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“eth0”
UUID=“8d143c9e-1aba-4a43-9928-8ddd8c86eac2”
DEVICE=“eth0”
ONBOOT=“yes”
修改后的配置文件
1 TYPE=“Ethernet”
2 PROXY_METHOD=“none”
3 BROWSER_ONLY=“no”
4 DEFROUTE=“yes”
5 IPV4_FAILURE_FATAL=“no”
6 NAME=“eth0”
7 UUID=“8d143c9e-1aba-4a43-9928-8ddd8c86eac2”
8 DEVICE=“eth0”
9 ONBOOT=“yes” #开机启动
10 BOOTPROTO=“static” #静态IP
11 IPADDR=192.168.184.142 #本机地址
12 NETMASK=255.255.255.0 #子网掩码
13 GATEWAY=192.168.184.2 #默认网关
14 #DNS1=192.168.1.1
15 DNS2=8.8.8.8
重启网络服务
#systemctl restart network
一键修改网卡名:
手写此脚本,目前只是用centos7,请慎用
1 #!/bin/bash
2 array=($(ls /etc/sysconfig/network-scripts))
3 path=/etc/sysconfig/network-scripts/
4 name=ifcfg-eth0
5 file="`echo ${array[*]} | grep -o 'ifcfg-ens[[:digit:]]\+'`"
6
7 judge() {
8 if [ -f $path$file ]; then
9 echo "the net name is not modified"
10 else
11 echo "$path$file was modified"
12 exit
13 fi
14 }
15
16 DM() {
17 if [ `grep -o 'DEVICE' $path$file | wc -l` -eq 1 ]; then
18 sed -i 's/DEVICE=.*/DEVICE="eth0"/' $path$file &>/dev/null
19 fi
20 }
21
22 NM() {
23 if [ `grep -o 'NAME' $path$file | wc -l` -eq 1 ]; then
24 sed -i 's/NAME=.*/NAME="eth0"/' $path$file
25 fi
26 }
27
28 other() {
29 mv $path$file $path$name
30 if [ -f "/etc/default/grub" ]; then
31 sed -i '/^GRUB_CMDLINE_LINUX/c \GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root "net.ifnames=0 biosdevname=0" rd.lvm.lv=centos/swap rhgb quiet"' /etc/default/grub
32 grub2-mkconfig -o /boot/grub2/grub.cfg &>/tmp/1.txt
33 if [ `grep 'done' /tmp/1.txt | wc -l` -eq 1 ]; then
34 echo "禁止可预测命名规则成功。"
35 else
36 echo "禁止可预测命名规则失败。"
37 fi
38 cat /dev/null >/tmp/1.txt
39 fi
40 }
41
42 read -p "Do you want to modify the net name: {yes|no} " choice
43 case $choice in
44 yes)
45 judge
46 sleep 1
47 DM
48 sleep 1
49 NM
50 sleep 1
51 other
52 sleep 3
53 echo "$name was modified,please restart your linux" ;;
54 no)
55 echo "you will quit."
56 sleep 3 ;;
57 *)
58 echo "Please input {yes|no}"
59 esac