Ubuntu16.04域名解析慢排查


環境

* Ubuntu Desktop 16.04.3

現象

* ping t.cn 需等待數秒鍾才開始正常顯示ping包列表。

排查

* 確保網絡正常,ping <ip>

* Google找答案,可能是 /etc/nsswitch.conf 中hosts字段配置有問題,經多次修改,發現無任何改善,因此可能此處有問題,

  1. hosts:  files mdns4_minimal [NOTFOUND=return] dns

* Ubuntu Desktop默認使用NetWork Manager管理網絡,因此分析其配置,發現最后一個配置出錯。

確保/etc/network/interfaces文件中只有本地環回的內容,例如

  1. auto lo  
  2. iface lo inet loopback  
保證network-manager處於開啟狀態,打開配置文件/etc/NetworkManager/NetworkManager.conf, 配置文件的內容為:
  1. [main]  
  2. plugins=ifupdown,keyfile  
  3. dns=dnsmasq  

 

  1. [ifupdown]  
  2. managed=true # true 說明處於開啟狀態,false表明處於未開啟狀態。本次問題就出在此,需要將其設置為true

修改后重啟網絡相關。

  1. sudo systemctl restart NetworkManager.service
  2. sudo systemctl restart networking.service   #非必需

背景知識

dnsmasq的作用

因為 ubuntu下有一個本地的dns服務叫做dnsmasq,它是由NetworkManager控制的

ps -ef | grep dnsmasq

你就可以看到它監聽的本地地址,--listen-address=127.0.1.1 (ubuntu12.04及之前的版本 是 127.0.0.1), 這個地址是一個本地回環地址

而你真實的dns服務器地址,是被這個服務管理維護着的

  1. local process -> local dnsmasq -> router -> ISP dns
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM