我有一个部署在Linode服务器上的OpenVPN服务器。我的计算机正在运行打开端口8089以进行客户端连接的软件。我的计算机没有公共ip,因此计算机将vpn连接到openvpn服务器,以便客户端连接vpn服务器的公共ip地址。
如何设置计算机的端口转发?我的意思是客户端如何通过openvpn服务器的公共ip连接到我的计算机上运行的端口8089的软件?
我的linode服务器: Debian 9使用ufw作为配置防火墙。我遵循这个tut https://www.cyberciti.biz/faq/how-to-install-and-configure-an-openvpn-server-on-debian-9-in-5-minutes/中的设置指南。
发布于 2018-12-02 09:43:05
在完成此工作之前,首先要确保您的VPN客户端具有固定的VPN IP地址。OpenVPN如何描述了如何完成此操作。确保从文档中的表中为客户机/服务器选择IP对。
现在,请确保您的Linode服务器可以访问您的客户端应用程序。也就是说。
telnet <Fixed VPN IP of your client machine> 8089
为了连接外部世界,假设您的应用程序是基于HTTP的,我建议在Linode机器上安装一个反向代理。
在Linode服务器上安装反向代理,该代理将位于来自外部世界的连接之间,然后转发到应用程序。有许多可用的,如Nginx、Apache、HAProxy、TinyProxy。如果您有简单的需求,那么TinyProxy可能是一个很好的起点。安装完毕后,确保配置中有以下行:
ConnectPort 8089
ReversePath "/" "http://<fixed IP of your VPN client>:8089"
ReverseOnly yes
ReverseMagic yes
您需要确保Linode服务器上的防火墙接受来自外部世界的传入连接。若要允许不受限制地访问,请使用UFW:
sudo ufw allow 8089/tcp
或者,如果您只希望允许特定客户端访问您的应用程序:
sudo ufw delete allow 8089/tcp
然后,对于每个应该能够访问的客户端:
sudo ufw allow from <external client IP> to 8089/tcp
如果您还在VPN客户端计算机上运行防火墙,则还需要确保有允许Linode服务器连接到端口8089的规则。您将需要服务器的VPN IP。对于固定的IP,根据我引用的Open文档,您可以选择一对IP以供VPN服务器和客户端使用:
sudo ufw allow from <Linode VPN Server IP> to 8089/tcp
您还可以调整配置,以便您的Linode服务器通过改变反向代理中的“Connect”参数来侦听完全不同的端口(例如80) &更新Linode服务器防火墙规则以匹配,而您的应用程序则停留在8089上。
https://unix.stackexchange.com/questions/485427
复制相似问题