二、FAQ

Q:为什么depmod -a,提示类似下列的话?

depmod: *** Unresolved symbols in /lib/modules/2.4.21-27.0.2.EL/kernel/net/ipv4/ah4.o

A:这里失败的原因是因为模块版本与当前内核版本不匹配,往往是没有修改Makefile造成的,另一个原因就是,修改

Makefile的工作必须在make dep之前

Q:我一切都做完了,也没出错,为什么我调用模块时提示iptables: No chain/target/match by that name?

A:因为您没有在make menuconfig里面,将[*] Prompt for development and/or incomplete code/drivers选中

或者没有在Networking options -> IP:Netfilter Configuration里面选中要编译的模块

Q:为什么我在Networking options -> IP:Netfilter Configuration里面没有看到补丁出来的模块选项?

A:必须在给netfilter打补丁之前,先make menuconfig后保存退出,生成一个.config

Q:depmod -a的时候,出现很多错误,怎么办?

A:删除掉那些模块,然后再depmod -a

Q:在编译iptables时,有些ipv6的模块总编译不过去,但我实际不需要ipv6的支持,应该怎么做?

A:以random举例,在extensions/.random-test6文件中,可以看到一个监测信息,屏蔽掉即可

如何给iptables添加模块(v2.2)

4 / 4

Q:一切已经OK,但是启动的时候,-j MASQUERADE无效,提示“iptables: No chain/target/match by that name”

A:需要执行前手动加载模块modprobe ipt_MASQUERADE

Q:为什么modprobe ip_nat_ftp的时候出错?

A:修改/lib/modules/2.4.21-27.0.2.EL/modules.dep,找到ip_nat_ftp,删除含有ip_nat_core 的行,顺便删除

/lib/modules/2.4.21-27.0.2.EL/kernel/net/ipv4/netfilter/ip_nat_core.o,然后再depmod –a,发现有错误,

继续删除发生错误的文件,直到depmod -a,没有错误为止

Q:为什么我make modules SUBDIRS=net/ipv4/netfilter的时候,提示我一堆错误?

A:第一次make menuconfig生成.config文件之前,先执行一次make mrproper

注解:

1、为了生成.config文件,否则以后会有问题

2、根据README,可以选择base或者extra等参数,这里我们只打基本包

3、IPV6的东西我没有选,因为我不需要

4、确认信息和uname -r的版本一致,否则编译的模块不能被现有内核使用

通过文章介绍和问答的形式,我们可以清楚的知道iptables文档模块HOWTO,希望本文对大家有用!

  • netfilter/iptables模块功能介绍
  • iptables 源码分析
  • iptables 总结与应用心得
  • 如何利用netfilter/iptables构建防火墙
  • Iptables 命令和命令说明
  • squid+iptables网关防火墙的实现
  • Iptables 实例分析
  • Iptables 配置指南


相关内容