【问题原因】

NetworkManager是一个软件工具,旨在简化计算机网络的使用。NetworkManager可用于基于Linux内核和其他类Unix操作系统。目前主流Linux操作系统都使用NetworkManager进行网络自动化配置,包括IP自动获取和DNS配置。

通常情况下,租户创建网络时会定义该网络使用的DNS服务器,业务虚拟机会通过DHCP获取到该信息,并配置于虚拟机内部。但是有部分情况下,客户业务仅需要使用网络提供的DHCP IP分配能力,不需要平台提供的DNS信息,这时就需要确保虚拟机内自定义DNS并确保不被NetworkManager或其他DHCP客户端软件自动还原。

常见linux系统配置方式:

1. 网卡dns配制

/etc/sysconfig/network-scripts/ifcfg-eth0 配置文件添加DNS服务器地址

2. DNS服务器地址配制

/etc/resolv.conf

3. host主机名配制

/etc/hosts

Linux下设置DNS的位置主要是,

1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置。3,hosts文件指定

生效顺序是:

hosts文件指定 >  网卡设置配置 > DNS服务器地址

PS:

DNS服务器配制是立即生效的,网卡配制是永久的,每次重启DNS服务器配制的DNS会被网卡配置文件中的DNS覆盖。

【永久生效且重启后不被网卡配置文件覆盖解决方式】

  1. 任意方式登录虚拟机操作系统,打开虚拟机内控制台,编辑网卡文件。

vi /etc/sysconfig/network-scripts/ifcfg-ethxxx 

  1. 编辑网卡文件

    vi /etc/sysconfig/network-scripts/ifcfg-ethxxx 
  2. 加入“PEERDNS=no”并保存:

重启网络服务生效:

systemctl restart network

根据需求自行修改/etc/resolv.conf文件。

方法二设置/etc/resolv.conf为只读

chattr +i /etc/resolv.conf

如果需要再次修改,请先执行“chattr -i /etc/resolv.conf”取消只读后进行修改

04-29 05:31