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
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/
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
    嫌多就缺啥补啥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣 岛屿数量

从某个点找&#xff0c;不断找相邻位置。 题目 岛屿中被“0”隔开后 &#xff0c;是每一小块状的“1”&#xff0c;本题在问有多少块。可以用dfs进行搜索&#xff0c;遍历每一个点&#xff0c;把每一个点的上下左右做搜索检测&#xff0c;当检测到就标记为“0”表示已访问过&a…

ssl与ipsec的区别

ssl与ipsec的区别&#xff1a; 1.概念不同: ssl是一种安全协议&#xff0c;可通过Internet安全地发送信息&#xff0c;而ipsec即Internet协议安全性&#xff0c;是为Internet协议提供安全性的一组协议。 2.所在层不同: ssl在传输和应用层中工作&#xff0c;而ipsec在Interne…

基于大语言模型的组合优化

摘要&#xff1a;组合优化&#xff08;Combinatorial Optimization, CO&#xff09;对于提高工程应用的效率和性能至关重要。随着问题规模的增大和依赖关系的复杂化&#xff0c;找到最优解变得极具挑战性。在处理现实世界的工程问题时&#xff0c;基于纯数学推理的算法存在局限…

批量识别图片型PDF指定区域内容识别保存表格+PDF批量改名:技术难题与项目实战总结

相关项目实战&#xff1a; 一、引言 在当今数字化办公环境中&#xff0c;批量处理PDF文件中的表格数据并进行改名是一项常见但具有挑战性的任务。无论是从大量的财务报销凭证、学术研究报告还是项目文档中提取表格信息&#xff0c;都可能遇到各种各样的技术难题。 二、批量提…

open3d+opencv实现矩形框裁剪点云操作(C++)

&#x1f451;主页&#xff1a;吾名招财 &#x1f453;简介&#xff1a;工科学硕&#xff0c;研究方向机器视觉&#xff0c;爱好较广泛… ​&#x1f4ab;签名&#xff1a;面朝大海&#xff0c;春暖花开&#xff01; open3dopencv实现矩形框裁剪点云操作&#xff08;C&#xff…

LabVIEW光流跟踪算法

1. 光流跟踪算法的概述 光流&#xff08;Optical Flow&#xff09;是一种图像处理技术&#xff0c;用于估算图像中像素点的运动。通过比较连续帧图像&#xff0c;光流算法可以分析图像中的运动信息&#xff0c;广泛用于目标跟踪、运动检测和视频处理等场景。该示例使用了NI Vi…

django在线考试系统

Django在线考试系统是一种基于Django框架开发的在线考试平台&#xff0c;它提供了完整的在线考试解决方案。 一、系统概述 Django在线考试系统旨在为用户提供便捷、高效的在线考试环境&#xff0c;满足教育机构、企业、个人等不同场景下的考试需求。通过该系统&#xff0c;用…

AI浪潮下的IT变革之路:机遇、挑战与重塑未来

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 AI浪…

Oracle 分区索引简介

目录 一. 什么是分区索引二. 分区索引的种类2.1 局部分区索引&#xff08;Local Partitioned Index&#xff09;2.2 全局分区索引&#xff08;Global Partitioned Index&#xff09; 三. 分区索引的创建四. 分区索引查看4.1 USER_IND_COLUMNS 表4.2 USER_INDEXES 表 五. 分区索…

Spring bean的生命周期和扩展

接AnnotationConfigApplicationContext流程看实例化的beanPostProcessor-CSDN博客&#xff0c;以具体实例看bean生命周期的一些执行阶段 bean生命周期流程 生命周期扩展处理说明实例化:createBeanInstance 构造方法&#xff0c; 如Autowired的构造方法注入依赖bean 如UserSer…

【再谈设计模式】模板方法模式 - 算法骨架的构建者

一、引言 在软件工程、软件开发过程中&#xff0c;我们经常会遇到一些算法或者业务逻辑具有固定的流程步骤&#xff0c;但其中个别步骤的实现可能会因具体情况而有所不同的情况。模板方法设计模式&#xff08;Template Method Design Pattern&#xff09;就为解决这类问题提供了…

01 Oracle自学环境搭建(Windows系统)

1 Oracle12C安装 1.1 下载 官网地址&#xff1a;https://www.oracle.com/ 进入官网→Resource→Customer Downloads 如果没有登录&#xff0c;会提示登录后后才能下载 选择适合自己的版本&#xff08;我电脑是Windows系统 64位&#xff09; 选择需要的安装包进行下载 双击下载…

java语法知识(二)

1. class文件可以直接拖动到idea中&#xff0c;显示源码。 2.idea快捷键&#xff1a; sout : System.out.println 输出内容.sout :---》 System.out.println(输出内容); psvm: public static void main() 格式化&#xff1a;ctrl altL 复制粘贴&#xff1a;ctrld 3.注释…

macos python环境安装

安装的问题 mac 安装 python brew install python 通过brew安装的python安装路径 打开终端&#xff0c;输入brew search python&#xff1a; 为啥会被安装在这里 Frameworks 的用途&#xff1a;/Library/Frameworks 是 macOS 系统中专门用于存放框架的目录。框架是一种结构…

计算机网络 笔记 数据链路层 2

1,信道划分&#xff1a; (1)时分复用TDM 将时间等分为“TDM帧”&#xff0c;每个TDM帧内部等分为m个时隙&#xff0c;m个用户对应m个时隙 缺点&#xff1a;每个节点只分到了总带宽的1/m,如果有部分的1节点不发出数据&#xff0c;那么就会在这个时间信道被闲置&#xff0c;利用…

ElasticSearch在Windows环境搭建测试

引子 也持续关注大数据相关内容一段时间&#xff0c;大数据内容很多。想了下还是从目前项目需求侧出发&#xff0c;进行相关学习。Elasticsearch&#xff08;ES&#xff09;是位于 Elastic Stack&#xff08;ELK stack&#xff09; 核心的分布式搜索和分析引擎。Logstash 和 B…

计算机网络 笔记 网络层1

网络层功能概述 主要的任务是把分组从源端传输到目的端&#xff0c;为分组交换网上的不同主句提供通信服务&#xff0c;网络层的传输单位是数据报。 主要的功能&#xff1b; 1&#xff0c;路由选择&#xff1a;路由选择指网络层根据特定算法&#xff0c;为数据包从源节点到目…

Rubyer-WPF:打造优雅、精致的 WPF 用户界面

在桌面应用开发领域&#xff0c;WPF&#xff08;Windows Presentation Foundation&#xff09;凭借其强大的 UI 设计能力和丰富的功能&#xff0c;始终是开发者们青睐的工具之一。今天&#xff0c;我将为大家介绍一款专注于 WPF UI 设计的优秀项目——Rubyer-WPF&#xff0c;它…

设计模式 行为型 访问者模式(Visitor Pattern)与 常见技术框架应用 解析

访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为设计模式&#xff0c;它允许你在不改变元素类的前提下定义作用于这些元素的新操作。这种模式将算法与对象结构分离&#xff0c;使得可以独立地变化那些保存在复杂对象结构中的元素的操作。 假设我们有一个复杂的对…

继承多态语法糖

抽象类(通用) 子类继承父类方法后&#xff0c;这个子类对象如果执行方法的话&#xff0c;只要子类重写了就执行子类的&#xff0c;不执行父类的。 /*** 功能&#xff1a;* 作者&#xff1a;IT伟* 日期&#xff1a;2025/1/13 19:20*/ // 抽象类 A abstract class A {// 构造函…