在网络管理实践里 ,Linux 系统含 hosts 文件这个东西 ,它属于基础且关键的本机域名解析配置 。它能让用户直接去指定域名与 IP 地址的映射关系 ,靠着这个来绕过 DNS 服务器 。懂得它的生效机制是很重要的 ,这对于开展本地开发测试 ,或者屏蔽特定网站 ,又或是加速内网访问来讲 。掌握 hosts 文件的原理跟操作方法 ,会让你更高效地去控制系统网络行为 。
hosts 文件修改后如何生效
修改hosts文件后,生效的最直接有效的方式是重启网络服务,在多数使用systemd的现代Linux发行版里,你能利用执行 sudo systemctl restart systemd-resolved或者执行 sudo systemctl restart NetworkManager命令来达成 。此个操作,能够把系统现有的 DNS 缓存予以清空,还会重新去加载所有的网络配置,里面包含刚才才进行编辑的 hosts 文件,以此来确保新的映射关系能够被立刻识别。

还有另外一种相较没那么剧烈的办法,是去重启一下网络连接。要是你运用的是图形化界面这个玩意儿,那就能够直接于网络设置里面先把网络连接给临时性禁止使用一会儿之后再次启动开启它。倘若是待命令行的境况之下话哦你瞧你就可以试着运用 sudo nmcli connection reload 这么个操作步骤然后再去执行 sudo nmcli connection up [你的连接名] 这后面这个操作步骤啦。所以优先推荐运用 systemctl 相关的命令 。
如何测试 hosts 文件是否生效
对hosts文件的生效情况予以测试,经常会用到的命令是ping,要在终端里从直接做ping操作,针对在hosts文件中进行设置且列举出的域名才行比如学linux有前途吗,要是把映射到了127.0.0.1倘若执行ping 得出若是返回的IP地址为127.0.0.1当且并非属于其客观真正存在的公网IP则能够证实其hosts文件产生了成功生效的结果。观察到的就是这个本地指定的 IP 地址。

与 ping 不同,查询时使用 nslookup 或 dig 命令这种方式更为专业。,于终端之中输入nslookup ,而后查看返回之中“Address”所处内容是否恰为预先自己设置情况之下的 IP。、 dig 这类命令可以显示出更为之详细些的许多信息 。并于该结果之内查找“ANSWER SECTION”部分所显现出来 IP 地址 。需加以留意,一些属于系统级别的 DNS 缓存,有可能致使这些命令依旧返回先前的结果,在这种情形下,将 DNS 缓存清除之后再进行测试,会更为准确。
<b>hosts 文件不生效怎么办</b>
若察觉到hosts文件更改后未产生预期效果,最先要去核查文件权限以及语法情况。运用sudo cat /etc/hosts来证实你的更改已经被正确保存。一定要保证每一行使用“IP地址 域名”这种样式,就像127.0.0.1 localhostlinux hosts 文件生效,其中IP与域名通过空格或者制表符进行隔开,并且一行结束之际不存在多余的空格或者特殊符号。格式出现错误乃是致使失效的常见缘由。

假设代码没有差错,则问题或许出在系统当中的DNS解析序列方面。核查/etc/nsswitch.conf之内的hosts:这一行,保障设置为hosts: files dns。这样的序列代表着,系统将会率先查询hosts文件(files),之后才会去查询DNS服务器。要是序列是hosts: dns files,那么此系统会率先使用DNS,这可能致使你所做出的hosts设置被覆盖。
<b>hosts 文件被覆盖如何恢复</b>
当 host 文件被意外进行覆盖又或者做出修改之后,如果不存在备份,那恢复来说就会显得颇为麻烦了。有法子可行,具体是对最近关于系统所做的操作加以回忆。试问有关的问题有没有安装某一些网络管理软件以及虚拟专用网客户端或者安全软件呢?这些程序偶尔会自动去修改 host 文件的啊。试试看把近期安装的这类方面软件予以卸载,看看能不能够把问题给解决掉呢。
将重要影响系统正常运作的文件操作改变或调整之前,务必养成备份的良好习惯 ,这个至关重要的习惯能够有效防止后续可能遭遇的不测情况给系统带来损害,要晓得预防所具备的积极作用相较于处理由此引发的问题而言linux hosts 文件生效,有更为突出及切实的意义 。当您需对那个存在于特定路径下,被用来构建和维护主机名称与IP地址相互映射数据关系,名为/etc/hosts的文件进行修改操作时 ,您能够率先开展一个步骤举措来构建冗余备份 ;通过调用系统管理员权力并运用那指定的复制指令,也就是sudo cp /etc/hosts /etc/hosts.bak这么一套操作流程 ;借助这一流程顺利创建出一个额外的备份文件副本资源 。一旦系统环节由于某些不可预见的因素而产生异常状况时,后续您就能够凭借执行另外一条特定的复制指令,即sudo cp /etc/hosts.bak /etc/hosts ,进而将备份的文件覆盖回原文件位置 ;把系统状态恢复到之前尚未修改的初始正常模样 。这整体所属涵盖相关范畴的一整套流程动作表现形式实际是一种具备简洁特征,但同时又能针对系统实施最为有效管理的良好操作习惯 。
<b>hosts 文件生效顺序是什么</b>
在 Linux 系统里,针对域名解析而言,解析过程中,hosts 文件的优先级,是由 /etc/nsswitch.conf 文件来决定的。如同前面所说的那样,当 hosts: 那一行被设置成 files dns 的状况之时,系统会首先去读取 /etc/hosts 文件,要是在这个文件之中找到了对应域名的相关记录,就会直接去使用这个 IP 地址,进而解析过程就会到此终止。
在hosts文件当中要是没发现匹配到的域名,系统才会接着依照nsswitch.conf显示出来的内容,继续着手查看那些后续的DNS服务器。这就表明如此配置刚好正确的hosts文件 比任何公共DNS或者本地DNS缓存具备还要高一些的优先执行权。弄明白这条排序,对网络问题做出调试以及实现特定网络策略关键显著。
<b>hosts 文件如何屏蔽广告网站</b>
借由hosts文件来屏蔽广告乃为一种经典并有效的法子,此做法所需原理即为将诸多已知的投放广告的服务器域名解析至一个无实际效用的本地地址linux 论坛,像是127.0.0.1或者0.0.0.0`,一旦浏览器亦或是应用程序试着跟这些展示广告的域名发起连接时,所产生的请求就会被定向至本机此处或者设定的一个无具体指向的空地址,借此便无法成功加载广告所包含的内容。 。
你能够手动去添加那些需要进行屏蔽的域名,然而更为高效的办法则是运用网络上进行维护的现成的hosts文件合集,这些项目会定时更新诸多广告,跟踪和恶意软件域名的列表,在去替换系统原本的hosts文件以前,务必要开展备份,而且要从一个可信度高的来源获取,用以避免引发出安全风险。
你于运用hosts文件进程途中,碰到过最为棘手的难题是啥,是怎样解决的呀,欢迎于评论区分享你的经验与故事要是觉着本文具助益,亦请点赞并分享给更多有需求的朋友。
