有些人可能希望在基于 2.4.x 内核的系统上继续使用他们旧有的 IPCHAINS 规则集。不幸的是,除非您仅仅进行数据包防火墙过滤,而不尝试进行任何 NAT(MASQ)、端口转发或其他高级功能,否则您将会遇到麻烦。
如果您确实仅仅进行 IPCHAINS 过滤,您只需要卸载从 “/sbin/lsmod” 命令中显示的所有 IPTABLES 模块。之后,通过运行 “/sbin/modprobe ipchains” 命令来加载 IPCHAINS 模块。之后,像往常一样加载您的 IPCHAINS 规则集。
请注意,如果您将 IPTABLES 支持静态编译到内核中,您将无法加载 “ipchains” 模块(它甚至不应该存在),因为它会与 IPTABLES 内核代码冲突。在这种情况下,您唯一的选择是重新编译内核,并将 IPTABLES 和 IPCHAINS 选项设置为模块。
那么为什么您不能在 2.4.x 内核上运行 IPCHAINS MASQ/PORTFW 功能呢?一旦加载了 IPCHAINS 模块,您就不能使用任何 IPTABLES 命令或模块,因为代码会冲突。此外,您不能在 2.4.x 内核上使用任何旧有的 2.2.x IPCHAINS masq 模块,因为内核差异非常大。而且,这真的不应该是一个问题,因为所有这些功能现在都可以通过原生的 IPTABLES 模块获得。最后,您不能在 2.4.x 内核上使用 IPMASQADM 工具,因为该程序既无法编译,而且最终 PORTFW 内核处理程序也不再存在(现在由 IPTABLES 代码原生完成)。因此,考虑到所有这些事实
您无法在这台 2.4.x 机器上运行任何形式的端口转发 (PORTFW)
需要特殊处理的协议,例如 FTP、IRC、CuSeeme、RealAudio 等,将不再工作
基本上,2.4.x 内核中包含的 ipchains 内核模块旨在用于基本的数据包防火墙兼容性,而不是任何 NAT(MASQ)功能。