2025封禁指定国家ip-安装xtables-addons记录

如何安装和使用
安装lux仓库(该仓库包含xtables-addons所需的依赖环境) # wget

http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm # rpm

-ivh lux-release-7-1.noarch.rpm 安装xtables-addons。注意:必须先安装kmod-xtables-addons,再安装xtables-addons,因为后者依赖于前者。

#yum -y install kmod-xtables-addons # yum -y install xtables-addons 安装GeoIP数据库。目前,主要由2种获取GeoIP数据库的方式

(上面引用见末尾)

我下载源码 make总是报错,无奈找个上面仓库用现成的。

我安装了,服务器也重启了,iptables还是报错,lux仓库安装的xtables-addons不会生效(centos7)。

老实编译源码安装,我输入
iptables -I INPUT -m geoip --src-cc RU -j DROP

秒生效,把服务器干脱网了。

上面是阻止俄罗斯ip流量,奇怪成都服务器,整个国内ping失败。

VNC登录,执行:
sudo iptables -I INPUT -m geoip --src-cc CN -j ACCEPT

拯救成功!源码见下面

xtables-addons版本选择:

(Use xtables-addons-1.x if you need support for Linux < 3.7.

Use xtables-addons-2.x if you need support for Linux < 4.15.

Use xtables-addons<3.19 if you need support for Linux <=4.16.)

  1. 目前最新版本xtables-addons-3.27.tar.xz要求:
  • iptables >= 1.6.0
  • kernel-devel >= 5.4
  1. xtables-addons-2.15.tar:
    • iptables >= 1.4.5
    • kernel-devel >= 3.7
  2. xtables-addons-1.47.1.tar
    • iptables >= 1.4.5
    • kernel-devel >= 2.6.32

报错:

root@VM-0-11-centos xtables-addons-2.15# make install

Making install in extensions

make1: 进入目录"/root/spencer/xtables-addons-2.15/extensions"

Xtables-addons 2.15 - Linux 3.10.0-1160.119.1.el7.x86_64

if -n "/lib/modules/3.10.0-1160.119.1.el7.x86_64/build" ; then make -C /lib/modules/3.10.0-1160.119.1.el7.x86_64/build M=/root/spencer/xtables-addons-2.15/extensions modules; fi;

make2: 进入目录"/usr/src/kernels/3.10.0-1160.119.1.el7.x86_64"

CC M /root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.o

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c: 在函数'tarpit_tcp4'中:

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:295:3: 警告:传递'NF_HOOK'的第 3 个参数时在不兼容的指针类型间转换 默认启用

skb_dst(nskb)->dev, dst_output);

^

In file included from include/uapi/linux/netfilter_ipv6.h:11:0,

from include/linux/netfilter_ipv6.h:10,

from /root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:45:

include/linux/netfilter.h:250:1: 附注:需要类型'struct sock *',但实参的类型为'struct sk_buff *'

NF_HOOK(uint8_t pf, unsigned int hook, struct sock *sk, struct sk_buff *skb,

^

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:295:3: 警告:传递'NF_HOOK'的第 6 个参数时在不兼容的指针类型间转换 默认启用

skb_dst(nskb)->dev, dst_output);

^

In file included from include/uapi/linux/netfilter_ipv6.h:11:0,

from include/linux/netfilter_ipv6.h:10,

from /root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:45:

include/linux/netfilter.h:250:1: 附注:需要类型'struct net_device ',但实参的类型为'int ( )(struct sk_buff *)'

NF_HOOK(uint8_t pf, unsigned int hook, struct sock *sk, struct sk_buff *skb,

^

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c :295:3: 错误:提供给函数'NF_HOOK'的实参太少

skb_dst(nskb)->dev, dst_output);

^

In file included from include/uapi/linux/netfilter_ipv6.h:11:0,

from include/linux/netfilter_ipv6.h:10,

from /root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:45:

include/linux/netfilter.h:250:1: 附注:在此声明

NF_HOOK(uint8_t pf, unsigned int hook, struct sock *sk, struct sk_buff *skb,
root@VM-0-11-centos xtables-addons-2.3# make

make all-recursive

make1: 进入目录"/root/xtables-addons-2.3"

Making all in extensions

make2: 进入目录"/root/xtables-addons-2.3/extensions"

Xtables-addons 2.3 - Linux 3.10.0-1160.119.1.el7.x86_64

if -n "/lib/modules/3.10.0-1160.119.1.el7.x86_64/build" ; then make -C /lib/modules/3.10.0-1160.119.1.el7.x86_64/build M=/root/xtables-addons-2.3/extensions modules; fi;

make3: 进入目录"/usr/src/kernels/3.10.0-1160.119.1.el7.x86_64"

CC M /root/xtables-addons-2.3/extensions/compat_xtables.o

CC M /root/xtables-addons-2.3/extensions/xt_CHAOS.o

/root/xtables-addons-2.3/extensions/xt_CHAOS.c: 在函数'xt_chaos_total'中:

/root/xtables-addons-2.3/extensions/xt_CHAOS.c :71:2: 错误:隐式声明函数'net_random' -Werror=implicit-function-declaration

if (!ret || hotdrop || (unsigned int)net_random() > delude_percentage)

^

cc1: some warnings being treated as errors

make4: *** /root/xtables-addons-2.3/extensions/xt_CHAOS.o 错误 1

make3: *** *module* /root/xtables-addons-2.3/extensions 错误 2

make3: 离开目录"/usr/src/kernels/3.10.0-1160.119.1.el7.x86_64"

make2: *** modules 错误 2

make2: 离开目录"/root/xtables-addons-2.3/extensions"

make1: *** all-recursive 错误 1

make1: 离开目录"/root/xtables-addons-2.3"

make: *** all 错误 2

我解决失败,那就直接关闭报错的模块:比如

注意到弹"错误""警告"都是同一个xt_TARPIT.c

关闭TARPIT模块再安装,即可。

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c:295:3: 警告

...

/root/spencer/xtables-addons-2.15/extensions/xt_TARPIT.c :295:3: 错误:提供给函数'NF_HOOK'的实参太少

skb_dst(nskb)->dev, dst_output);

