系统相关
首页 > 系统相关> > linux – 使用OpenVPN客户端进行端口转发

linux – 使用OpenVPN客户端进行端口转发

作者:互联网

我遇到了Port forwarding using VPN client描述的同样问题,但没有成功.

我有一个OpenVPN访问服务器版本2.5和一个配置了站点到站点路由的客户端.客户端和服务器都可以使用私有IP地址相互通信.在客户端上,有一个Apache服务器侦听端口8081.

目标是能够连接到OpenVPN服务器公共IP,并将其转发到客户端,以便用户可以访问后面的Apache服务器

我目前的设置是:

enter image description here

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