我有一个 OpenBSD 5.1 机器,正在运行一个基于静态 html 的网站。
我有一个我想要允许的 IP 地址列表,例如:
...
78.128.49.0/24
78.128.50.0/24
...
大约 10 KB。 ~10 000 行。我只想允许这些 IP 地址,而不是联系服务器(httpd、ssh、任何东西,甚至是未使用的端口)。
问:在 host.allow/host.deny 文件中执行此操作的最佳语法是什么? (据我所知,最好将 10 000 个 IP 地址范围放入一个文件中,然后将它们放入防火墙中..)
答案1
对于 OpenBSD 的 实现tcpwrappers
,我认为您需要将每个地址都包含在 中/etc/hosts.allow
,其中包含 10k 条目,很快就会变得非常笨重。
ALL : ... 78.128.49.0/24 78.128.50.0/24 ... : deny
不需要排很多队,这就会成为一场噩梦。请注意,地址之间用空格或逗号或两者分隔。
如果您已pf
配置并运行,您可能会发现从地址文件的内容填充表格更容易:
table <blockthese> persist file /etc/list-of-addresses-to-block
block in log quick on $ext_if from <blockthese> to any
对表的查找速度pf
很快,而且表在内存使用方面非常高效,因此除非旧机器上的 RAM 量非常有限,否则这应该可以正常工作 - 这是我在许多 FreeBSD 主机上使用的策略,并且它效果很好。