linux – 使用OpenVPN客户端进行端口转发
作者:互联网
我遇到了Port forwarding using VPN client描述的同样问题,但没有成功.
我有一个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
标签:linux,openvpn,port-forwarding 来源: https://codeday.me/bug/20190815/1660081.html