如何使用 iptables/iproute2 将发往某个端口的流量路由到某个 IP,而不改变目标 IP?

如何使用 iptables/iproute2 将发往某个端口的流量路由到某个 IP,而不改变目标 IP?

我必须从许多(超过 1000 个)设备收集数据,这些设备的唯一身份验证/授权是通过连接到它们的源 IP 地址进行的。这些网络设备的配置相对静态,因此定期或以某种自动方式更改配置并不是可行的解决方案。

我一直在与我的负载平衡团队合作,尝试通过负载平衡器发送来自我主机的所有流量,但到目前为止,我们的(不工作/不可行)解决方案涉及一条 iptables 规则,用于在运行收集器软件的主机上执行 NAT,以将流量路由到负载平衡器。问题是,由于它正在执行 NAT,目标地址会被重写,因此负载平衡器不知道真正的目标 IP 应该是什么。

我使用的命令是这样的:

iptables -t nat -A OUTPUT -p tcp --dport <port> -j DNAT —to-destination <ip>:<port>

我对 iptables/iproute2 不够熟悉,不知道在这种情况下该怎么做。我觉得用某种隧道可能很容易做到这一点,但我希望找到一种解决方案,其中负载平衡器配置可以是静态的,我们可以启动收集器主机并运行一些命令来相应地路由流量。

这绝对不是我的专业领域,我可能遗漏了一些信息,所以如果您需要更多信息,请告诉我。感谢任何人提供的帮助。

答案1

DNAT当您只想更改源 IP 时,您会使用?在这种情况下,您实际上想要使用SNAT

相关内容