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