溫馨提示×

ubuntu域名解析常見問題

小樊
39
2025-10-18 12:15:32
欄目: 云計算

Ubuntu域名解析常見問題及解決方法

1. 無法解析域名(無法將域名轉換為IP)

常見原因:DNS服務器配置錯誤(如/etc/resolv.conf中nameserver無效)、網絡連接中斷(無法訪問DNS服務器)、/etc/hosts文件配置錯誤(手動解析記錄有誤)、DNS緩存包含過期或錯誤結果。
解決方法

  • 檢查DNS配置:執行cat /etc/resolv.conf確認nameserver是否為有效地址(如8.8.8.8、114.114.114.114);若使用systemd-resolved,編輯/etc/systemd/resolved.conf添加DNS=8.8.8.8,然后重啟服務:sudo systemctl restart systemd-resolved。
  • 測試網絡連通性:執行ping 8.8.8.8,若不通則檢查網絡接口(ip a)、路由(ip route)或防火墻設置。
  • 驗證/etc/hosts文件:確保無錯誤的域名映射(如127.0.0.1 example.com會覆蓋DNS解析)。
  • 清除DNS緩存:sudo systemd-resolve --flush-caches(或sudo resolvectl flush-caches)。

2. DNS解析速度慢

常見原因:DNS服務器響應慢(如公共DNS擁堵)、DNS緩存未更新(舊記錄導致重復查詢)、解析順序不合理(優先查詢慢速DNS)。
解決方法

  • 更換快速DNS服務器:編輯/etc/resolv.conf(臨時)或/etc/systemd/resolved.conf(永久),添加國內公共DNS(如114.114.114.114、223.5.5.5),并設置options timeout:1 attempts:2(縮短超時時間)。
  • 清理DNS緩存:sudo systemd-resolve --flush-caches,避免舊記錄影響解析速度。
  • 調整解析順序:檢查/etc/nsswitch.conf中的hosts行,確保為hosts: files dns(優先查詢本地/etc/hosts文件,再查詢DNS)。

3. DNS配置更改后未生效

常見原因:未正確應用netplan配置(Ubuntu 20.04+默認使用netplan)、/etc/resolv.conf被systemd-resolved覆蓋、NetworkManager未同步配置。
解決方法

  • 應用netplan配置:編輯/etc/netplan/*.yaml(如00-installer-config.yaml),在對應網卡下添加nameservers: {addresses: ["8.8.8.8", "114.114.114.114"]},然后執行sudo netplan apply。
  • 同步NetworkManager:若使用圖形界面或NetworkManager,通過nmcli connection show查看連接名稱,執行nmcli connection up <連接名稱>重新激活連接。
  • 檢查systemd-resolved狀態:執行systemctl status systemd-resolved,確保服務運行正常;若未運行,執行sudo systemctl enable --now systemd-resolved。

4. DNS緩存問題(解析結果錯誤或過期)

常見原因:本地DNS緩存未及時更新(如修改DNS記錄后仍返回舊IP)、緩存服務異常(如systemd-resolved緩存損壞)。
解決方法

  • 清除DNS緩存:sudo systemd-resolve --flush-caches(Ubuntu 22.04+)或sudo service systemd-resolved restart(舊版本)。
  • 強制刷新解析:使用nslookupdig命令重新查詢域名(如nslookup example.com),驗證是否返回最新結果。
  • 關閉緩存(可選):若無需緩存,可編輯/etc/systemd/resolved.conf,添加Cache=no,然后重啟服務。

5. 內網域名解析慢或不通

常見原因:內網DNS服務器響應慢、DNS查詢循環(如內網DNS轉發到公網DNS導致延遲)、網絡路徑丟包(如DNS服務器與客戶端之間網絡不穩定)。
解決方法

  • 手動綁定內網域名:編輯/etc/hosts文件,添加<內網IP> <域名>(如10.14.1.30 nx-cpu030.deepscience.cn),優先使用本地解析。
  • 更換內網DNS:編輯/etc/resolv.conf,將內網DNS放在首位(如nameserver 10.14.1.1),備用公網DNS(如223.5.5.5)。
  • 排查網絡路徑:使用mtr -n <DNS服務器IP>跟蹤路徑,檢查是否有丟包(如Loss%列不為0),若有丟包需聯系網絡管理員修復。

6. 防火墻阻止DNS查詢

常見原因:Ubuntu防火墻(ufw/iptables)默認禁止UDP 53端口(DNS查詢端口),導致DNS請求無法發送到服務器。
解決方法

  • 檢查防火墻狀態:執行sudo ufw status,若顯示active,則允許DNS端口:sudo ufw allow 53/udp。
  • 檢查iptables規則:執行sudo iptables -L -v -n | grep 53,若存在DROP規則,添加允許規則:sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT(需持久化規則,如使用iptables-save)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女