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),然后选中相关内核选项,重新编译内核。

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

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

(0)
上一篇 2026年4月14日 下午1:37
下一篇 2026年4月14日 下午1:43


相关推荐

  • 时滞模型的matlab编程_如何用matlab仿真

    时滞模型的matlab编程_如何用matlab仿真Matlab仿真含时滞多智体一致性分析,附代码Matlab仿真含时滞多智体一致性分析,附代码Matlab仿真含时滞多智体一致性分析,附代码系统结构如下图所示:clear;clc;%2014_多智能体网络的一致性问题研究_纪良浩%此为Paper中的示例代码%例2.1:A=[0,0,0.1,0,0;0.1,0,0,0,0;0,0.15,0,0…

    2022年10月1日
    4
  • java中p表示什么意思_javap -c命令关键字的含义

    java中p表示什么意思_javap -c命令关键字的含义jdk 提供了 javap 命令用于查看字节码来查看程序执行赋值的顺序 看懂这些关键字可以很好的理解程序执行的过程转自 http www cnblogs com duanxz archive 2014 05 14 3724426 html topJava 栈和局部变量操作 Java 虚拟机是基于栈的机器 几乎所有 Java 虚拟机的指令都与操作数栈相关 栈操作包括把常量压入操作数栈 执行通用的栈操作 在操作数

    2026年3月26日
    1
  • 更新pycharm版本_pycharm怎么更改python环境

    更新pycharm版本_pycharm怎么更改python环境如下图,记录要勾选Makeavaliabletoallprojects,然后查看是否加载出所有的第三方插件,会遇到插件安装后,运行还是找不到插件的问题,就是这里选择的不对,Pycharm总是会自己修改Baseinterperter路径,安装好后,在这里修改路径,看到有加载出来就可以了…

    2022年8月27日
    7
  • python 主函数传参_Python函数传参详解

    python 主函数传参_Python函数传参详解Python 中使用 def 来定义函数 依次是 def 函数名 括号 括号中的参数及结尾的冒号 另起一行缩进写函数体 函数的返回值用 return 语句返回 如 deffunc 参数 函数体 return 调用函数时会对传入的参数进行自动检查 包括参数的类型及参数的数量 如果不符合要求会抛出 TypeError 异常 参数的类型可分为 1 必选参数 2 默认参数 3 可变参数 4 关键字参数函数中的参

    2026年3月26日
    2
  • Qwen3多模态Agent设计:自主任务规划与视觉报告生成

    Qwen3多模态Agent设计:自主任务规划与视觉报告生成

    2026年3月14日
    2
  • 字符串常量池与StringBuilder

    字符串常量池与StringBuilderintern 是一个 native 方法 Native 方法指 底层使用 C 实现的 看不到其实现的源代码 该方法的作用是手动将创建的 String 对象添加到常量池中 可能有人说因为被 final 修饰 所以不能修改 首先这是一个很大的误区 final 修饰只能说明 value 引用的对象不能修改 而不是说 value 引用的值不能修改 我们随便打开一个 String 的方法 这里打开的是 toUpperCase 方法 可以发现 所有涉及到修改字符串内容的方法都是创建一个新对象返回 之前常量池没有存储过任何字符串

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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