如何编写让边缘服务器将客户端请求转发到内部网络服务器并返回的规则?

如何编写让边缘服务器将客户端请求转发到内部网络服务器并返回的规则?

我的网络情况如下:

-server1:1.1.1.1   
-server2:2.2.2.2    
-tunnel 10.8.0.0/24
-client: 3.3.3.3

我正在尝试让IP 3.3.3.3客户HTTP1.1.1.1 server.但是我希望1.1.1.1服务器将此请求传递到真实HTTPD服务器上2.2.2.2。服务器2.2.2.2位于我的隧道的另一端,并且有IP一个10.8.0.6.我希望流量从 出发client > server1 > tunnel > server2然后返回server2 < tunnel < server 1 < client

我已经测试了各种规则iptables但似乎无法使其正常工作。

在 上server1,我最初有:

iptables -A INPUT -s 3.3.3.3/32 -j ACCEPT

然后输入以下nat规则:

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

结果是3.3.3.3继续击中1.1.1.1并且1.1.1.1仍然会回复并且不会将请求传递到2.2.2.2隧道。

我尝试删除该iptables -A INPUT -s 3.3.3.3/32 -j ACCEPT规则,认为该规则可能首先在表列表中被读取,因此让1.1.1.1回复,因为该规则出现在nat规则之前,但事实并非如此。我取消了这条规则,所有交通都3.3.3.3停止1.1.1.1了,我担心这种情况会发生,但事实确实如此。

如何编写允许3.3.3.3通信2.2.2.2但保持流量路由返回的规则1.1.1.1

谢谢

相关内容