xtable geoipfilter无法加载到memroy中

好,

我有一个奇怪的问题。 我刚刚完成了我的服务器的基础configuration。 添加fail2ban,postfix,apache,mysql等。

然后我进入并开始添加x​​table插件。 我下载了版本1.47.1因为这是我的内核2.6.32-431.23.3.el6.x86_64版本(据我所知)的最新版本

在编译禁用IPv6选项后,编译时总是抛出错误,我去更新我的geoip数据库,确保BE和LE文件夹在/usr/share/xt_geoip并添加了这个filter:

 -A INPUT -m geoip ! --src-cc US -j REJECT --reject-with icmp-net-unreachable 

但是当我做到这一点时,

 iptables: Invalid argument. Run `dmesg' for more information. 

dmesg中的最后一项是这样的:

 xt_geoip: unable to load 'US' into memory: -12 

所以目前我卡住了。 这是我遇到这个问题的第一次。 这是我的第一个CentOS 6服务器,我所有的服务器都使用了Centos 5。

我知道错误来自哪里(xt_geoip.c文件中的第86行),但是我知道这会有很大的帮助。

检查你的编译文件是不是空的。 按照以下说明操作后,我遇到了同样的错误:

http://terminal28.com/how-to-block-countries-using-iptables-debian/

…发现iv6文件有数据,但.iv4的文件都是空的,我想是因为我第一次运行时丢失了“unzip”软件包。

检查确认.CSV文件中有数据,运行此命令重新构build:

  ./xt_geoip_build -D /usr/share/xt_geoip *.csv 

…并能够立即使用iptables的国家代码。