/etc/hosts文件修改后如何生效

来源:互联网 发布:联翔科技 淘宝 编辑:程序博客网 时间:2024/04/29 11:18

修改/etc/hosts之后正常情况应该是保存之后立即生效的,但是有时不是。

使用uname -a 可以查看hostname是多少,就可以知道是否修改生效了。如果没有
这时的策略有:
1) 重启机器
2) 重启服务

      Ubuntu: $sudo/etc/init.d/networkingrestart

      Gentoo: /etc/init.d/net.eth0 restart
3)使用hostname命令
       hostname 定义的主机名

 


hostname与/etc/hosts的关系

很多人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。

hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。

Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc /hosts文件通常里面包含这一条记录

127.0.0.1    localhost.localdomain   localhost
hosts文件格式是一行一条记录,分别是IP地址 hostnamealiases,三者用空白字符分隔,aliases可选

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。
 
有时候/etc/hosts中绑定了域名和ip,但在ping的时候仍会看到域名没有被解释为绑定的ip。这时可以修改/etc/host.conf。增加以下命令,表示dns解析之前先查询hosts文件。
order hosts,bind

 
转自新浪博客:http://blog.sina.com.cn/s/blog_605f5b4f0101847z.html
0 0