# centos7部署pritunl服务端

# 参考资料

  • https://www.cnblogs.com/panwenbin-logs/p/17684987.html, centos7安装,主要参照
  • https://blog.csdn.net/Tiam_cr/article/details/133702837, 操作参照
  • https://www.cnblogs.com/yangmeichong/p/17995337, 操作参照
  • https://blog.csdn.net/xaicode/article/details/132623827,客户端路由配置

# 安装步骤

vim /etc/yum.repos.d/pritunl.repo
<<<
[pritunl]
name=Pritunl
baseurl=https://repo.pritunl.com/stable/yum/oraclelinux/7/
gpgcheck=0
enabled=1
[mongodb-4.4]
name=MongoDB
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=0
enabled=1

yum clean all && yum makecache

yum install pritunl mongodb-org -y

systemctl start mongd
systemctl enable pritunl

# 初始化pritunl

  • 访问web管理端 https://ip

  • 初始化密钥 pritunl setup-key,会出现一个随机串, 将该随机串填入web端,例如:76f182b4d28446ed8fb8515929d796c3,填入之后,会要求输入初始登录信息

  • 初始化用户 pritunl default-password,会出现用户名,密码,使用该用户名密码登录.(不遵循这个步骤直接执行的话,会报错)

  • 修改初始用户密码

    • 登录成功,会要求修改用户跟密码。以及设置当前网络地址。
    • 配置当前的网络地址,可以设置为内网,也可以设置为公网地址,这个对本地服务没有影响,主要是影响客户端的配置;下载用户配置的时候,有这个地址以及端口,端口可以手动配置,地址不知道行不行。总之这个相当于是一个参数配置,不用太过在意,因为客户端是需要改造配置的。改造方案见下文内容。
    • 公网地址时,可以使用域名,结合ddns实现内网环境下的连接;

##配置pritunl

# 创建组织

  • 点击Users栏,使用 Add Organization 功能.
  • 组织相当于租户
  • 一个租户下的资源共享,不同租户间资源隔离

# 创建用户

  • 点击Users栏,使用 Add User 功能.
  • 添加用户, 用户需要归属为某个具体的组织
  • 用户相当于终端,一个用户智能登录一个终端(分配子网ip)
  • 用户有pin码,相当于密码

# 创建服务器

  • 点击Servers栏,使用 Add Server 功能.
  • 输入服务器名称,比如myhome; 端口和协议,比如6666tcp; 分配的子网段,比如 192.168.225.0/24;之后保存;
  • 绑定组织,则该组织下的人使用该子网段;
  • 添加路由,即该子网允许访问的内网网段,比如192.168.10.0/24;也可以路由公网地址,比如114.114.114.114/32路由公网地址时使用这台服务器做桥接,通过服务器访问指定的网络地址
  • 删除默认的0.0.0.0/0路由,不删除的话,客户端的所有流量都会走服务器,导致服务器流量过大;(由于客户端会做改造,因此影响不大)

##客户端配置

# 下载openVPN

  • 下载地址: https://openvpn.net/client/, 下载对应版本客户端即可;

# 下载priTunl配置

  • 在web控制台的users界面,下载对应users的配置文件,是一个tar压缩包;
  • 解压压缩包得到 xxxclient.ovpn文件

# 修改配置文件

在该文件中,添加路由规则:

route-nopull #don't pull routes from the server
route 192.168.220.0 255.255.255.0 #direct all 192.168.220.* subnet traffic through the VPN
route 192.168.10.0 255.255.255.0 #direct all 192.168.10.* subnet traffic through the VPN

形如

client
dev tun
dev-type tun
remote 2409:8a62:1214:3db0:7e0:ea24:3800:7752 5539 tcp6-client
remote home.automannn.cn 5539 tcp-client
remote-random
route-nopull #don't pull routes from the server
route 192.168.220.0 255.255.255.0 #direct all 192.168.220.* subnet traffic through the VPN
route 192.168.10.0 255.255.255.0 #direct all 192.168.10.* subnet traffic through the VPN
nobind
persist-tun
  • 配置说明,主要是 外网端口,以及需要路由的子网段;
  • 也可以只路由某一个特定的ip, #route 192.168.0.1 255.255.255.255 #For one IP only (192.168.0.1)

# 启动客户端

导入,输入账号密码,密码乱输一个, 输入pin码 并连接即可