hosts和hosts.deny有什么区别?

这个问题看起来似乎微不足道,但在过去的36个月里,我一直认为我在hosts.deny文件中输入的内容将阻止我的计算机访问这些内容。 但是一些网站仍然存在并建立了联系。

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

为什么有一个hosts.deny如果在hosts文件中有它就可以了?

我的意思是阻止是

127.0.0.1 somesite.topdomain

大约一年前我问了一个类似的问题,但到那时我还没有尝试将所有东西放在主机文件中,似乎没有人连接点。

它们被不同的工具使用。 见man hosts;man tcpd

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

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