我刚刚安装了 xtables-*,编译了 geoip 数据库,但是当我尝试使用 iptables 命令时,它总是返回以下错误:
命令
iptables -I INPUT -p tcp --dport 80 -m geoip --src-cc 'DE' -j DROP
错误
Could not open /usr/share/xt_geoip/LE/DE.iv0: No such file or directory
iptables v1.4.8: Could not read geoip database`
问题是,支持脚本创建了 geoip 数据库,但它们都以 和 结尾,iv4
而iv6
不是iv0
。当我将DE.iv4
文件重命名为时DE.iv0
,错误变为:
iptables: No chain/target/match by that name.
如何为系统注入活力?
答案1
Debian Squeeze 中的版本xtables
相当旧,它早于将 IPv4 和 IPv6 分割成单独的映射。这次分裂发生在2010年12月18日。看这里。
您的支持脚本正在创建新样式*.iv4
和*.iv6
文件,而 iptables 扩展模块需要旧样式*.iv0
文件。
如果您仍在使用 Squeeze,则需要查找并下载老的用于创建 IP 映射的支持脚本的版本。合适的版本实际上可能包含在与xtables
您当前使用的二进制包匹配的源代码包版本中。
答案2
不要使用 'DE' .. 只需写 DE,CA,UK,像这样,不带引号