以非持久方式更改 DNS 伺服器(在命令列上)

以非持久方式更改 DNS 伺服器(在命令列上)

有沒有辦法可以在命令列上更改 DNS 伺服器,而無需更改磁碟上的任何內容?

我最近啟動了救援會話,並獲得了 IP 位址(使用 DHCP),但沒有 DNS 伺服器。因為我的網路設定通常是nm-applet在桌面會話中完成的,而不是在桌面會話中/etc/network/interfaces完成的,所以我希望能夠為這次救援會話提供一個 DNS 伺服器,而不是在磁碟上寫入任何內容。

這通常可以透過編輯來實現/run/resolvconf/resolv.conf。但resolvconf似乎沒有在 ubuntu 14.04 救援會話中運行。

我希望有類似於網路配置的東西,我可以在其中配置介面而無需編輯文件:

# ifconfig eth0 192.168.2.5 netmask 255.255.255.0
# route add default gw 192.168.2.1

有沒有辦法在 ubuntu 14.04 上的救援會話中對 DNS 執行此操作?

答案1

我找到了一種方法來做到這一點:

終止 dns 服務(可能有更微妙的方法?)

# killall dnsmasq

使用所需的上游伺服器重新啟動服務:

# dnsmasq --server=192.168.2.1

在較新的 ubuntu(帶有systemd)上,這將是:

# systemd-resolve -i enp0s31f6 --set-dns=192.168.2.1  # --set-dnssec=true

檢查:

# systemd-resolve --status

答案2

導覽至此目錄/etc/resolvconf/resolv.conf.d 使用 vi 或 vim 和 su 權限編輯頭文件

sudo vi /etc/resolvconf/resolv.conf.d/head

將以下行新增至文件中

nameserver *DNS server IP*

儲存檔案並使用 resolvconf 實用程式設定您透過以下命令輸入的靜態 DNS 伺服器位址

sudo resolvconf -u

答案3

為了使其正常工作,我au.archive.ubuntu.com在該/etc/hosts文件中添加了在 PC 上 ping 得到的 IP 位址。

然後就apt update解決了。

相關內容