如何覆盖虚拟机 DNS 服务器?

如何覆盖虚拟机 DNS 服务器?

我正在运行 CentOS 7 虚拟机,我相信它通过 DHCP 从我的 Fedora 27 系统获取 DNS 名称服务器。我正在尝试将 DNS 名称服务器更改/etc/resolv.conf为 google 名称服务器。在我的 Fedora 27 上情况有所不同,当我这样做时,systemctl restart network它会返回到 Fedora 27 上的相同名称服务器。

有没有办法覆盖它?

我相信我必须做点什么/etc/sysconfig/network-scripts/

我通过虚拟机上的以太网连接enp0s3,当然桥接virbr0

答案1

VM 的网络接口配置为dhcp仅接受来自的 DNS。更改界面设置。

网络接口配置文件位于/etc/sysconfig/network-scripts/.

假设它是一个 kvm vps,网络接口是 eth0。编辑该文件/etc/sysconfig/network-scripts/ifconfig-eth0并为 Google 的 IPv4 名称服务器添加以下内容

PEERDNS=no
DNS1=8.8.8.8
DNS2=8.8.4.4

然后重启网络如下

sudo service network restart

您可以使用任何其他名称服务器。

上述名称服务器将被添加,resolve.conf并且PEERDNS=no指令将停止dhcp更改名称服务器。

其他方式outresolv.conf即使对于 root 也是只读的,如下所示

chattr +i /etc/resolv.conf

如果您想编辑文件,请chattr -i /etc/resolv.conf在编辑前使用。

聚苯乙烯 PEERDNS=no仅适用于基于 RHEL 的系统,包括 RHEL、CentOS 和 Fedora。

相关内容