大家好,今天写一篇关于实现内网穿透的教程,我自己也是小白, 文中的所有教程都是我网上学习和自己研究明白的, 文中会出现大量小白话术,比较啰嗦。
本次教程因涉及到域名备案,国内相对麻烦,但也只是花费较多时间等待备案通过,不算折腾,要有耐心。
本教程会涉及到花钱,不愿意花钱的话看看就好,我会把我自己的网络环境及相应设置注明,以便大家参考。
选用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是放证书的路径 没研究明白怎么用 .......
安装完毕后,先不去管他
进入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
没有证书会提示申请免费证书 按照提示来 申请完毕后 在腾讯云 - SSL 证书 - 已签发- 域名最右侧 选择下载 nginx 格式证书
解压得到的文件夹内 会有一个.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访问了 如图 我用的域名 :
地址前有把小锁就可以啦
但是一定要记得 玩玩的话无所谓 长期使用的话 国内申请的域名一定要在页面下方添加备案信息 鉴于unraid登陆页面我还没找到不需要脑子就可以修改的方法 后续我会再出一个帖子教大家如果搭建自己的导航页并通过https+域名访问实现曲线救国添加备案信息 这里https就是演示一下
其实frpi也是可以通过配置https2http 添加证书的方式实现https 不需要替换本地证书 ,但是我测试没成功过 这里如果有大佬知道,还请指点一下, 除了frp之外也有其他方式实现内网穿透, 但是因为小弟只会这一个方法, 就以此为例, 还请大佬轻点.
自此教程结束
不过常使用并没有用https方式访问 , 我自己只是配置了一个http访问做备用访问, frp用作实现内网穿透满足其他配置需要;日常外网主要使用ddnsto, 图它便宜, 也不需要脑子, 之所以加上https主要还是想抛砖引玉, 现学现卖, 以上如有不对还请各位指出.
拜拜 下帖再见