iptables 将传入 IP 路由到另一个目标 IP 问题

iptables 将传入 IP 路由到另一个目标 IP 问题

我有一个测试设置:

  • 服务器1:1.1.1.1
  • 服务器2:2.2.2.2
  • 客户端:3.3.3.3

我试图让客户端 IP 3.3.3.3 从 1.1.1.1 服务器发出 HTTP 请求。但是我希望 1.1.1.1 服务器将此请求传递到真正的 HTTPD 服务器 2.2.2.2 上。

我希望 2.2.2.2 使用 HTTP 响应直接与客户端 3.3.3.3 对话。

我想但是我需要 1.1.1.1 接受 HTTP 请求,然后让它将请求转发到 2.2.2.2 并让 2.2.2.2 响应,然后转发回 3.3.3.3 并解决此问题?否则,客户端 3.3.3.3 将从 2.2.2.2 获取响应,但不知道为什么 2.2.2.2 响应而不是 1.1.1.1 并忽略它?

不管怎样,这是我iptables在 1.1.1.1 上尝试过的:

iptables -t nat -A POSTROUTING -o venet0:0 -j SNAT --to-source 2.2.2.2
iptables -t nat -A PREROUTING -i venet0:0 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A PREROUTING -d 3.3.3.3 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A POSTROUTING -s 2.2.2.2 -j SNAT --to-source 3.3.3.3

这似乎没有改变。

答案1

我已经弄清楚了:

iptables -t nat -A PREROUTING -d 3.3.3.3 -j DNAT --to-destination 2.2.2.2
iptables -t nat -A POSTROUTING -s 2.2.2.2 -j SNAT --to-source 3.3.3.3

相关内容