kym*_*886 4 linux port-forwarding openvpn
我遇到了使用 VPN 客户端进行端口转发所描述的相同问题,但没有成功。
我有一个 OpenVPN 访问服务器版本 2.5 和一个配置了站点到站点路由的客户端。客户端和服务器都可以使用私有IP地址相互通信。在客户端,有一个 Apache 服务器监听端口 8081。
目标是能够连接到OpenVPN服务器的公网IP,并让它将连接转发到客户端,以便用户可以访问后面的Apache服务器
我当前的设置是:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -d 50.xxx.xxx.xxx -p tcp --dport 8081 -j DNAT --to-dest 192.168.2.86:8081
iptables -t nat -A POSTROUTING -d 192.168.2.86 -p tcp --dport 8081 -j SNAT --to-source 10.0.2.42
有什么简单的事情我做错了吗?谢谢。
该问题与 iptables 规则有关。通过添加以下规则,一切都会按预期进行:
iptables -t nat -I PREROUTING 1 -d {SERVER_LOCAL_IP_ADDRESS} -p tcp --dport {CLIENT_PORT} -j DNAT --to-dest {CLIENT_LOCAL_IP_ADDRESS}:{CLIENT_PORT}
iptables -t nat -I POSTROUTING 1 -d {CLIENT_LOCAL_IP_ADDRESS} -p tcp --dport {CLIENT_PORT} -j SNAT --to-source {VPN_GATEWAY_IP}
iptables -I FORWARD 1 -d {CLIENT_LOCAL_IP_ADDRESS} -p tcp --dport {CLIENT_PORT} -j ACCEPT