码迷,mamicode.com
首页 > 系统相关 > 详细

解决linux下内网域名的ping结果和nslookup结果不一致

时间:2015-10-29 13:34:20      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:nscd   nslookup   域名缓存   

今天在linux服务器下遇到一个奇怪的问题:内网域名的ping结果居然和nslookup结果不一致,特将解决过程记录如下。

  1. 确认/etc/resolv.conf配置是否正确:没问题;

  2. 确认/etc/hosts中是否添加了额外域名:没问题;

  3. 确认域名服务器中正确的内网域名对应的IP,并和同事确认发现内网域名更新过,ping的结果指向了旧的IP,nslookup的解析结果正确;

  4. 确认本地域名缓存服务nscd状态:处于运行中,重启没有解决问题,看起来缓存还是很顽固的;

    # service nscd status

    nscd (pid 30993) is running...

    # service nscd restart

    Stopping nscd:                                        [  OK  ]

    Starting nscd:                                        [  OK  ]

  5. 经google发现nscd的缓存文件清理可以用以下命令清理,运行,问题得以解决。


 # ls /var/db/nscd/

    hosts

  # nscd --invalidate=hosts

  # service nscd restart

  具体请参考https://stijn.tintel.eu/blog/2012/05/10/how-to-really-flush-the-various-nscd-caches 


总结:

  1. linux服务器本地会有域名缓存以加快域名解析,centos下用的是nscd

  2. ping一般会直接使用缓存的域名,nslookup会直接到域名服务器查询

本文出自 “真的自我” 博客,请务必保留此出处http://trueray.blog.51cto.com/5818481/1707575

解决linux下内网域名的ping结果和nslookup结果不一致

标签:nscd   nslookup   域名缓存   

原文地址:http://trueray.blog.51cto.com/5818481/1707575

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!