一、介绍
Pritunl是一款图形化的OpenVPN软件,提供一个友好的图形界面,免去传统的OpenVPN安装之苦,并且通过图形界面可以进行简单的人员管理,参数配置,非常方便。
原理
原理也是非常简单,我们使用公网连接到OpenVPN实例之后,会在本地创建一个虚拟接口,指定网段的流量会通过这个虚拟接口连接到OpenVPN实例。连接到网络之后,OpenVPN会进行转发,将你的流量转发到自己所在网络中。
Tunneling Split俗称隧道分离,就是能够让你指定的网段通过OpenVPN建立的隧道进行访问,而未指定的则通过你所在的网络进行访问。这样能够大幅度节省你在云上的带宽,也能提高用户体验,还能保证安全
二、安装
Pritunl基本上是一键式安装,期间可能遇到些许众所周知的网络问题,自己解决下就好,底层依赖于一个MongoDB进行用户的管理以及OpenVPN模版的渲染。
2.1、配置mongodb需要的源
cat >> /etc/yum.repos.d/mongodb.repo << EOF
[mngodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
EOF
2.2、配置pritunl需要的源
cat >> /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/7/
gpgcheck=1
enabled=1
EOF
更新缓存
yum makecache
导入GPG签名公钥
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
2.3、安装pritunl和mongodb
yum install epel-release mongodb-org --skip-broken pritunl --nogpgcheck -y
启动服务并设置开机自启
systemctl enable mongod pritunl --now
查看端口是否齐全
netstat -lntup
注意:如果是公网服务器的话防火墙或者安全组要将上面标注的端口打开。安装之后打开服务器IP或者域名就可以使用了,需要在服务器上初始化一个key才可以使用,运行pritunl setup-key即可。配置好之后就可以使用了,更多的使用方式可以参考官方文档,记得为自己的MongoDB 配置密码
2.4、生成初始设置密钥(初次登录需要)
[root@web01 ~]# pritunl setup-key
75f716f91094467aa765e8680dca2fb2
浏览器访问:10.0.0.7(把上一步生成的密钥填入下图第一栏),点击“save”)
[root@web01 ~]# pritunl default-password
[local][2023-10-24 11:41:26,531][INFO] Getting default administrator password
Administrator default password:
username: "pritunl"
password: "h9p4DYQ9k3wg"
登录以后根据提示可以先设置用户名和密码:
三、用户创建
根据如下顺序操作
3.1、添加组织
3.2、添加用户
注意:上面的Pin是连接VPN的密码要自己设置并记住;
3.3、添加服务器
注意:如果是公网服务器的话防火墙或者安全组要把上面udp的端口要打开
3.4、将组织附加到服务器
3.5、启动服务器
再回来用户点击右侧链接图标选择个人资料用浏览器打开
打开链接后先点一下最下面的“show more”,然后会显示如下页面:第一行下载VPN客户端安装包,第二处标红是VPN连接证书,第三处是个人初始密码和修改后的密码(可不修改),最后一处标红是修改密码之后确认(默认密码是6-8为的数字):
点击“Down Client”选择如下
“Download Profiles”下载到本地后要解压,然后把下载好的pritunl客户端连接软件打开点击“Improt ”导入刚刚解压的vpn证书,然后再点击右上角“connect”并输入密码点击“OK”登录,过程如下:
客户端连接延时失败,原因是我虚拟机用的nat连接方式,我改成桥接模式(修改桥接可参考:https://jiujiu.tj.cn/?p=339),然后把虚拟机外网地址改成虚拟机自身IP(如果在有公网IP的云主机上就不会出现这个问题),设置如下:
多用户连接要在服务器里设置:
注意:修改之前要先“stop server”,否则会报错:Server must be offline to modify settings.
还可以修改默认虚拟网络,客户端连接IP段
修改完成要再一次“start server”。启动完成后,客户端再次尝试连接。注:如果是修改了虚拟机为桥接模式,VPN证书需重新下载解压导入
由红变绿,并有详细的连接描述
验证本地IP与客户端分配给的IP是否一致