Xtables-Addons无法正常工作并阻止所有ip

时间:2019-02-23 12:59:59

标签: iptables kernel-module geoip

我在服务器上使用Debian 9.8 Stretch x64。昨天,我从官方存储库将内核文件的格式从4.9.133更新为4.9.144。重新启动后,我无法访问服务器。所有端口均被阻止。我启动了VNC连接并刷新了防火墙。一切恢复正常。

我一一分析了iptables规则(我没有使用Firewalld,ufw等)。当我插入geoip模块的规则(INPUT I INPUT -m geoip --src-cc CN,IN-REJECT --reject-with icmp-port-unreachable)时,我无法继续ssh会话。我再次使用VNC删除规则。

我到目前为止所做的:

  • modprobe xt_geoip命令未给出任何错误消息。
  • depmod -a命令运行没有任何问题。
  • lsmod | grep xt_geoip命令将结果显示两行,其中一行xt_geoip和x_tables。
  • 删除并清除了xtables-addons-commons并apt-get autoremove,然后我又重新安装了所有内容。
  • 我使用了2017年和2018年的旧geo_ip数据库(BE / LE文件夹),但没有运气。因此,该问题与IP的数据库xtables的使用无关。

我认为模块是由内核加载的。我将尝试在测试计算机内核4.9.133中重新安装。如果可以使用,则新内核版本4.9.144中存在一个错误,该错误会导致xtables-addons / geoip模块出现问题。

1 个答案:

答案 0 :(得分:0)

自从Maxmind在2019年1月弃用旧格式数据库以来,我遇到了类似的问题。

我还尝试还原到较旧的xt_geoip数据库文件,但未成功。我还尝试修改较新的xtables-addons脚本以从较新的Maxmind数据库下载。所有这些都失败了。

最后,我使用了https://github.com/mschmitt/GeoLite2xtables中并在Converting GeoLite2 data for use with xtables geoip中引用的转换脚本来下载和转换新的Maxmind文件。

我确实遇到了其他障碍:

1)在解决此问题的一次失败尝试中,创建了诸如“ .iv4”和“ 1.iv4”的文件。我删除了/ usr / share / xt_geoip / BE和/ usr / share / xt_geoip / LE

中的所有文件/目录/ etc

2)然后,我使用上面链接中的信息从GeoLite2数据下载并构建xtables数据库文件。

3)至此,我现有的基于iptables geoip的规则仍然无法正常工作。但是删除规则并重新添加它会使其开始起作用。不肯定为什么我必须执行该操作(缓存?在创建规则时加载数据库?不知道)。