Jump to content

抛砖引玉 无公网使用frp实现内网穿透并通过自己的域名开启https访问unraid管理页面


Recommended Posts

大家好,今天写一篇关于实现内网穿透的教程,我自己也是小白,  文中的所有教程都是我网上学习和自己研究明白的,  文中会出现大量小白话术,比较啰嗦。

 

本次教程因涉及到域名备案,国内相对麻烦,但也只是花费较多时间等待备案通过,不算折腾,要有耐心。

 

本教程会涉及到花钱,不愿意花钱的话看看就好,我会把我自己的网络环境及相应设置注明,以便大家参考。

 

选用frp是因为我后续的nastool微信推送篇及导航页搭建篇都会用到

 

unraid系统: 6.11.1 请支持正版;

【路由设置保存初始状态 不做任何修改或添加 】

 

硬性条件:

【 无公网IP、一台nas、一台具备公网IP的云服务器(花钱)、实名认证 、 一个域名(花钱)、域名备案(花时间)】

 

我自己用的是腾讯云的轻量服务器,域名也是腾讯云上买的最便宜的.

 

提醒: 不喜欢折腾但又想体验内网穿透 请直接选择http 简单 出乱子好解决 https涉及到修改证书及修改系统设置 配置不好容易出幺蛾子

 

下面开始:

 

步骤1

首先去腾讯云买一台服务器:cloud.tencent.com,最便宜的就行;

然后请参考【北京-狗子】大佬的配置教程:FRP内网穿透---轻松实现外网访问群晖_NAS存储_什么值得买 (smzdm.com)

在云服务器上安装frps服务,一直看到【群辉客户端】,就可以不管了,之前的配置按照大佬的教程来,很简单,十几分钟结束战斗,以上云服务器部分就搞定了, 记得腾讯云防火墙里加入自己设置的端口。

注意:记好自己所设置的:token端口(教程里默认7000),后边会用.

 

步骤2

然后就是申请域名

【这一块没这个需求的话也可以跳过,但是https就没了,只能http访问,我是图好玩,并且域名没有备案完成前是无法访问的,即便都后边都配置好打开也是显示网站未备案不啦不啦这些

花钱买个便宜的域名;域名里面绑定你购买的与服务器公网IP,dns里面添加两个记录(这个腾讯云里可以直接添加,很快的),自此域名设置方面结束,之后就是实名认证、申请ssl证书,域名备案,这块你进到腾讯云里后会有提醒的,因为没有认证域名就无法使用,没有备案域名也是无法访问的,我自己备案前后花了12天时间,一天提交,3天腾讯那边审核,有需要修改的地方腾讯会给你打电话,之后就是工信部审核,审核通过后就ok了。以上操作【云产品文档中心_云产品帮助中心 (tencent.com)】都有详细的说明,真不难,请通过关键字搜索仔细阅读,按教程操作.

如果你打算用域名,请等待域名备案完成后再继续下一步,如果你不打算使用域名,请继续接下来的操作。

 

后续教程涉及到使用域名访问均默认域名已经备案完成

后续教程涉及到使用域名访问均默认域名已经备案完成

后续教程涉及到使用域名访问均默认域名已经备案完成

 

步骤3

然后回到nas上来

Docker上部署frpc

具体方法:应用商店搜索stilleshan/frpc,会提示找不到匹配的应用程序,单击右上角【单击此处以从 DockerHub 获取更多结果】

加载后就可以看到了,这个镜像的说明是中文, 很好认,点击安装,配置如图所示

cert是放证书的路径 没研究明白怎么用 .......

0AE70074-E213-4d42-9A9C-8DDFE273B722.thumb.png.d20c595787221320a2d0efb7fd30fcc3.png

安装完毕后,先不去管他

进入nas如下路径 /appdate/frp/ 会看到一个 frpc.ini 文件,下载下来,用记事本打开

默认应该是空白的, 如果没有该文件,请直接电脑新建一个记事本,命名为frpc.ini

黏贴如下配置: 中文和#号都可以删掉 以免出幺蛾子 我先演示http访问

 

[普通]
# 服务器IP server_addr = 你的腾讯云IP
或域名令牌
= 步骤1中设置的token
# 端口server_port = 步骤1中设置的端口
教程中是7000

 

#名字,自定义 以下字段可自行重复添加 不同设备之间记得加空行 我填写unraid
[unraid]
# 类型类型
= tcp
# 局域网内设备IP
local_ip = 你的unraid ip
# 局域网内设备端口local_port = unraid默认http端口为80 https端口为443 根据自己实际情况填写 我先写80演示http访问
# 服务器端口* 可以自定义 但是设置完记得去腾讯云里打开对应端口 在防火墙里面添加一个对应的端口
就行 这里以80为例
remote_port = 80

 

#下面的全部复制再黏贴就可以重复添加了 每台设备的配置之间记得加空行

[三十]
类型 = TCP
local_ip = 你的 unraid IP
local_port = XXX remote_port = XXX

 

 

