在centos7中有两个服务可以进行网络管理:NetworkManager和network两个服务,为避免冲突,关闭NetworkManager,只用network服务。网卡配置如下

TYPE=Ethernet
NM_CONTROLLED=no
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
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=enp3s0
UUID=9c3d638e-a4fc-43b7-96d1-7d68a6ed5c6e
DEVICE=enp3s0
ONBOOT=yes
HWADDR=2A:03:A1:11:05:B4

#IPADDR=10.3.66.102
#DNS1=10.255.255.222
#DNS2=202.96.134.133
#DNS3=114.114.114.114
#GATEWAY=10.3.67.254
#NETMASK=255.255.254.0

IPADDR=192.168.31.223
GATEWAY=192.168.31.1
DNS1=192.168.31.1
DNS2=202.96.134.133
NETMASK=255.255.255.0

其中NM_CONTROLLED=no表示NetworkManager不能更改这个配置,ONBOOT=yes表示开机启动,如果不用这个网卡,设置成ONBOOT=no, 我这里设置的静态IP取获方式,也可以设置dhcp模式,但是需要dhcp服务。在这个配置中,设置了DNS,但是发现/etc/resolvc.conf这个文件没被更改,这是因为该文件时只读的,需要更改权限:

lsattr /etc/resolv.conf

chattr -i /etc/resolv.conf

chmod +w /etc/resolv.conf

然后重启服务: systemctl restart network,就发现resolv.conf的内容变成了你配置的内容了,这个文件不能手动修改,应为每次重启服务会被重置。另外需要注意,设置的静态IP是否存在冲突。

如果不是作为软路由使用,需关闭路由转发功能:vi /etc/sysctl.conf

net.ipv4.ip_forward=0

sysctl -p 使配置立即生效