先解压编译

bash 复制代码
tar xvf xtables-addons-x.tar.xz
cd xtables-addons-x
./configure

然后编辑文件关闭TARPIT功能模块:

bash 复制代码
vim ./mconfig
:/TARPIT 	搜索
build_TARPIT=m    添加注释#
###build_TARPIT=m 	#关闭模块

vim使用搜索功能:
你可以使用 / 搜索特定的模式,然后使用 n 跳转到下一个匹配项,N 跳转到上一个匹配项

安装
make && make install

封禁陌生国家ip需要数据库下载:
$ cd geoip
$ ./xt_geoip_dl #下载GeoIP数据库

使用旧版(比如2.x)如果提示失败

借用最新版3.27的脚本xt_geoip_dl

下载后继续用新版的处理脚本 xt_geoip_build

yum -y install perl-Text-CSV_XS #安装CSV格式转换器

mkdir -pv /usr/share/xt_geoip #创建数据库文件默认存储目录。使用RPM方式安装xtables-addons。必须将GeoIP数据存储在该路径下

./xt_geoip_build -D /usr/share/xt_geoip *.csv #进行格式转换

tree /usr/share/xt_geoip/ -L 1 #查询生成两个目录BE和LE,目录下保存的文件分别有.iv6和.iv4

/usr/share/xt_geoip/

├── BE └── LE

2 directories, 0 files

--------参考文献三

后面使用
sudo iptables -I INPUT -m geoip --src-cc CN -j ACCEPT

如果报错,按照提示把GeoIP数据库(/usr/share/xt_geoip里面)移动到相应目录即可

源码:

https://inai.de/projects/xtables-addons/

https://inai.de/projects/xtables-addons/geoip.php

很好的教程:

CentOS系统下配置xtables-addons来拒绝IP访问的方法

https://www.jb51.net/LINUXjishu/416836.html

二:https://www.cnblogs.com/hunttown/p/18322422

三:https://cloud.tencent.com/developer/article/1398920

工具:

阿里云网站运维检测平台

或站长工具

报错:

  1. 一iptables类似这种提示
    参考Centos 7 and spamassin installation.
    终端执行
    cpan -i IP::Country Mail::SpamAssassin::Plugin::Razor2 Razor2::Client::Agent Net::Ident Digest::SHA1 Geo::IP Net::CIDR::Lite Net::Patricia Net::DNS::Nameserver
    嫌多就缺啥补啥
  2. 二
  3. 二
相关推荐
自由彩虹21 小时前
靶场通关15--bossplayersctf
linux·服务器·网络·安全·web安全·网络安全
武雄(小星Ai)21 小时前
Cursor市场Claude Code扩展被植入SSH后门:一次供应链投毒的完整拆解与自查手册
安全·网络安全·供应链攻击
~央千澈~21 小时前
优雅草新产品2026 年 10 月 31 日公测完毕v1.0.0 优雅草人机盾正式运营上线
安全·网络安全·安全防御
山川绿水21 小时前
DeepSeek-DSH安装报错[deploy] 命令失败:npx -y pnpm install --prefer-offline
人工智能·网络安全
中云DDoS CC防护蔡蔡1 天前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
leagsoft_10031 天前
勒索病毒扩散控制深度解析:四大扩散路径、主流方案局限与联软科技差异化实践
网络安全·零信任·内网安全·勒索病毒·微隔离·防勒索·ad域安全
砚凝霜1 天前
保姆级 | CTF 命令执行 system($_POST[‘a‘]):直接传系统命令拿 flag(对比 eval)
web安全·网络安全
2501_915106321 天前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
菩提小狗1 天前
每日安全情报报告 · 2026-10-30
网络安全·漏洞·cve·安全情报·每日安全
文章永久免费只为良心2 天前
Web应用安全与防护_第三章_日志文件包含_从一道 CTFshow 题目讲透「日志投毒型 LFI → RCE」:原理、时序陷阱与全变种攻防手册
android·网络安全·渗透测试·漏洞危害·漏洞描述·日志投毒·红队指南