DNS(Domain Name System)是網路世界的「電話簿」,將網域名稱解析為 IP 位址。在 Linux 伺服器或桌面環境中,查看與修改 DNS 設定是基本運維技能。本文整理多種查看 DNS 的方法,並說明修改 DNS 設定的正確方式。

cat /etc/resolv.conf
# 輸出範例:
# nameserver 192.168.xxx.xxx
# search localdomain
nameserver 後即為 DNS 伺服器 IP。
nslookup 127.0.0.1 | grep Server
# 輸出範例:
# Server: 192.168.xxx.xxx
dig
# 末尾會顯示:
# ;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx)
僅提取 DNS IP:
dig | grep SERVER: | awk -F# '{print $1}' | awk -F: '{print $2}'
nm-tool | grep DNS
nmcli dev list iface eth0 | grep IP4
# 或較新版本:
nmcli device show eth0 | grep IP4.DNS
註:nm-tool 已棄用,建議使用 nmcli。
核心原則:直接編輯 /etc/resolv.conf,修改後立即生效,無需重啟任何服務。
vi /etc/resolv.confnameserver 行,例如:nameserver 8.8.8.8nameserver 1.1.1.1systemd-resolved 或 NetworkManager 管理網路,/etc/resolv.conf 可能是符號連結指向 /run/systemd/resolve/stub-resolv.conf。此時建議透過 nmcli 或 systemd-resolve 設定,避免重開機後被覆蓋。/etc/netplan/*.yaml、/etc/sysconfig/network-scripts/ifcfg-eth0、/etc/NetworkManager/system-connections/ 等)。dig example.com
# 檢查 ;; SERVER: 欄位是否為新設定的 DNS IP
掌握以上方法,即可靈活管理 Linux 系統的 DNS 設定,解決網域解析異常或優化解析速度。