保存 覆盖掉 /appdate/frp/下的frpc.ini文件 没有就直接上传进去

回到码头工人里面重启玻璃钢

然后右键选择日志 如果出现以下字样 则代表成功开启内外穿透

 

2022/10/29 08:18:45 [I] [control.go:177] [2d749c86ab84ad2e] [取消raid] 启动代理成功
 

这个时候 打开浏览器 地址栏输入 http:// 你的腾讯云服务器IP 或 http:// 域名 即可成功访问unraid管理页面 因为80端口为http默认端口 默认是隐藏的,所以不用输入 假如你设置的是其他端口 请输入 http:// 你的腾讯云服务器ip:端口 或 http:// 域名:端口

 

上述字段解释我用大白话给大家说明一下

local_ip 这个基本是固定的 就是你的unraid ip

local_port 你希望http访问unraid就写80 https就写443 但是https需要设置证书 后边详说 如果需要访问其他容器 请填写docker上对应的端口  就是你打开docker容器地址栏显示的ip最后边的那个端口

remote_port 这个是服务器对应的端口 80 443 都是默认打开的 你不希望用这个就自己选一个数字 但是一定要再防火墙里把这个对应的端口添加进去,否则会出现访问错误

大家可以根据自己需求填写

 

以上就是http访问的配置了 如果需要远程访问容器 请自行添加相应配置.

 

步骤4

https访问 需要域名

首先请去腾讯云 - 域名注册 - 申请SSL证书 也可以直接搜索 ssl

lQLPJxbSsn_7JL7NA3bNAliwMKXY8McGAW4DWkXQNcCRAA_600_886.thumb.png.d2b5e699c07a46a16e9d61bde014fedc.png

 

没有证书会提示申请免费证书 按照提示来 申请完毕后 在腾讯云 - SSL 证书 - 已签发- 域名最右侧 选择下载 nginx 格式证书

 

图片.thumb.png.03f739198b80c5c7aa83fa6da48747cb.png

 

解压得到的文件夹内 会有一个.crt和.key文件

然后参考教程 [email protected] 大佬的 unraid 开启https和添加自己域名证书 - RSG-人生观 (lxg2016.com) 教程 自行替换默认证书 默认证书记得备份一下

 

注意 替换证书会导致 My Servers 出现错误 具体提示为 : 服务未开启成功直到你添加unraid ssl 证书 英文的 如果压根没安装My Servers 请无视

 

替换完默认证书后 先别急着重启 我是unraid系统: 6.11.1 去 设置-管理权限 下拉 点击 预配 按钮 等待一会即可看到自己的证书信息

然后重启设备,重启后,之前默认的 http:// 例192.168.3.1会无法访问 你的unraid访问地址会变成 https:// 例192.168.3.1 地址栏https上会有一个横杠表示当前证书无效 不用管它

 

来到 /appdate/frp/ 目录下修改 frpc.ini文件

 

添加如下字样

[三十]
类型 = TCP
local_ip = 你的 unraid IP
local_port = 443 这个是 unraid默认的https访问端口 请勿修改
remote_port = 443可自行设置 记得去腾讯云-防火墙添加对应端口 这里演示用443

 

之前我示例添加的http访问的配置可以删掉了 不删也行 日志里会出现连接错误 不影响

保存 重启FRP

不放心可以去FRP日志查看 有 success 字样即表示启动成功 没成功请重新修改frpc.ini文件 删掉中文

接着在浏览器地址栏输入 https:// 你的域名:443 443为默认端口 可以不输入 其他端口需要手动填写

即可通过https访问了 如图 我用的域名 :

lQLPJxbStPAKp4NazQE0sAawn3dQbMCMA1pJzjQANgA_308_90.png.863d0ec7046fc29e57895a03ba7a74de.png

 

地址前有把小锁就可以啦

但是一定要记得  玩玩的话无所谓 长期使用的话 国内申请的域名一定要在页面下方添加备案信息 鉴于unraid登陆页面我还没找到不需要脑子就可以修改的方法  后续我会再出一个帖子教大家如果搭建自己的导航页并通过https+域名访问实现曲线救国添加备案信息 这里https就是演示一下

 

其实frpi也是可以通过配置https2http 添加证书的方式实现https 不需要替换本地证书 ,但是我测试没成功过 这里如果有大佬知道,还请指点一下, 除了frp之外也有其他方式实现内网穿透, 但是因为小弟只会这一个方法, 就以此为例, 还请大佬轻点.

 

自此教程结束

不过常使用并没有用https方式访问 , 我自己只是配置了一个http访问做备用访问, frp用作实现内网穿透满足其他配置需要;日常外网主要使用ddnsto, 图它便宜, 也不需要脑子, 之所以加上https主要还是想抛砖引玉, 现学现卖, 以上如有不对还请各位指出.

 

拜拜 下帖再见

Edited by Licen
链接没贴上 尴尬
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...