不确定是否可以完成:由于传统设置,有两个单独的网络都使用相同的 C 类子网 192.168.0.0/24。我有一个带有两个物理接口的 Linux 机器,其中每个接口在该子网中都有一个(不同的)IP。
我想做的是添加 NAT 或伪装,使我能够访问第二个接口后面的网络,就好像它有另一个 IP 子网一样。即对 10.0.1.100 的任何请求都应该通过 eth2 接口发出,而对 192.168.1.100 的请求应该通过 eth1 发出。理想情况下,源 IP 应该看起来好像位于 192/24 子网中。即任何重写都应该只发生在本地盒子上。
路由表已相应设置:到 10/8 的流量设置为使用来自 192/24 子网的本地 IP 通过 dev eth2 传输,到 192/24 子网的流量被路由到 eth1。
但是,尝试添加 DNAT 来重写目标地址不起作用,因为这发生在预路由步骤中,并且重写会将任何流量重定向到具有 192/24 子网路由的第一个接口。
也许伪装可以工作,但在阅读了网络层的结构后,我不确定它是否可以或应该完成。
这是一个滑稽的设置,设置一个单独的盒子来做一些 NATing 可能更容易,但我觉得这里有一些有趣的东西要学习,所以很高兴听到在这个主题上更有经验的人的意见😅