我的网络情况如下:
-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
客户HTTP
从1.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
?
谢谢