当前位置: 首页 > news >正文

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

相关文章:

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。注意&#xff1a;必须先安装kmod-xtables-addons&#xff0c;再…...

卷积神经02-CUDA+Pytorch环境安装

卷积神经02-CUDAPytorch环境安装 在使用Python进行pytorch的使用过程中遇到各种各样的版本冲突问题&#xff0c;在此进行记录 0-核心知识脉络 1&#xff09;根据自己电脑的CUDA版本安装对应版本的Pytorch&#xff0c;充分的使用GPU性能2&#xff09;电脑要先安装【CUDA ToolKi…...

高斯数据库与MySQL数据库的区别

高斯数据库与MySQL数据库的区别 在当今数据驱动的时代&#xff0c;选择合适的数据库管理系统&#xff08;DBMS&#xff09;对于项目的成功至关重要。高斯数据库和MySQL作为两款广泛使用的数据库系统&#xff0c;各自具有独特的特点和优势&#xff0c;适用于不同的应用场景。本…...

【 PID 算法 】PID 算法基础

一、简介 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&#xff09;、Differential&#xff08;微分&#xff09;的缩写。也就是说&#xff0c;PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义&#xff0c;…...

【AI】【RAG】如何通过WebUI部署与优化RAG问答系统

RAG(Retrieval-Augmented Generation)是一种通过知识库构建的问答系统,尽管它并非严格意义上的机器学习模型,但其高效构建专业问答体系的能力在实际应用中备受关注。本文将详细介绍如何通过WebUI部署RAG功能,以及提升RAG效果的关键技巧。 什么是RAG? RAG是一种结合检索技…...

SpringBoot之OriginTrackedPropertiesLoader类源码学习

