Pritunl是一款图形化的OpenVPN软件,提供一个友好的图形界面,免去传统的OpenVPN安装之苦,并且通过图形界面可以进行简单的人员管理,参数配置,非常方便。
原理
原理也是非常简单,我们使用公网连接到OpenVPN实例之后,会在本地创建一个虚拟接口,指定网段的流量会通过这个虚拟接口连接到OpenVPN实例。连接到网络之后,OpenVPN会进行转发,将你的流量转发到自己所在网络中。
Pritunl安装
Pritunl基本上是一键式安装,期间可能遇到些许众所周知的网络问题,自己解决下就好,底层依赖于一个MongoDB进行用户的管理以及OpenVPN模版的渲染。
配置yum源
[root@pritunl ~]# cat /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1
[root@pritunl ~]# cat /etc/yum.repos.d/pritunl.repo
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/7/
gpgcheck=0
enabled=1
导入GPG签名公钥
[root@pritunl ~]# gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
[root@pritunl ~]# gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
更新缓存
[root@pritunl ~]# yum makecache
安装pritunl和mongodb
[root@pritunl ~]# yum -y install epel-release
[root@pritunl ~]# yum -y install mongodb-org --skip-broken
--skip-broken 选项告诉 yum 在遇到未解决的依赖或冲突时跳过相关软件包的安装,而不是终止整个安装过程
[root@pritunl ~]# yum -y install pritunl --nogpgcheck
--nogpgcheck 选项告诉 yum 在安装过程中跳过 GPG(GNU Privacy Guard)签名检查
启动服务并设置开机自启
[root@pritunl ~]# systemctl start mongod pritunl
[root@pritunl ~]# systemctl enable mongod pritunl
Created symlink from /etc/systemd/system/multi-user.target.wants/pritunl.service to /etc/systemd/system/pritunl.service.
[root@pritunl ~]# ss -pantu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 127.0.0.1:27017 *:* users:(("mongod",pid=7706,fd=11))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=1172,fd=3))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=1426,fd=13))
tcp ESTAB 0 0 192.168.154.128:22 192.168.154.1:56966 users:(("sshd",pid=3018,fd=3))
tcp ESTAB 0 0 192.168.154.128:22 192.168.154.1:53464 users:(("sshd",pid=3012,fd=3))
tcp LISTEN 0 128 [::]:443 [::]:* users:(("pritunl-web",pid=7830,fd=7))
tcp LISTEN 0 5 [::1]:9755 [::]:* users:(("pritunl",pid=7688,fd=8))
tcp LISTEN 0 128 [::]:80 [::]:* users:(("pritunl-web",pid=7830,fd=3))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1172,fd=4))
tcp LISTEN 0 100 [::1]:25 [::]:* users:(("master",pid=1426,fd=14))
生成初始设置密钥(初次登录需要)
[root@pritunl ~]# pritunl setup-key
84f71605b93143208482131caf9cfb5a
初始用户名密码获取命令:pritunl default-password
[root@pritunl ~]# pritunl default-password
[local][2024-06-24 14:33:58,961][INFO] Getting default administrator password
Administrator default password:
username: "pritunl"
password: "SUHw3pxJTvMb"
登录以后根据提示可以先设置用户名和密码
服务端配置
添加组织
添加用户
添加服务
这里填入有三个选项是必填的
服务的名称
端口和协议,协议是udp
dns server
把服务关联到组织
选择好以后保存配置
5)启动服务器
客户端配置
下载客户端软件
OpenVPN Connect客户端软件
安装软件
下载好后安装打开即可,然后我们把连接的配置文件下载下来,打开pritunl web 界面,点击上面user,然后点击下载我们上面创建的用户的连接配置文件
解压后可以看到这个配置文件
下载好配置文件后我们导入
连接成功后在会弹出一个提示,表示连接成功,局域网连接表示可以了