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

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

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

我正在Debian跑步iptables

我找到了以下与国家/地区相关的 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)

答案1

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

iptables -A INPUT -p tcp --dport 22 -m geoip --src-cc NL -j ACCEPT

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

相关内容