DNS域名系統是網絡基礎架構的核心部分,提供了一種將域名轉換為IP地址的方法。
您可以將DNS視為互聯網的電話簿。注意這篇文章不是在Ubuntu 22.04配置自己的DNS服務器。而是給客戶端配置DNS的IP地址。
連接到Internet的每個設備均由其IP地址作為唯一標識。當您在瀏覽器中鍵入要訪問的網站時,其域名必須轉換為相應的IP地址。
什么是 DNS與DNS工作方式
操作系統首先檢查其hosts文件中是否存在相應的域,如果域名中不存在hosts文件,它將查詢配置的DNS域名服務器以解析指定的域名。
域名解析后,系統將緩存請求并保留域名和相應IP地址的記錄。DNS域名服務器為其他設備執行DNS解釋的服務器。
通常,DNS服務器地址由您的ISP分配。但是,這些DNS服務器可能運行緩慢或未定期更新,這可能會導致在查詢域名時解析為錯誤的IP地址。
或者出現延遲,有時您可能根本無法解析所需的域名的IP地址。有很多免費的公共DNS服務器。
這些DNS域名服務器快速,并定期更新。這是一些最受歡迎的公共DNS服務器。Google(8.8.8.8,8.8.4.4),Cloudflare(1.1.1.1,1.0.0.1)。
OpenDNS(208.67.222.222,208.67.220.220),Level3(209.244.0.3,209.244.0.4)。
如果要為連接到本地網絡的所有設備設置DNS域名服務器,那么最簡單和建議的方法是在家庭路由器進行更改。
Ubuntu 22.04 查看 DNS
在Linux 查看正在使用DNS服務器IP地址方法有很多,可以使用dig命令或者查看systemd-resolve服務的狀態。
systemd-resolve -status命令打印很多信息。但我們可以使用grep命令來過濾DNS Servers字符串。
對于dig命令,如果只需要查看當前使用DNS地址,請運行命令dig myfreax.com | grep SERVER。
dig myfreax.com | grep SERVER
sudo systemd-resolve --status | grep 'DNS Servers' -A2
dig myfreax.com | grep SERVER
;; SERVER: 8.8.8.8#53(8.8.8.8)
sudo systemd-resolve --status | grep 'DNS Servers' -A2
DNS Servers: 1.1.1.1
1.0.0.1
Ubuntu 22.04 桌面設置DNS
在Ubuntu 22.04桌面環境設置DNS地址非常簡單,不需要任何技術知識。首先打開設置窗口。
如果您連接到WiFi網絡,請單擊Wi-FI標簽。否則,如果您有有線連接,請單擊網絡選項卡。
選擇要為其設置DNS的連接,然后單擊齒輪圖標以打開網絡管理器。選擇IPv4設置選項卡。
禁用自動切換開關,然后輸入DNS服務器的IP地址,以逗號分隔。我們將使用Google DNS服務器。

