hosts.deny的大小对networking响应的影响

我打算通过在hosts.deny文件中添加适当的条目来完全拒绝访问大约2000个IP地址。 这会对合法IP远程访问系统的响应性产生影响吗?

它会使初始连接速度变慢一些,但是过去一旦连接就不会影响响应速度。

一般来说,hosts.deny是相当快的:在我刚刚运行的一个testing中,一个零长度的hosts.deny花了0.93秒来启动和closures一个ssh连接(“time ssh testhost env”)。 使用64,010行的hosts.deny(“ALL:10.10.xy”,x和y从2到254),相同的连接花了1.03秒。 所有时间平均四个样本。

显然你的里程可能会有所不同,所以我build议你testing,但我怀疑你会有严重的问题。

也可以使用带有连接跟踪function的iptables,我认为它会稍微快一点,并且具有协议不可知的附加好处,也就是说同样适用于拒绝与tcp / udp / icmp的连接或者您可能正在运行的任何服务。

  • 那2000个地址可以被汇总下来吗?

    hosts.deny将采用CIDR定义。 所以它应该更快,更容易pipe理:

     10.0.0.0/30 10.0.1.0/30 

    比相当的:

     10.0.0.1 10.0.0.2 10.0.1.1 10.0.1.2 
  • 它是否需要防火墙?

    如果你这样做了很多,那真正是防火墙的责任,而不是主机本身。 集中pipe理会更容易一些(就像Jim所说的那样),OpenBSD的带有状态跟踪function的PF将会非常轻松。

 [olafrv@eqqus ~]$ cat /etc/hosts.deny | grep ^ALL | wc -l 8004 

有了这个数量,我在英特尔台式机双核电脑上没有任何问题,也没有任何延迟。

文件hosts.deny是自动修复的,使用denyhosts( http://denyhosts.sourceforge.net