![重定向至另一个网络](https://linux22.com/image/635685/%E9%87%8D%E5%AE%9A%E5%90%91%E8%87%B3%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%BD%91%E7%BB%9C.png)
我正在整理 Linux 配置的测试版本。我想将此测试配置放在与正常配置不同的网络上。
- 正常网络:192.168.50.*
- 测试网络:192.168.150.*
我希望在不对配置中的软件设置进行任何更改的情况下实现这一点。
我实现此目的的方法是更改网络接口以连接到测试网络,并重定向所有拨出电话。例如重定向192.168.50.10到192.168.150.10
我通过使用 iptables 来实现这一点。
iptables -t nat -A OUTPUT -d 192.168.50.10 -j DNAT --到目标 192.168.150.10
如果我改变网络掩码在界面上255.255.255.0到255.255.0.0。如果我不改变网络掩码当我输入正常网络地址时会出现此信息。
连接:网络不可达
改变网络掩码不幸的是不是一个选择。
话虽如此,我的问题是这样的;有没有办法绕过网络掩码问题,或者有没有更好的方法来实现我想要做的事情?
答案1
我针对此问题实施了一个解决方法。
我通过向正常网络添加虚拟网络连接,然后将所有流量路由到测试网络接口来实现此目的。
网络接口和 IP:
- 测试网络:bond0-192.168.150.*
- 正常网络:债券0:0-192.168.50.*
路由命令:
iptables -t nat -A POSTROUTING -o bond0 -j SNAT --源 192.168.150.10
这个解决方案可以完成任务,但并不理想。它绕过了“网络无法连接”问题,但我更希望测试主机不连接到正常网络。