Linux

如何覆蓋 vm DNS 伺服器?

  • December 28, 2017

我正在執行 CentOS 7 虛擬機,我相信它通過 DHCP 從我的 Fedora 27 系統中獲取 DNS 名稱伺服器。我正在嘗試將 DNS 名稱伺服器更改/etc/resolv.conf為 google 名稱伺服器。它在我的 Fedora 27 上有所不同,當我這樣做systemctl restart network並返回到 Fedora 27 上的相同名稱伺服器時。

有沒有辦法覆蓋它?

我相信我必須在/etc/sysconfig/network-scripts/

我通過虛擬enp0s3機上的乙太網連接,當然橋接virbr0

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更改名稱伺服器。

另一種方法resolv.conf只讀甚至root,如下所示

chattr +i /etc/resolv.conf

如果要編輯文件,請chattr -i /etc/resolv.conf在編輯前使用。

PS PEERDNS=no僅適用於基於 RHEL 的系統,包括 RHEL、CentOS 和 Fedora。

引用自:https://unix.stackexchange.com/questions/413340