IPTables无法通过VPN

我有一个VPN连接到远程位置的服务器。 我希望其他电脑能够通过VPN连接器到达远程位置的networking服务器。 但我不能得到我想要的地方。

这是情况:

VPN Server (and also the webserver): 10.0.0.2 ^ | Router: 192.168.1.127 & 10.0.0.1 (openssh port is forwarded to 10.0.0.2) ^ | | VPN Connector: 192.168.1.148 ^ | Client pc: 192.168.1.129 

此外,VPNnetworking(称为tun0)的IP是:VPN服务器:192.168.2.1 VPN连接器:192.168.2.6

所以,如果我login到VPN连接器,并做一个wget 192.168.2.1:4848它工作正常。

这很好,VPN连接的作品。

但是我想要做的是:在客户端PC上去浏览器并转到192.168.1.148:4848。 (这是VPN连接器)。 然后连接器应该转发给vpn,显示192.168.2.1(vpn服务器)上的web服务器。

这是我的IPTables设置:

 iptables -t nat -A PREROUTING -p tcp -d 192.168.1.148 --dport 4848 -m state --state NEW,ESTABLISHED,RELATED -j DNAT -to 192.168.2.1:4848 iptables -t nat -A POSTROUTING -o tun0 MASQUERADE 

所以,我相当新的iptables,我错过了什么?

如果我在tun0上的vpn连接器上执行tcpdump,我可以看到数据包走低谷?

 13:31:02.850057 IP 192.168.1.129.52870 > 192.168.2.1.1337: Flags [S], seq 538959383, win 8192, options [mss 1460,nop,nop,sackOK], length 0 

但是,如果我在tun0上的VPN服务器上做一个tcpdump什么都没有发生。

对不起,这是一个很长的post,但是我做错了什么? 请帮忙!

在您的VPN连接器上,尝试configuration伪装规则,如下所示

iptables -t nat -I POSTROUTING -o tun0 -j SNAT – to-source 192.168.2.6