debian9.5安装教程_debian11安装教程

debian9.5安装教程_debian11安装教程IPSET是Linux内核中用来建立、维护和查看IP集合的工具,常常与iptables配合使用。在Debian-5.0.3下安装ipsetv2.3.3,遇到了一些问题,最终安装成功。将安装过程及遇到的问题和大家分享。 1安装环境Debian-5.0.3,安装过程中选择内核为2.6.26-2-486。 2用Debian的包管理器aptitude安装ipset安装完成以后

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

IPSETLinux内核中用来建立、维护和查看IP集合的工具,常常与iptables配合使用。在Debian-5.0.3下安装ipset v2.3.3,遇到了一些问题,最终安装成功。将安装过程及遇到的问题和大家分享。

 

1 安装环境

Debian-5.0.3,安装过程中选择内核为2.6.26-2-486

 

2 Debian的包管理器aptitude安装ipset

安装完成以后,用ipset -L命令测试,报:
FATAL: Module ip_set not found.
ipset v2.3.3: Error from kernel: Protocol not available
好像是却内核模块支持,查看/lib/modules/2.6.26-2-486/目录,没有ip_set.ko模块,决定用源代码编译ipset,因为曾经用源代码编译成功过。
不知道有没有其他的解决办法?

 

3 源码编译ipset

Debian网站http://archive.debian.net下载ipset-2.3.3源代码,解压以后查看README文件,可以对编译步骤有一个大致的了解。
   
需要先编译内核(version >= 2.6.16 or 2.4.36.x)。下载的内核源代码为2.6.36.2,编译内核。然后按照README文件中的说明编译:

 

# make KERNEL_DIR=<<where-you-built-your-kernel>>
# make KERNEL_DIR=<<where-you-built-your-kernel>> install
# make KERNEL_DIR=<<where-you-built-your-kernel>> clean

# make KERNEL_DIR=<<where-you-built-your-kernel>> binaries
# make KERNEL_DIR=<<where-you-built-your-kernel>> binaries_install
# make KERNEL_DIR=<<where-you-built-your-kernel>> patch_kernel

 

到相应的内核源代码下运行make oldconfig,选中ipset选项
编译安装内核bzImage和内核模块:makemake instalmake modulel_install;安装完成以后,在/boot/目录下多了System.map-2.6.26.2config-2.6.26.2 vmlinuz-2.6.26.2三个文件,但是缺少initrd.img-2.6.26.2,需要手动生成(否则启动时不能正常加载文件系统):
mkinitramfs 2.6.26.2 -o /boot/initrd.img-2.6.26.2
修改/boot/grub/menu.lst文件,添加新编译的内核。重新启动,用ipset -L测试,可以正常使用。

 

4 常见问题

 

1FATAL: Module ip_set not found.
       ipset v2.3.3: Error from kernel: Protocol not available
这是ipset模块ip_set.ko没有正常加载,可能原因是内核中没有支持ipset

 

2insmod: error inserting ‘ip_set.ko’:Invalid module format
这是dmesg报的问题,原因是ipset模块的版本和内核版本不严格匹配。在其它内核模块加载时也会出现同样的问题。

 

3)前一次在LFS下编译遇到的问题
按照说明编译安装后不能使用,报错:ipset v4.1: Couldn’t vertify kernel modele version!
之后在编译内核make modules_install时,出现

WARNING: /lib/modules/2.6.22.5/extra/ipt_set.ko needs unknown symbol xt_register_match;
WARNING: /lib/modules/2.6.22.5/extra/ipt_set.ko needs unknown symbol xt_unregister_match; WARNING: /lib/modules/2.6.22.5/extra/ipt_set.ko needs unknown symbol xt_register_target;
WARNING: /lib/modules/2.6.22.5/extra/ipt_set.ko needs unknown symbol xt_unregister_target;
发现/etc/modprob.conf文件不存在;用generate-modprobe.conf产生该文件,不能正常产生,告Cannot find old version of modprob. Giving up.
打开ipset编译目录的kernel,用insmod插入ip_set.koipset可以使用;

但是该内核模块不能自动加载,需要在内核配置中的模块部分选中内核自动加载选项,然后可以正常加载;
使用ipset时会报有一些类型不能正常使用,查找原因,是因为安装时没有安装binary部分,需要按照README文件完整安装(包括binariespatch_kernel),然后选中相关内核选项,重新编译内核。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189186.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号