hosts 和 hosts.deny 有什么区别?

hosts 和 hosts.deny 有什么区别?

这个问题看似微不足道,但过去 36 个月里,我一直幻想着在 hosts.deny 文件中输入的内容会阻止我的计算机访问这些网站。但有些网站仍然能访问并建立连接。

但是上周我将我的整个 hosts.deny 列表放入了 hosts 文件中,现在我想要阻止的所有内容都被阻止了。

如果在 hosts 文件中有 hosts.deny 就可以解决问题,为什么还要使用 hosts.deny?

我所说的阻止是指

127.0.0.1 某个站点.topdomain

大约一年前,我问过类似的问题,但那时我还没有尝试将所有内容都放入 hosts 文件中,而且似乎没有人能将这些点联系起来。

答案1

它们由不同的工具使用。请参阅man hosts;man tcpd

/etc/hosts.deny是 TCP Wrappers 包的一部分tcpd(参见维基百科),并充当类似守护进程和目标 TCP 服务之间的中介inetd,并用作传入 TCP 连接的访问​​控制机制。

/etc/hosts是系统查找 URI 并将主机名转换为 IP 地址的一部分,用于传出 TCP/IP 请求。

相关内容