如何配置 OpenBSD pf 以只允许来自给定国家的入站?

gas*_*ter 2 firewall openbsd pf

我有一个 OpenBSD 5.2 盒子,它在端口 80 上运行网络服务器,在端口 2222 上运行 SSHD 服务器。

如何将 OpenBSD 的 pf 配置为仅允许从给定国家/地区连接到端口 80 和 2222?

Sha*_*dur 5

简短回答:互联网不是那样工作的

更长的答案:IP 地址块没有按国家/地区整齐划定。就 IPv4 而言,上级组织 IANA 将地址块分配(过去时 - 它们已超出块)分配给各种 NIC,这些 NIC 在非常广泛的区域中运行,如您在此处所见。然后,他们根据 ISP 所说的他们需要什么,根据每个案例将 IP 块分配给 ISP——在那个级别,他们通常与之交易的 ISP 往往跨越边界。

我不熟悉pflinux的确切细节,iptables但我有理由确定它们都在 IP/netblock 的基础上工作。也许你可以按摩一个地理定位数据库来吐出所有网络块的列表,它几乎可以肯定是一个国家或另一个国家独有的,但我不会打赌。

更愤世嫉俗的是,你可能想向伊朗或中国政府征求他们如何处理它的建议,但我不会把他们作为正确使用互联网的榜样......