萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統查看與修改 DNS 設定完整指南

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

DNS 設定示意圖

查看目前 DNS 設定的多種方法

方法一:檢視 /etc/resolv.conf(最直接)

cat /etc/resolv.conf
# 輸出範例:
# nameserver 192.168.xxx.xxx
# search localdomain

nameserver 後即為 DNS 伺服器 IP。

方法二:使用 nslookup 查詢

nslookup 127.0.0.1 | grep Server
# 輸出範例:
# Server: 192.168.xxx.xxx

方法三:使用 dig 指令(功能最強大)

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。

修改 DNS 設定

核心原則:直接編輯 /etc/resolv.conf,修改後立即生效,無需重啟任何服務。

編輯步驟

  1. vi /etc/resolv.conf
  2. 修改或新增 nameserver 行,例如:
    nameserver 8.8.8.8
    nameserver 1.1.1.1
  3. 儲存離開,變更即時生效。

注意事項

  • 若系統使用 systemd-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 設定,解決網域解析異常或優化解析速度。

copyright © 萬盛學電腦網 all rights reserved