Linux 修改本机etc-hosts 的 hostName 后经常不生效
1、Linux修改本机别名/etc/hosts的hostName后经常不生效解决
Linux修改本机别名/etc/hosts的hostName后经常不生效, 比如我们/etc/hosts的内容如下:
#192.68.1.10 message.xxx.com
192.68.1.11 message.xxx.com
但是ping message.xxx.com还是指向192.68.1.10。
一般2种解决方案:
1). 重启,这是最直接最可靠稳定的一种方法,如果有些时候不方便重启,则可以使用第二种方法。
2). 修改/etc/sysconfig/network文件,将HOSTNAME修改成对应的别名,如下:
NETWORKING=yes
HOSTNAME=host1
修改后重启网络服务
service network restart (本质是/etc/init.d/network) 3).
如果重启服务器后,还是不起作用,应该是本机的dns缓存引起的。
查看nscd是否启用: ps -ef|grep nscd
直接关闭Linux nscd 缓存服务: /etc/init.d/nscd stop
2、Linux的DNS
linux本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).
nscd缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,