对于具有 DNAT 和多个网关的场景,我在 Linux 客户端上设置 iptables 规则和路由时遇到问题:
我们有两个通往 Internet 的网关。第一个有固定 IP,第二个提供更好的带宽。两个网关都对来自我们专用网络的传出流量进行 SNAT。
在具有固定 IP 的第一个网关上,我为端口 22 设置了端口转发,以便所有 SSH 流量都将转发到我的 Linux 客户端。
那很好用。
但前提是我将第一个网关用作 Linux 客户端上的默认路由。
当我将 Linux 客户端切换到第二个网关作为默认路由时,传入的 SSH 连接不再有效。
我如何设置 Linux 客户端以将与传入 SSH 连接相关的回复数据包发送到第一个网关,但将所有其他流量发送到第二个网关?
我在问题“根据服务将返回流量路由到正确的网关”的已接受答案中找到了解决方案。
我在我的 Linux 客户端上实施了这些规则: