我在数据中心有一个 TCP 服务,它基于源 IP 地址进行过滤和速率限制。我想把它移到另一个数据中心。
我想在新数据中心的 IP 地址上提供相同的服务,并将单个端口上的所有流量转发到旧端口,这样新数据中心和旧数据中心都可以同时工作。我不能只更改主机名,因为一些客户端使用 IP 地址进行连接(叹气),而另一些客户端使用基于 IP 地址的 IP 过滤(叹气),并且需要数周时间才能更改它们。
我知道我可以对连接进行 SNAT,但如果我这样做,所有连接都将来自同一个 IP,这与基于源 IP 地址的过滤和速率限制相冲突。
我可以 DNAT 连接并通过 VPN 隧道路由它们,但这意味着返回的数据包将尝试使用服务的默认路由和服务源 IP 地址,并且将被客户端忽略。
Linux有没有办法以某种方式标记经过DNAT处理的TCP数据包,以便可以通过VPN隧道而不是服务的默认路由将返回的数据包路由回?