Linux修改hosts不起作用的解决方法 (linux 修改hosts不生效)

在Linux系统下,修改hosts文件可以用来解决网络问题、提高访问速度等。但是有时候修改完hosts文件后,却发现无法起作用。这可能会让用户感到困扰。在这篇文章中,我们将会讲解Linux修改hosts文件不起作用的解决方法,帮助用户顺利解决这个问题。

之一步:检查hosts文件格式是否正确

hosts文件的格式应为IP地址和域名一一对应的形式,并以空格或者制表符分开。如果格式错误,hosts文件将不能被正确解析。可以通过以下命令检查hosts文件格式是否正确:

“`

sudo nano /etc/hosts

“`

在打开的hosts文件中,每行都应该对应一个IP地址和域名的组合。确保每行都以IP地址开始,以域名或者主机名结束。如果发现格式错误,可以根据上述规则更正hosts文件中的条目。保存并关闭文件后,运行以下命令以重新加载hosts文件:

“`

sudo /etc/init.d/networking restart

“`

第二步:清除DNS缓存

如果hosts文件的格式正确,但修改后仍然无法起作用,这可能是因为DNS缓存的问题。在Linux系统下,DNS缓存记录了之前的DNS查询结果,如果hosts中的条目与缓存不一致,系统就会忽略hosts文件的内容。清除DNS缓存可以尝试解决这个问题。可以通过以下命令清除DNS缓存:

“`

sudo /etc/init.d/nscd restart

sudo /etc/init.d/dnasq restart

sudo /etc/init.d/networking force-reload

“`

重启nscd、dnasq和networking等网络服务,可以清除DNS缓存,让系统重新读取hosts文件,并重新解析IP地址。如果这些服务不存在于系统中,可以安装以下命令,然后尝试重新启动:

“`

sudo apt-get install nscd dnasq

sudo service networking restart

“`

另外,清除系统DNS缓存也可以通过以下命令来实现:

“`

sudo systemd-resolve –flush-caches

“`

第三步:编辑nsswitch.conf文件

如果上述方法仍然不能解决修改hosts文件不起作用的问题,那么就需要编辑nsswitch.conf文件。hosts条目在nsswitch.conf文件中的位置影响其是否被解析。打开nsswitch.conf文件:

“`

sudo nano /etc/nsswitch.conf

“`

在文件中查找如下行:

“`

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

“`

将其改为:

“`

hosts: files dns

“`

然后保存并关闭文件。再次运行以下命令,以重新加载hosts文件:

“`

sudo /etc/init.d/networking restart

“`

重新加载网络服务后,hosts文件应该已经起作用,这个问题也应该得到了解决。

在Linux系统下,修改hosts文件不起作用的问题可能会让用户感到头疼。主要原因可能是格式错误、DNS缓存、nsswitch.conf文件设置不当等。但只要按照上述方法逐步解决,这个问题很快就能得到解决。我们希望这篇文章能够帮助到那些Linux系统使用者。

相关问题拓展阅读:

linux 修改hosts 需要重启么

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

-a 可以查看hostname是多少,就可以知道是否修改生效了。如果没有

这时的策略有:

1) 重启机器

2) 重启服务

Ubuntu: $sudo

/etc/init.d/networking restart

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地址 hostname

aliases,三者用空白字符分隔,aliases可选。

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

不需要重启的这了软件的稳定性及安全性占有优势。

1、Linux系统规划安装,网络服务图形化配置,DHCP服务和DON服务,文件服务和打印服务代理服务和VPN服务,SSH服务与Telnet服务FTP服务和E-mail服务,

MySQL数据库

和Web服务,

网络防火墙

和NAT服务,

流媒体

服务和时间服务。

2、当Internet上的计算机迅速增加时,通过一个中心授权机构为所有Internet主机管理一个主机文件的颤粗工作将无法进行,文件会档薯随着时间的推移而增大,这样按茄蠢镇当前和更新的形式维持文件以及将文件分配至所有站点将变得非常困难,甚至无法完成,于是便产生了

DNS服务器

linux 修改hosts不生效的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 修改hosts不生效,Linux修改hosts不起作用的解决方法,linux 修改hosts 需要重启么的信息别忘了在本站进行查找喔。


数据运维技术 » Linux修改hosts不起作用的解决方法 (linux 修改hosts不生效)