我有一台 Gentoo Linux 系统,运行 linux 2.6.38-rc8。我还有一台机器,运行 Ubuntu,运行 linux 2.6.35-27。我还有一台虚拟机,运行 Debian Unstable,运行 linux 2.6.37-2。
在 Gentoo 和 Debian 系统上,除了 PREROUTING、OUTPUT 和 POSTROUTING 之外,我的 nat 表中还内置了一个 INPUT 链。在 Ubuntu 上,我只有 PREROUTING、OUTPUT 和 POSTROUTING。
我可以使用此 INPUT 链使用 SNAT 修改发往本地计算机的数据包的源(想象一下模拟传入本地应用程序的欺骗 IP 或仅测试虚拟主机配置)。在 Gentoo 和 Debian 上使用 2 条防火墙规则可以实现这一点,但在 Ubuntu 上似乎不行。我四处寻找有关更改 SNAT 目标和 nat 表的 INPUT 链的文档,但什么也没找到。
有人知道这是否是一个配置问题,或者是在较新版本的 Linux 中刚刚添加的内容?
答案1
看起来这是在 2.6.35 之后的某个时间添加的,请参阅提交 c68cd6cc21eb329c47ff020ff7412bf58176984e