在防火墙中根据 IP 阻止国家/地区

gio*_*321 1 firewall debian iptables

我想限制我的服务器在国外的可见性。我总是从一两个国家连接到我的个人服务器。有没有办法阻止来自所有其他国家的所有 IP?

我正在Debianiptables

我找到了以下与国家/地区相关的 IP 数据库,但它不是很准确。还有其他想法吗?

ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest (North America)
ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest  (Europe)
ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest (Africa)
ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest (Asia + Pacific)
ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest (South America)
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用 xtable 插件 geoip 匹配功能。在 debian 上安装 xtable-addons-common 包,然后使用 geoip 目标,例如允许来自荷兰 NL 的 ssh:

iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc NL -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

确保加载了 xt_geoip 模块并下载了 geoip 数据库。您可以在http://xtables-addons.sourceforge.net/geoip.php阅读 xtable 文档以获取更多信息