【技术流】Pritunl+内网穿透实现openvpn无公网IP远程连接全攻略
@[TOC]
前言
本文和大家分享一下如何在Linux环境本地安装Pritunl并进行配置,结合内网穿透工具实现公网环境远程连接OpenVPN,无需公网IP,也不用设置路由器那么麻烦。
Pritunl是一款免费开源的 VPN 平台软件(但使用的不是标准的开源许可证,用户受到很多限制)。这是一种简单有效的VPN方式,一方面能有一个相对简单的途径,易于初级用户迅速搭建 VPN 服务;另一方面有能抵御干扰,提供稳定有效的代理服务。
Pritunl采用 OpenVPN 代理方式,一方面提供了 API 供高级开发者使用,同时还针对不同平台和不同 VPS 供应商 (包括DigitalOcean和AWS)提供了详尽的安装使用说明,DEMO显示它有图形化界面,方便了初级用户的使用,官方称其能在数分钟内完成搭建过程,这大大的降低了使用门槛。
1.环境安装
创建MongoDB仓库文件:
sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo << EOF
添加如下内容,然后回车:
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF
创建pritunl仓库文件
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
在下面添加如下内容,然后回车:
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/oraclelinux/8/
gpgcheck=1
enabled=1
EOF
从密钥服务器导入签名密钥
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
安装oracle-epel-release-el8
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
2.开始安装
安装pritunl-openvpn,执行下列命令,然后等待安装完成
sudo yum --allowerasing install pritunl-openvpn
出现下面界面表示成功
安装mongodb-org
sudo yum -y install pritunl mongodb-org
出现如下界面表示安装成功
启动mongod pritunl
sudo systemctl start mongod pritunl
设置开机启动(尽量在配置所有服务且连接无误后再使用开机启动)
sudo systemctl enable mongod pritunl
关闭一下防火墙(centOS8)
systemctl stop firewalld
3.访问测试
打开外部浏览器,我们使用https协议+局域网ip地址访问,即可看到web 界面,在web 界面上 有个key的参数需要我们输入.
执行下面命令获取key
sudo pritunl setup-key
执行后我们可以看到key,然后复制
把key写到界面上面,然后点击save
然后就能看到登陆界面,登陆界面提示执行命令获取默认的密码和登陆信息
执行下面命令获取登陆信息:
sudo pritunl default-password
执行后可以看到我们的用户名和密码
我们使用获取的账号密码登陆即可
登陆进去后,提示我们可以修改一下用户名和密码,这里只修改一下密码,Public Address 的值改成设备的局域网ip(注意是你设备的局域网ip,通过输入在设备上输入ip address 可以查看),其他参数不知道可以不设置,设置后点击save
4.创建连接
先创建一个组织
填写组织名称,点击 Add添加
添加好组织后,添加一个用户
填写用户名称,点击Add
然后添加server服务
填写server的信息包括名称,协议tcp,然后点击save
然后点击绑定组织
选择无误后点击attach
然后我们点击启动服务,在这个页面上我们可以看到一个端口号:12650,这个是我这边的端口号,具体端口号以你自己的端口号为准.
5.局域网测试连接
进入openVPN官网下载OpenVPN 连接工具:https://openvpn.net/community-downloads/,windwos 64 位我们下载第一个
下载好后安装打开即可,然后我们把连接的配置文件下载下来,打开pritunl web 界面,点击上面user,然后点击下载我们上面创建的用户的连接配置文件
解压后可以看到这个配置文件
下载好配置文件后我们导入配置文件,在右下角右键openVPN图标
选择配置文件导入
选择我们下载的配置文件即可
然后我们再次右键图标,选择我们导入的配置文件连接,连接成功后在windwos会弹出一个提示,表示连接成功,局域网连接表示可以了
6.安装cpolar
上面我们在本地Linux安装了pritunl 并且局域网测试ok,下面我们安装cpolar内网穿透工具,通过cpolar的http公网地址,我们可以很容易实现远程连接,而无需自己注册域名购买云服务器.下面是安装cpolar步骤
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- token认证
登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:
cpolar authtoken xxxxxxx
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
7.配置固定公网访问地址
在cpolar中,临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们使用其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。
配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。
保留一个固定tcp地址登录cpolar官网:https://www.cpolar.com,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:
- 地区:选择China vip
- 描述:即备注,可自定义
点击保留
地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
*然后我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。登录成功后,点击左侧仪表盘的隧道管理——创建隧道:
隧道名称:可自定义,注意不要与已有的隧道名称重复
- 协议:tcp
- 本地地址:12324 (注意这个端口,需填写在官网保留地址对应的端口)
- 域名类型:固定tcp端口
- 地区:选择China VIP
- 预留的tcp地址:填写官网保留成功的地址,
点击创建
然后打开在线隧道列表,查看tcp协议的公网地址,在这里我们可以看到,本地地址端口号和公网ip端口号是一致的
8.远程连接测试
上面我们通过cpolar工具创建了一个tcp的公网ip地址,我们复制地址前面一段:5.tcp.vip.cpolar.cn,打开pritunl web 界面,点击settings,更改我们的Public Address
设置好以后,点击停止服务 stop server,然后点击服务名称,进入修改服务端口
把端口改成我们上面cpolar创建的公网地址5.tcp.vip.cpolar.cn:12324对应的端口:12324
改好后我们启动服务
然后同样下载一遍配置文件,因为我们更换了地址,所以需要重新下载连接的配置文件
下载后导入,选择导入配置文件,
会提示是否替换之前的文件,点击是即可,
然后我们选择同配置文件名称一样的连接进行连接
我们可以在windwos提示界面看到已连接,表示成功连接
- 点赞
- 收藏
- 关注作者
评论(0)