一、PVPN简介
peyoot/pvpn是一个开源虚拟专用网工具,可以让你在家通过电脑远程访问办公室的电脑和网络设备,它需要一台有公网IP地址的云服务器作为服务端,客户端可以是任意平台,电脑,手机或是ipad等。本工具帮您快速安装,生成和自动配置虚拟专用网所需的各种工具软件和证书等。虽然这是个脚本工具并提供许多交互选项,但大部分场景您只需要一路回车即可完成安装,因此非常适合小白使用。
二、安装服务端
PVPN服务端必须安装在拥有公网IP地址的服务器上。可以是自己的服务器或是云服务器(阿里云,腾讯云,AWS,华为云等均可以用)。它对性能要求不高,因此轻量级服务器就可以用。PVPN支持ubuntu 16.04及其以上的LTS版本操作系统,建议使用最新的Ubuntu 20.04 LTS。
购买好云服务器,启动后,请记下它的IP地址。PVPN支持两种虚拟专用网,它需要开放8443和8000 TCP端口,以及500和4500的UDP端口。请在云服务器控制台配置相关规则:
登陆云服务器后,我们可以下载PVPN并以root的方式运行。
git clone https://github.com/peyoot/pvpn.git cd pvpn sudo ./install_vpn.sh
注意,在出现的第一个菜单是让您选择模式,分为服务端和客户端两种,在云服务器上安装的是服务端,默认就是,回车即可。
第二项是安装vpn类型,如是不懂就直接回车,默认是用openvpn配合stunnel来实现,这种类型兼容性好,对于客户端准备安装在linux和windows上的用户来说,这是首选。如果想在手机或平板上应用pvpn,则一般可以使用strongswan,您也可以选择两种都一起安装。
此外,在安装过程中还有一处需要手动输入的服务器的公网IP地址,而不能用回车代替。如果是回车,则会用脚本自动检测IP地址,但很多云服务器只是做IP映射,本地查询IP只有内网地址。因此这个地方需手动输入先前记下的公网IP,然后一路回车即可。
安装过程如有出错,可以重新运行安装一遍,当然会出现更多的交互选项,如果不懂也可以只对上述两选手动选择,其余的一路回车,并不影响使用。
三、安装客户端
客户端可以是任意平台,但VPN类型需要和服务端一致。
1. Linux
对程序员来说,最常用的是Linux,同样地可用git clone下载,并用root权限运行脚本安装,唯 一不同的地方是在出现的第一个菜单选项中,选择2安装peyoot/pvpn客户端。
在后面输入服务端公网IP地址时,手动输入正确的IP,其余的交互都可以用回车代替。安装过程会自动从服务端下载相关的证书,并配置好pvpn。
安装完成后,默认是需要手动开启PVPN服务的。这是因为在默认的配置下,开启PVPN后,所有的流量都会从PVPN服务端走,如果您非常了解PVPN,也可以自行配置以应对各种场景的需求。
要开启PVPN,直接用systemd命令即可:
ubuntu 18.04/20.04/22.04下用: sudo systemctl start openvpn-client@client ubuntu 16.04下则是使用: sudo systemctl start openvpn
上面命令执行后,大约过5秒后即可用ip addr来查看tap0是否起来,以此判断pvpn是否正常工作。
如果需要停用pvpn,把上面对应命令的start改为stop即可。停止pvpn后,tap0这个虚拟网卡就看不到了,所以流量恢复走本地网络。
2. windows 和 android,mac os
其它平台用法类似,请安装openvpn和stunnel软件并正确配置,