【技术流】Pritunl+内网穿透实现openvpn无公网IP远程连接全攻略

举报
FGGIT 发表于 2024/10/23 13:03:47 2024/10/23
【摘要】 @[TOC] 前言本文和大家分享一下如何在Linux环境本地安装Pritunl并进行配置,结合内网穿透工具实现公网环境远程连接OpenVPN,无需公网IP,也不用设置路由器那么麻烦。Pritunl是一款免费开源的 VPN 平台软件(但使用的不是标准的开源许可证,用户受到很多限制)。这是一种简单有效的VPN方式,一方面能有一个相对简单的途径,易于初级用户迅速搭建 VPN 服务;另一方面有能抵御...

@[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

260a69420322ea1a8e64efec278c3b3d.png

创建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

213e539ca8cb12a910fc7ffeaffde454.png

从密钥服务器导入签名密钥

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

9b8aa8541ba4925e4991d2258a904904.png

安装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

出现下面界面表示成功
b12875ad3b4f19db6d1bf4ef6a2d6369.png

安装mongodb-org

sudo yum -y install pritunl mongodb-org

出现如下界面表示安装成功

5fd7384bb0273b433a8ecc72f0abf357.png

启动mongod pritunl

sudo systemctl start mongod pritunl

设置开机启动(尽量在配置所有服务且连接无误后再使用开机启动)

sudo systemctl enable mongod pritunl

关闭一下防火墙(centOS8)

systemctl stop firewalld

3.访问测试

打开外部浏览器,我们使用https协议+局域网ip地址访问,即可看到web 界面,在web 界面上 有个key的参数需要我们输入.

e2705d180d8d3d37431d3653dac53ba2.png

执行下面命令获取key

sudo pritunl setup-key

执行后我们可以看到key,然后复制

45d09e8385f848ff7744341a89563e71.png

把key写到界面上面,然后点击save

54b71c6e66568460d40f0f61a89ca142.png

然后就能看到登陆界面,登陆界面提示执行命令获取默认的密码和登陆信息

db7dc4be80676f7e7a8a05d2f242cee4.png

执行下面命令获取登陆信息:

sudo pritunl default-password

执行后可以看到我们的用户名和密码

eea15c868943036adc9d456fdf65ca93.png

我们使用获取的账号密码登陆即可

a7a315bdc27ed9abe46c17d5739670f3.png

登陆进去后,提示我们可以修改一下用户名和密码,这里只修改一下密码,Public Address 的值改成设备的局域网ip(注意是你设备的局域网ip,通过输入在设备上输入ip address 可以查看),其他参数不知道可以不设置,设置后点击save

128c3d1aae8a9ca41b0703f4c4077df5.png

4.创建连接

先创建一个组织

87e20e9028f34b3c4bf4a8fd5c731e18.png

填写组织名称,点击 Add添加

65aa03edd1d340fa9e0c3e2f88791de9.png

添加好组织后,添加一个用户

abc459fc95e1a89939f982405d483336.png

填写用户名称,点击Add

64c8d01197757fb70912946a6cc8ac2c.png

然后添加server服务

6b321d7cd299e6cdcd002d8ba3eaab44.png

填写server的信息包括名称,协议tcp,然后点击save

c4f1e6bd89fa8301570beb8ee42fb227.png

然后点击绑定组织

9d14e0dbac13f40fb12f323528423c17.png

选择无误后点击attach

801c97e1b347e7ed8e49efa05591f72a.png

然后我们点击启动服务,在这个页面上我们可以看到一个端口号:12650,这个是我这边的端口号,具体端口号以你自己的端口号为准.

7781de77f7a7915d7db517ce564bf56c.png

5.局域网测试连接

进入openVPN官网下载OpenVPN 连接工具:https://openvpn.net/community-downloads/,windwos 64 位我们下载第一个

bdcb5bbc444ac4392e7434682333a578.png

下载好后安装打开即可,然后我们把连接的配置文件下载下来,打开pritunl web 界面,点击上面user,然后点击下载我们上面创建的用户的连接配置文件

90ed6dc381e0755d538ed566acb37f04.png

解压后可以看到这个配置文件

63d7b3385f887a20b8533fa7412a1d6d.png

下载好配置文件后我们导入配置文件,在右下角右键openVPN图标

94e8d33e62b2e9f7a86b5c8cd8834da4.png

选择配置文件导入

e0b6e0b5741645da856c1f7c050baf73.png

选择我们下载的配置文件即可

094908f613b26888c93362edc22e77c0.png

然后我们再次右键图标,选择我们导入的配置文件连接,连接成功后在windwos会弹出一个提示,表示连接成功,局域网连接表示可以了

af90f8bb087f45d632c733ddfb8f64ec.png

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

edbec7b03e1bdfe055e18ece695d8935.png

  • 向系统添加服务
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
  • 描述:即备注,可自定义

点击保留

93e77d5e2412033426dbd0982326743b.png

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

54d6f3f66862ba1ab868a800e846341b.png

*然后我们在浏览器上访问Linux局域网ip地址+9200端口,登录cpolar web UI管理界面。登录成功后,点击左侧仪表盘的隧道管理——创建隧道:

隧道名称:可自定义,注意不要与已有的隧道名称重复

  • 协议:tcp
  • 本地地址:12324 (注意这个端口,需填写在官网保留地址对应的端口)
  • 域名类型:固定tcp端口
  • 地区:选择China VIP
  • 预留的tcp地址:填写官网保留成功的地址,

点击创建

c3c2f4521d73124dbe9b53ad9aad471d.png

然后打开在线隧道列表,查看tcp协议的公网地址,在这里我们可以看到,本地地址端口号和公网ip端口号是一致的

f6f6ae92fa38f6660d2707dbaba5242d.png

8.远程连接测试

上面我们通过cpolar工具创建了一个tcp的公网ip地址,我们复制地址前面一段:5.tcp.vip.cpolar.cn,打开pritunl web 界面,点击settings,更改我们的Public Address

82c71374dcfde3972e133b8300ef4759.png

设置好以后,点击停止服务 stop server,然后点击服务名称,进入修改服务端口

9a85309cfea90f4cadc17f40d81c5de3.png

把端口改成我们上面cpolar创建的公网地址5.tcp.vip.cpolar.cn:12324对应的端口:12324

33bb4a5bffca7a99c5ce59f124d13a67.png

改好后我们启动服务

0301789c66b02c6cc6af3e1aad1fe1c3.png

然后同样下载一遍配置文件,因为我们更换了地址,所以需要重新下载连接的配置文件

fc9f974d2804a79e38ed9b8833b94bad.png

下载后导入,选择导入配置文件,

6665c133882d6af0cc9c21fef187e5e8.png

会提示是否替换之前的文件,点击是即可,

92b31a3804aa32d18d8899965ffeb10e.png

然后我们选择同配置文件名称一样的连接进行连接

ebd3c6416ae3f03f7c9b01e2c8413d18.png

我们可以在windwos提示界面看到已连接,表示成功连接

d690de5072cf9427555d7b09285284c4.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。