解决linux下内网域名的ping结果和nslookup结果不一致
今天在linux服務器下遇到一個奇怪的問題:內網域名的ping結果居然和nslookup結果不一致,特將解決過程記錄如下。
確認/etc/resolv.conf配置是否正確:沒問題;
確認/etc/hosts中是否添加了額外域名:沒問題;
確認域名服務器中正確的內網域名對應的IP,并和同事確認發現內網域名更新過,ping的結果指向了舊的IP,nslookup的解析結果正確;
確認本地域名緩存服務nscd狀態:處于運行中,重啟沒有解決問題,看起來緩存還是很頑固的;
# service nscd status
nscd (pid 30993) is running...
# service nscd restart
Stopping nscd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]
Starting nscd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]
經google發現nscd的緩存文件清理可以用以下命令清理,運行,問題得以解決。
?# ls /var/db/nscd/
? ? hosts
? # nscd --invalidate=hosts ? 或者 ?nscd -i hosts
? # service nscd restart
? 具體請參考https://stijn.tintel.eu/blog/2012/05/10/how-to-really-flush-the-various-nscd-caches?
總結:
linux服務器本地會有域名緩存以加快域名解析,centos下用的是nscd
ping一般會直接使用緩存的域名,nslookup會直接到域名服務器查詢
轉載于:https://blog.51cto.com/trueray/1707575
總結
以上是生活随笔為你收集整理的解决linux下内网域名的ping结果和nslookup结果不一致的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写规范的测试用例
- 下一篇: Linux中printk和strace命