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.)
- 目前最新版本xtables-addons-3.27.tar.xz要求:
- iptables >= 1.6.0
- kernel-devel >= 5.4
- xtables-addons-2.15.tar:
- iptables >= 1.4.5
- kernel-devel >= 3.7
- 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
make[1]: 进入目录“/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;
make[2]: 进入目录“/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
make[1]: 进入目录“/root/xtables-addons-2.3”
Making all in extensions
make[2]: 进入目录“/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;
make[3]: 进入目录“/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
make[4]: *** [/root/xtables-addons-2.3/extensions/xt_CHAOS.o] 错误 1
make[3]: *** [module/root/xtables-addons-2.3/extensions] 错误 2
make[3]: 离开目录“/usr/src/kernels/3.10.0-1160.119.1.el7.x86_64”
make[2]: *** [modules] 错误 2
make[2]: 离开目录“/root/xtables-addons-2.3/extensions”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/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);
先解压编译
tar xvf xtables-addons-x.tar.xz
cd xtables-addons-x
./configure
然后编辑文件关闭TARPIT功能模块:
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
工具:
阿里云网站运维检测平台
或站长工具
报错:
- 一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
嫌多就缺啥补啥 - 二
- 二
相关文章:

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,再…...

卷积神经02-CUDA+Pytorch环境安装
卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题,在此进行记录 0-核心知识脉络 1)根据自己电脑的CUDA版本安装对应版本的Pytorch,充分的使用GPU性能2)电脑要先安装【CUDA ToolKi…...
高斯数据库与MySQL数据库的区别
高斯数据库与MySQL数据库的区别 在当今数据驱动的时代,选择合适的数据库管理系统(DBMS)对于项目的成功至关重要。高斯数据库和MySQL作为两款广泛使用的数据库系统,各自具有独特的特点和优势,适用于不同的应用场景。本…...

【 PID 算法 】PID 算法基础
一、简介 PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。也就是说,PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义,…...
【AI】【RAG】如何通过WebUI部署与优化RAG问答系统
RAG(Retrieval-Augmented Generation)是一种通过知识库构建的问答系统,尽管它并非严格意义上的机器学习模型,但其高效构建专业问答体系的能力在实际应用中备受关注。本文将详细介绍如何通过WebUI部署RAG功能,以及提升RAG效果的关键技巧。 什么是RAG? RAG是一种结合检索技…...
SpringBoot之OriginTrackedPropertiesLoader类源码学习
源码解析 /*** 作用是从给定的资源(如文件或输入流)中加载 .properties 文件,* 并将属性键值对转换为带有来源信息(origin)的 OriginTrackedValue 对象。*/ public class OriginTrackedPropertiesLoader {private fin…...

51单片机 AT24C02(I2C总线)
存储器 随机存储 RAM 只读存储 ROM AT24C02芯片 是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息 存储材质:E2PROM 通讯接口:I2C总线 容量:256字节 I2C总线 一种通用的数据总线 两根通信线…...

Shell正则表达式与文本处理三剑客(grep、sed、awk)
一、正则表达式 Shell正则表达式分为两种: 基础正则表达式:BRE(basic regular express) 扩展正则表达式:ERE(extend regular express),扩展的表达式有、?、|和() 1.1 基本正则表…...
Docker Desktop 中安装 MySQL 并开启远程访问的详细教程
是在 Docker Desktop 中安装 MySQL 并开启远程访问的详细教程: 一、安装 MySQL 容器 拉取 MySQL 镜像: docker pull mysql:latest这将从 Docker Hub 上拉取最新版本的 MySQL 镜像。如果你想使用特定版本的 MySQL,可以将 latest 替换为具体…...

计算机网络 (39)TCP的运输连接管理
前言 TCP(传输控制协议)是一种面向连接的、可靠的传输协议,它在计算机网络中扮演着至关重要的角色。TCP的运输连接管理涉及连接建立、数据传送和连接释放三个阶段。 一、TCP的连接建立 TCP的连接建立采用三次握手机制,其过程如下&…...

麦田物语学习笔记:构建游戏的时间系统
基本流程 1.代码思路 (1)新建一个TimeManager.cs (2)创建枚举变量来表示四季,在TimeManager里需要的变量有: 游戏内的秒,分钟,小时,天,月,年;游戏内的季节;控制一个季节有多少个月;控制时间的暂停;计时器tikTime (3)在Settings里添加计时器的阈值,以及各个时间的进位 (4)初始化…...

Tauri教程-进阶篇-第二节 命令机制
“如果结果不如你所愿,就在尘埃落定前奋力一搏。”——《夏目友人帐》 “有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。”——《十宗罪》 “维持现状意味着空耗你的努力和生命。”——纪伯伦 Tauri 技术教程 * 第五章 Tauri的进阶教程 第二节…...

candb++ windows11运行报错,找不到mfc140.dll
解决问题记录 mfc140.dll下载 注意:放置位置别搞错了...

提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息
网络和IP地址计算器 https://www.sojson.com/convert/subnetmask.html提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息。 子网掩码转换 子网掩码 /26 的含义二进制表示:/26 表示前 26 位是网络部分,剩下的 6 位是主机部分。对应的子网掩码为 255…...
vscode离线安装插件--终极解决方案
目录 离线安装插件安装方法 vscode连接远程服务器中的docker远程连接python jupyter开发 离线安装插件 使用vscode开发过程中,有一些内网服务器没法连接外网,造成安装插件不方便,网络上很多文章提供了很多方法,比较常见的一种是&…...

LabVIEW启动时Access Violation 0xC0000005错误
问题描述 在启动LabVIEW时,可能出现程序崩溃并提示以下错误:Error 0xC0000005 (Access Violation) Access Violation错误通常是由于权限不足、文件冲突或驱动问题引起的。以下是解决此问题的全面优化方案: 解决步骤 1. 以管理员身份运行…...

string(一)
一、了解string 可以看成是字符顺序表。 二、string遍历方式 1、下标[ ] 重载了[] for(int i 0; i < s.size(); i) {cout << s[i]; } 2、迭代器 auto it s.begin(); while(it ! s.end()) {cout << *it;it; } 3、范围for for(auto ch : s) {cout <&l…...

计算机网络 (41)文件传送协议
前言 一、文件传送协议(FTP) 概述: FTP(File Transfer Protocol)是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码࿰…...

C++ STL之容器介绍(vector、list、set、map)
1 STL基本概念 C有两大思想,面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型,而是使用模板来代替实际类型,这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL(Standard …...
redisson 连接 redis5报错 ERR wrong number of arguments for ‘auth‘ command
依赖版本 org.redisson:redisson-spring-boot-starter:3.25.2 现象 启动报错 org.redisson.client.RedisException: ERR wrong number of arguments for ‘auth’ command. channel: [xxx] command: (AUTH), params: (password masked) 原因 redis6以下版本认证参数不包含用…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...