點擊應用按鈕以保存更改。更改立即生效,除非您的系統或應用程序緩存了DNS記錄。
如果要切換回原來的設置,請打開網絡管理器,轉到IPv4設置并啟用自動切換開關。
Ubuntu 22.04 服務器設置DNS
過去,每當您想在Linux中配置DNS地址時,只需打開etc/resolv.conf文件,編輯記錄,保存文件就可以。
現在etc/resolv.conf文件仍然存在,但它是由systemd-resolved服務控制的符號鏈接,不應手動對其進行編輯。
systemd-resolved是為本地服務和應用程序提供DNS名稱解析的服務,可以使用Netplan進行配置,Netplan是Ubuntu 22.04的默認網絡管理工具。
Netplan配置文件存儲在etc/netplan目錄。您可能會在此目錄中找到一個或兩個YAML文件。
各個安裝程序的文件名可能不同。通常,該文件名為01-netcfg.yaml或50-cloud-init.yaml,但在您的系統中,可能會有所不同。
這些文件使您可以配置網絡接口,我們通常稱為網卡,包括IP地址,網關,DNS域名服務器等。
要設置DNS,請使用你喜歡的文本編輯器編輯文件,在本教程中我們將使用vim編輯文件。
sudo vim etc/netplan/01-network-manager-all.yaml
/etc/netplan/01-network-manager-all.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
ens3:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
注意,你必須修改本教程中接口名稱ens3為你的計算機接口名稱。然后使用您的首選DNS更改nameservers的IP地址。
例如如果您想使用Cloudflare的DNS服務器,則可以將nameservers的addresses行更改為。
DNS服務器IP地址必須用逗號分隔,如果該nameservers字段不存在,請將nameservers添加到接口名稱字段下。
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
編輯Yaml文件時,請確保您遵循YAML代碼縮進標準。如果配置中存在語法錯誤,Netplan將無法解析該文件。完成后,保存文件并退出vim。
然后運行命令sudo netplan apply應用更改。Netplan將為systemd-resolved的服務生成配置文件/run/systemd/resolve/resolv.conf。
此外,還有一些應用程序依然使用etc/resolv.conf的配置文件的DNS地址進行域名的解釋,因此你還需要修改etc/resolv.conf文件。
要修改此文件我們只需要將/run/systemd/resolve/resolv.conf軟鏈接到etc/resolv.con即可。
運行命令sudo ln -sf /run/systemd/resolve/resolv.conf etc/resolv.conf。
sudo netplan apply
sudo ln -sf /run/systemd/resolve/resolv.conf etc/resolv.conf
Ubuntu 驗證DNS設置
要驗證是否正確設置DNS地址,請運行命令systemd-resolve --status | grep 'DNS Servers' -A2或者命令dig www.myfreax.com。
systemd-resolve -status命令打印很多信息。我們使用grep命令來過濾DNS Servers字符串。
sudo systemd-resolve --status | grep 'DNS Servers' -A2
DNS Servers: 1.1.1.1
1.0.0.1
這里需要注意的是,如果你的Ubuntu 22.04帶有桌面環境,請一定使用桌面環境的網絡設置來修改DNS的IP地址。
如果你想使用命令的方式修改DNS地址,可能會不如你所愿。當你在終端運行命令dig www.myfreax.com的時候。
你將會在dig命令的結果看到應答的服務器永遠是;; SERVER: 127.0.0.1#53(127.0.0.1)或者是你的網關地址;; SERVER: 192.168.1.1#53(192.168.1.1)。
dig www.myfreax.com
; <<>> DiG 9.16.1-Ubuntu <<>> www.myfreax.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 451
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.myfreax.com. IN A
;; ANSWER SECTION:
www.myfreax.com. 300 IN A 43.457.68.101
;; Query time: 119 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Dec 01 19:14:33 HKT 2022
;; MSG SIZE rcvd: 60
結論
Netplan是Ubuntu 22.04的默認網絡管理工具,替代之前的Ubuntu版本中用于配置網絡的etc/resolv.conf和etc/network/interfaces配置文件。
-
Linux
+關注
關注
88文章
11758瀏覽量
219009 -
服務器
+關注
關注
14文章
10251瀏覽量
91480 -
DNS
+關注
關注
0文章
229瀏覽量
21148 -
Ubuntu
+關注
關注
5文章
613瀏覽量
33366
發布評論請先 登錄
如何在Ubuntu 22.04上搭建ftp服務器
ubuntu 22.04 執行pkgs--update 失敗的原因?
【WRTnode2R使用體驗】5、Ubuntu設置靜態DNS
OpenHarmony編譯固件新增支持Ubuntu22.04平臺
為Ubuntu 22.04構建CST 3.3.1時出錯了的原因?怎么處理?
【賽昉科技昉·星光RISC-V單板計算機試用體驗】安裝ubuntu Server 22.04及掛載分區
如何在Ubuntu 22.04上安裝Microsoft Edge瀏覽器
MS Windows協議輕松遠程訪問 Ubuntu 22.04 桌面
如何在 Linux 上查看本地 DNS 緩存
華納云:Ubuntu18.04系統如何查詢域名的具體dns信息
系統適配 | RK3588 Ubuntu22.04正式發布
Ubuntu 22.04查看DNS的方法
評論