将所有美国流量列入白名单,将所有非美国流量列入黑名单,这可以通过国家代码而不是 IP 来实现吗?

将所有美国流量列入白名单,将所有非美国流量列入黑名单,这可以通过国家代码而不是 IP 来实现吗?

我读过十几篇关于使用iptablesfail2ban和 的指南csf。它们的共同点似乎是:

1) generate a list of IP rangess for the country you want
2) write a bash/python script to run the allow config for each ip range
3) run a deny all for everything else

指南https://unix.stackexchange.com/questions/478735/blocking-all-traffic-except-whitelisted-ip-adresses似乎是最直接的解释。

我的问题是,如何在无需处理 IP 地址列表的情况下允许/拒绝整个国家的流量?

谢谢

答案1

最简洁的答案是不。

较长的回答是,有点,但不太清楚。

您链接到的链接似乎正确但几乎不相关,因为它没有考虑国家。

有许多问题需要解决 - 具体来说,iptables 不处理域名,而是处理 IP 地址/子网。话虽如此我相信他们有一个 geoIP 模块,可以维护 IP 空间到您可以使用的国家/地区的映射。来实现你的目标。

请注意,任何此类阻塞都不会接近完美。

答案2

@davidgo 的回答是正确的,你必须坚持下去,然而,有一个重要的考虑因素他没有说清楚。

这不会是一次性配置。GeoIP 列表不断变化,公司之间会相互出售和购买 IP 块,我相信这种情况也会发生在跨国界。因此,需要维护阻止列表。维护起来并不比构建起来容易。这就是为什么你经常看到没有 GeoIP数据库,但 GeoIPAPI— 查询当前的数据库的状态由其他人维护,而且通常您需要为此付费。

我恳求你非常小心用这种方法。不要重复 Joyce Vogelman Taylor 诉 MaxMind 案。这就是“不太好”的意思。

答案3

可以

或者

  • 查找域名微软谁是, 在哪里显示名称服务器,然后抓取注册人联系信息:美国从该屏幕。

然而,由于一些原因,找到的国家并不总是可靠的。

  • 单个域名通常指向多个服务器,不一定都位于同一个国家。
  • 尽管用户居住在另一个国家,但他的 ISP 可能位于一个国家。
  • 一个国家的用户可以使用另一个国家的VPN。
  • 数据可能已被删除。

相关内容