1、安装基础依赖
yum install openssl-devel wget unzip gcc make automake kernel-devel-$(uname -r) iptables-devel perl-Text-CSV_XS epel-release

报错1:找不到匹配的内核开发模块

在这里插入图片描述

解决方法:

打开这个网站https://mirrors.vcea.wsu.edu/rocky/9/devel/x86_64/os/Packages/k/,然后按ctrl+f搜索kernel-devel-5.14.0-570.17.1.el9_6.x86_64

在这里插入图片描述
在这里插入图片描述

或者wget https://mirrors.vcea.wsu.edu/rocky/9/devel/x86_64/os/Packages/k/kernel-devel-5.14.0-570.17.1.el9_6.x86_64.rpm

yum install kernel-devel-5.14.0-570.17.1.el9_6.x86_64.rpm -y

在这里插入图片描述

再次安装其它依赖包

在这里插入图片描述

确保依赖都已经安装

在这里插入图片描述

2、编译xtables-addons源码包

打开官网https://inai.de/projects/xtables-addons/,点击source code release archive下载源码包。

在这里插入图片描述

在这里插入图片描述

我们这里下载最新的源码包

在这里插入图片描述

解压xtables-addons

在这里插入图片描述

在这里插入图片描述

[root@192 ~]# cd xtables-addons-3.28
[root@192 xtables-addons-3.28]# ./configure

在这里插入图片描述

在这里插入图片描述

内核检查必须通过后,才能后续编译、安装。

报错2:编译扩展模块

在这里插入图片描述

解决方法:

禁用此模块

[root@192 xtables-addons-3.28]# vim mconfig

在这里插入图片描述

报错3:编译扩展模块

在这里插入图片描述

解决方法:

继续上面的操作,禁用该模块

在这里插入图片描述

在这里插入图片描述

直到禁用这4个扩展模块后,就可以成功编译了。

在这里插入图片描述

在这里插入图片描述

看到这里,编译就算完成了。

报错4:编译安装

在这里插入图片描述

这个报错虽然不影响后续使用geoip这个模块,但是为了解决这个问题,不显示该错误。

解决方法:

这种情况的出现是由于无法签署内核模块,因为没有什么可签署的。 可以通过几个命令解决这个问题:

[root@192 xtables-addons-3.28]# cd /lib/modules/$(uname -r)/build/certs

[root@192 certs]# cat <<EOF > x509.genkey
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
EOF

[root@192 certs]# openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem

在这里插入图片描述

在这里插入图片描述

再次编译安装就没有上面的错误了。

在这里插入图片描述

在这里插入图片描述

3、下载并加载geoip数据库

注册maxmind账号

https://www.maxmind.com/en/home

下载csv格式的数据库

在这里插入图片描述

默认指定的数据库路径是/usr/share/xt_geoip

[root@192 geoip]# mkdir  /usr/share/xt_geoip

解压数据库

[root@192 geoip]# unzip GeoLite2-Country-CSV_20250718.zip

[root@192 geoip]# mv GeoLite2-Country-CSV_20250718/*.csv .

加载数据库

[root@192 geoip]# ./xt_geoip_build_maxmind -D /usr/share/xt_geoip/ *.csv

报错5:加载数据库
在这里插入图片描述

解决方法:

[root@192 geoip]# yum -y install perl-App-cpanminus 

在这里插入图片描述

[root@192 geoip]# cpanm Net::CIDR::Lite

在这里插入图片描述

在这里插入图片描述

到这里加载数据库就算完成了。

4、加载geoip模块

临时加载模块方法:

[root@192 geoip]# modprobe xt_geoip
[root@192 geoip]# lsmod | grep xt_geoip

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
永久加载模块方法:

[root@192 ~]# echo 'xt_geoip' > /etc/modules-load.d/modules.conf

到这里整个安装过程就算都完成了。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