源码解析 /*** 作用是从给定的资源&#xff08;如文件或输入流&#xff09;中加载 .properties 文件&#xff0c;* 并将属性键值对转换为带有来源信息&#xff08;origin&#xff09;的 OriginTrackedValue 对象。*/ public class OriginTrackedPropertiesLoader {private fin…...

51单片机 AT24C02(I2C总线)

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

Shell正则表达式与文本处理三剑客(grep、sed、awk)

一、正则表达式 Shell正则表达式分为两种&#xff1a; 基础正则表达式&#xff1a;BRE&#xff08;basic regular express&#xff09; 扩展正则表达式&#xff1a;ERE&#xff08;extend regular express&#xff09;&#xff0c;扩展的表达式有、?、|和() 1.1 基本正则表…...

Docker Desktop 中安装 MySQL 并开启远程访问的详细教程

是在 Docker Desktop 中安装 MySQL 并开启远程访问的详细教程&#xff1a; 一、安装 MySQL 容器 拉取 MySQL 镜像&#xff1a; docker pull mysql:latest这将从 Docker Hub 上拉取最新版本的 MySQL 镜像。如果你想使用特定版本的 MySQL&#xff0c;可以将 latest 替换为具体…...

计算机网络 (39)TCP的运输连接管理

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

麦田物语学习笔记:构建游戏的时间系统

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

Tauri教程-进阶篇-第二节 命令机制

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

candb++ windows11运行报错,找不到mfc140.dll

解决问题记录 mfc140.dll下载 注意&#xff1a;放置位置别搞错了...

提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息

网络和IP地址计算器 https://www.sojson.com/convert/subnetmask.html提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息。 子网掩码转换 子网掩码 /26 的含义二进制表示:/26 表示前 26 位是网络部分&#xff0c;剩下的 6 位是主机部分。对应的子网掩码为 255…...

vscode离线安装插件--终极解决方案

目录 离线安装插件安装方法 vscode连接远程服务器中的docker远程连接python jupyter开发 离线安装插件 使用vscode开发过程中&#xff0c;有一些内网服务器没法连接外网&#xff0c;造成安装插件不方便&#xff0c;网络上很多文章提供了很多方法&#xff0c;比较常见的一种是&…...

LabVIEW启动时Access Violation 0xC0000005错误

问题描述 在启动LabVIEW时&#xff0c;可能出现程序崩溃并提示以下错误&#xff1a;Error 0xC0000005 (Access Violation) ​ Access Violation错误通常是由于权限不足、文件冲突或驱动问题引起的。以下是解决此问题的全面优化方案&#xff1a; 解决步骤 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)文件传送协议

前言 一、文件传送协议&#xff08;FTP&#xff09; 概述&#xff1a; FTP&#xff08;File Transfer Protocol&#xff09;是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问&#xff0c;允许客户指明文件的类型与格式&#xff08;如指明是否使用ASCII码&#xff0…...

C++ STL之容器介绍(vector、list、set、map)

1 STL基本概念 C有两大思想&#xff0c;面向对象和泛型编程。泛型编程指编写代码时不必指定具体的数据类型&#xff0c;而是使用模板来代替实际类型&#xff0c;这样编写的函数或类可以在之后应用于各种数据类型。而STL就是C泛型编程的一个杰出例子。STL&#xff08;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以下版本认证参数不包含用…...

LeetCode:131. 分割回文串

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode:131. 分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。返回 s 所…...

React-useState讲解

useState 让页面“动”起来 例如实现一个 click 计数功能&#xff0c;普通变量无法实现。即&#xff1a;修改普通变量无法触发组件的更新 rerender 通过 useState 即可实现。 state 是什么 State, A component’s memory —— 这个比喻非常好&#xff01; props 父组件传…...

混币器是什么,波卡跨链交易平台

混币器是什么 混币器是一种加密货币工具,主要功能是将用户的加密货币与其他众多用户的加密货币混合在一起,打乱资金的流向和交易痕迹,使得加密货币的来源和去向难以追踪,从而增加交易的匿名性和隐私性。以下是对其工作流程和相关举例的介绍: 工作流程 用户首先将自己的加…...

【PHP】双方接口通信校验服务

请求方 使用 ApiAuthService::buildUrl($domain, [terminal > 1, ts > time()]); //http://域名/adminapi/login/platformLogin?signF7FE8A150DEC18BE8A71C5059742C81A&terminal1&ts1736904841接收方 $getParams $this->request->get();$validate ApiA…...

Web第一次作业

目录 题目 html代码 index login register css代码 base index login register 效果展示 index login register 题目 实现一个登录页面、实现一个注册页面&#xff1b;实现一个主页 - 登录页面&#xff1a;login.html - 注册页面&#xff1a;register.html - 主页…...

CentOS 6.8 安装 Nginx

个人博客地址&#xff1a;CentOS 6.8 安装 Nginx | 一张假钞的真实世界 提前安装&#xff1a; # sudo yum install yum-utils 一般情况下这个工具系统已经安装。 创建文件/etc/yum.repos.d/nginx.repo&#xff0c;输入内容如下&#xff1a; [nginx-stable] namenginx stab…...

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP&#xff08;Internet Control Message Protocol&#xff09;是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息&#xff0c;提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试&#xff08;…...

当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)

一、问题 遇到个样式问题&#xff0c;当父级元素设置了flex 布局 &#xff0c;两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 &#xff08;拖拽浏览器 使页面变小&#xff09; 二、解决方法 .father{min-height: 600px;width: 100%;display: flex…...

Vue.js组件开发-如何实现路由懒加载

在Vue.js应用中&#xff0c;路由懒加载是一种优化性能的技术&#xff0c;它允许在需要时才加载特定的路由组件&#xff0c;而不是在应用启动时加载所有组件。这样可以显著减少初始加载时间&#xff0c;提高用户体验。在Vue Router中&#xff0c;实现路由懒加载非常简单&#xf…...

灵活妙想学数学

灵活妙想学数学 题1&#xff1a;海星有几只&#xff1f; 一共有12只海洋生物&#xff0c;分别是5只脚的海星&#xff0c;8只脚的章鱼和10只脚的鱿鱼&#xff0c;这些海洋动物的脚一共有87只&#xff0c;每种生物至少有1只&#xff0c;问海星有几只&#xff1f; 解&#xff1a…...