我有一个相当特殊的路由和 NAT 问题,希望能以某种方式解决。在我的公司内部,我们运行一个超网,如 192.168.0.0/21 (192.168.0.1 - 192.168.7.254) 所有计算机都有此子网掩码,无需路由即可到达此网段内的任何其他计算机。
对于某些客户,我们在他们和我们的防火墙之间设置了一些 IPSec 隧道。此外,有些客户仅接受来自我私有网络内某些源 IP 通过隧道的流量。例如,如果源位于 192.168.1.1-192.168.1.10 之间,客户 A 仅接受到其服务器的流量(我们必须访问 RDP、SAPGUI 等)。另一个仅接受源 192.168.3.0/24 等等。到目前为止,我通过将负责范围内的 IP 分配给该特定客户端 PC 来处理此问题。但现在这变得相当麻烦,而且在同一天内也会发生变化。用户需要在上午 9 点连接到客户 A,在上午 11 点连接到客户 B……
为了更加灵活,我考虑通过在我的局域网内安装一些路由器来集中管理这些路由器,我告诉客户 A 的流量应该通过具有所需范围 IP 的接口 A。但同时也对流量进行 NAT 以隐藏真正的客户端源 IP。
这样,我就可以为某些目的地设置一些特定的路由,以便通过此路由器。这样我就无需根据需要始终切换客户端源 IP。但我担心我无法做到这一点,因为我的路由将再次从同一个网络进入同一个网络。这不是从我的局域网到客户局域网,这是稍后通过防火墙上的 IPSec 完成的,但我只需隐藏客户端 IP,例如 192.169.2.1/21,声称是 192.168.1.2/21
有什么想法吗?我想到了 Windows RRAS Server,但这对于从一个网段路由到另一个网段来说很好。但只需在同一个网络内切换 IP 即可。
答案1
如果您有足够多的主机来保证使用 /21,那么我无法强调在内部运行 /21 是一个多么糟糕的想法。
例如,对于需要 /21(2000+ 台主机)的用户来说,/22(1000+ 台主机)是不够的。如果您运行的是具有 10 台主机的 /21,那么这并不重要。
如果这是一个广播流量较低且可以理解的服务器场,那么就没有问题。
但是如果(听起来)您在同一个子网中运行 /21 且有 1049 个以上的工作站,那么您将遇到麻烦。您的广播流量将是一场充斥着垃圾邮件的噩梦。
答案2
SNAT/MASQUERADING 处于 POSTROUTING 状态,因此根据定义,路由不再是问题。
您甚至可以更改本地系统之一中的路由表,以便它不会尝试通过其链路本地传送 192.168.0.0/21 的数据包,而是将它们发送到网关:
ip route del 192.168.0.0/21
当然,在网关上,您必须允许在 LAN 网络内转发。但是,您甚至可以在本地使用 SNAT。这可能比测试与客户的连接更有趣。:-)