猴子都能看懂的NAS内网穿透设置教程V20

发布时间: 2024-03-03 10:09:02 |   作者: bb平台体育下载

  大家好,熟悉我文章的应该都知道我喜欢推荐NAS。但是玩NAS,除了白群白威联通这些自带远程访问服务的产品外,想在外面访问自己的NAS,是一件挺麻烦的事情。而且即便用这些厂商提供的远程服务,不管是速度还是延迟都很高,毕竟服务器在国外。如果你是黑裙,unraid这类的话,那连这种高延迟的访问服务都没办法享受。所以到底怎么在外访问自家NAS呢 ?

  想要在外面访问自家NAS,在没有QC或者my qnap这类厂商提供的服务情况下,有两种情况。第一种,自己的宽带有公网IP,那可以直接转发端口出去。这么干好处是能跑满你家上传,但是现在各地查PCDN和个人宽带架设web服务很严格,这么干一是不合法,二很容易导致运营商停你宽带,我已经被联通警告过然后写保证书了,所以最好别这么干。

  第二条路就是走内网穿透了,不管你有没有公网IP,这样的解决方法都适合,比如我就有公网IP,但是运营商查得严的情况下,我只能走这条路,缺点在于速度受到你架设的转发服务器的带宽限制。大概三四年前我出过一期内网穿透教程,但是出的太早,现在早已不再适用了。所以这次来教大家,怎么去做内网穿透。

  当然,这里说个前提,你内网穿透,架设NAS的web服务,也不是直接就能架的。需要完成ICP备案才能正常访问,否则你即便架设好了,也是下图中这个结果。不过这样的一种情况仅限于你绑定域名的情况下,不绑定域名的话,直接输入IP地址和你转发出去的端口号,是可以直接访问的。如果想要备案,阿里云和腾讯云都提供了备案服务,但是具体备案时间需要多久不确定,一般一个月到半年,中间可能会因为资料问题重审。

  好了,说了这么多,那现在让我们步入正题。内网穿透的第一个要求,就是你需要有一个转发用的服务器。目前腾讯云阿里云这些国内一线云服务厂商都在促销,延迟比小云服务厂商好很多,也都有100以内包年的机型。比如阿里云的99元是2核心CPU+2G内存+40GB SSD+3M内存。但是目前看下来,性价比不是很高。性价比最高的是腾讯云的,同配置只要88元一年,每月200G流量。

  当然,88一年的仅限新用户购买,而且3M带宽说实话有点小了。这里个人推荐购买118一年的版本,带宽升级为4M,流量多了100G,也是我在用的服务器。而且这个版本不限制新老用户,没买过都能买。一年118元,三年价格是540元,有长期需求的可以直接从三年走起,不然一年期续费价格是很贵的。

  买完云服务,然后就是买域名了。当然,在ICP备案没有完成之前,你想通过域名访问是不现实的。如果你是阿里云服务器,那直接在阿里云买域名是最好的,腾讯云同理。在腾讯云首页搜索框输入域名,选择域名注册即可注册,实名认证那些记得都做了。

  输入你想要的域名点搜索,选一个便宜的注册了就行。目前.online和.site的注册和续费都很便宜,推荐用这个就行。

  备案我就不教了,腾讯云和阿里云官方教程很详细。买云服务器的时候,记得选好云服务器的位置,南方人选南京或者广州,北方人选北京即可。系统选择centos7.6,有挂docker需求的可以再一次进行选择带docker的版本。但是你都有NAS了,还用在云服务器上挂docker吗?买完服务器右上角点击控制台,点击左上角云产品,选择轻量服务器,进入网页端大后台。点击自己购买的那台服务器,重置密码。

  这个密码是你的SSH密码,并且不可以太简单,大小写数字+符号都要有,选择离线重置最好。因为你买的时候是随机生成密码,还是改个好记的吧。

  接下来就是SSH进服务器后台了。SSH工具推荐MobaXterm,官网地址:,点download,下载free版本即可。MobaXterm的优点是体积小,带文件服务和文本编辑器,能省事不少。

  下载后打开MobaXterm,点击Session,进而选择SSH,host处输入你刚才的服务器公网IP,云服务器后台能看到。点击OK。

  双击你刚刚建立好的连接,第一次会让你接收密钥,点Accept即可。用户名为root,密码输入你刚刚设置的root密码。输入密码的时候不会有显示是正常现象,继续输入,输入完成回车即可。

  进入后先安装systemd,后面会用到。Centos的命令是yum install systemd。然后回车,中间会让你确认一次,输入y回车即可。

  安装完systemd,就需要去架设frps服务了。s就是server的意思,服务端用。客户端用的是frpc,即client。项目地址,下载最新版。centos下载amd64版本即可。

  下载到本地,上传至etc文件夹下。默认连上之后打开的是root文件夹,需要点顶部的两个点回到上一层再双击etc。上传方法很简单,把你下载的文件拖到文件框里面就行。

  输入命令cd ..回到底层,看到centos后面的“~”变成“/”就说明回到底层了,再输入cd etc进入etc文件夹。

  解压完成后刷新左侧的文件管理器,找到frp_0.53.0_linux_amd64文件夹,F2重命名为frp文件夹。

  网上你能找到的大部分教程都是用,但是后续frp不会再支持ini文件,所以建议用toml文件。写法是不一样的,具体写法如下

  按以上写法,我选出我需要的选项之后,就是如下所示。里面包含了客户端所需要的端口,http和https代理端口,tcp多路复用,以及验证方式和验证密码。输入完成后保存即可,文本编辑器点击保存按钮即可,而vi命令行则是按ESC退出编辑状态,再输入:wq回车保存。

  到这里frps客户端就配置好了,接下来就是如何启动的问题。有两种启动方式,第一种是在当前文件夹下输入./frp -c ./frps.toml,这样启动。但是我们是要长时间运行的,这样不方便维护,这就需要前面安装的systemd。不用退回底层文件夹,直接在命令行中输入sudo vim /etc/systemd/system/frps.service,新建一个frps服务的文件。

  如果是按照我的教程来的,文件夹路径也一样,那就按INS进入编辑状态,直接粘贴

  比如在启动状态下我想查看frps服务状态,就输入sudo systemctl status frps,启动后看到active(running)就说明启动成功了。后面的enable是开启开机启动后会显示。

  这样frps服务器就架设好了,然后就是去腾讯云的防火墙把你刚刚设置的几个端口都放开。回到刚刚设置root密码的网页,选择防火墙。

  添加规则,协议类型选择TCP,端口输入你刚刚在配置文件中设置的端口。一个端口添加一次。比如你放开了14514端口,那就像下图这样输入,来源不用填,备注自己定。一定都要添加上,避免访问失败的问题。阿里云的话,是在安全选项卡里面编辑。

  配置完服务端,接下来就是客户端的配置了。因为不走公网IP,所以无需在路由器上配置,直接在对应设备上配置即可。比如你要转发NAS,那就直接去NAS上配置客户端。这里以qnap的NAS为例,告诉你怎么配置。至于群晖,不好意思,我手上已经没群晖了,自己上网搜吧。或者根据我下面的教程看看qnap的docker怎么配置。

  首先进入qnap的网页后台,找到Container Station,即docker管理器。没有的话去app center里面安装,这个不用我教吧。打开容器选项卡,点击创建。

  由于我们用的是toml文件,所以不能用它默认的命令,第一项命令选项卡,点击覆盖,输入/bin/sh -c /frp/frpc -c /frp/frpc.toml,取代原有的命令。

  然后打到存储选项卡,映射/frp在你NAS中的位置。所有qnap的共享文件夹都在/share下,所以前面要加上/share,比如frp文件夹我放在了Container文件夹下,那卷就填写/share/Container/frp,然后点击应用即可。

  用win11的记事本打开frpc.toml,编辑frpc文件,编写规则如下。

  这里要注意的是,转发的端口可以是多个,重复写[[proxies]]规则即可,一个端口一个规则,回车空一行分隔开即可,每个规则开头都要有[[proxies]]。比如我的写完之后就是这样的。serverAddr可以是frps服务器的IP地址,做了域名映射的话可以填写域名。填写完成后保存frpc.toml文件即可。

  然后我们就能完成容器的创建了。创建后容器会自动运行。这里要注意把你[[proxies]]中转发的端口添加到腾讯云服务器的防火墙规则里面。比如你把qnap的https登录的5001端口转为了1234,写法就是

  去腾讯云的防火墙里面把1234端口添加进规则即可。容器启动后可以在容器下面的日志查看当前连接的状态。

  这时候你就可以用服务器的公网IP+你转发的端口来访问路由器的后台了。假设你的公网IP是123.123.123.123,转发的qnap网页后台https登录端口是1234,那就输入来访问qnap的网页后台。这时候你可以在任意地方访问,不局限在你家的局域网里面。当然,如果你做了域名映射,可以把123.123.123.123换成你的域名。想使用域名访问除了要做映射以外,记得也要做好ICP备案才能正常访问。

  不过要注意,威联通的手机app比较 弱智 ,群晖你转发成任意端口都没问题,手机app都能访问,因为能指定端口号。而威联通的手机app不能指定端口号,只有当转发的端口和默认https端口一致的时候才能用手机app访问,也就是转发的端口也是5001才行。

  域名映射的办法很简单,以腾讯云为例,在腾讯云控制台输入域名,找到云解析DNS,进入域名解析页面。

  主机记录这里填写规则为,假设你的域名是yuanshen.online,你想直接访问yuanshen.online,那就填@,想访问,那就填,那就填abc,以此类推。记录值就是你购买的服务器IP,腾讯云可以直接选你当前购买的产品,很方便。权重不用填,点击确认即可。

  最后是SSL证书问题。因我们是为了安全才用https访问,所以SSL证书是必须的。群晖和威联通都可以强制http访问跳转到https,以威联通为例。点击控制台,常规设置,把强制使用安全连接打上勾,应用即可,群晖的方法也类似,两家默认端口号都是5001。

  设置完之后,去腾讯云或者阿里云申请你的域名相关的证书。这一步只有用域名访问的才需要,因为你用IP访问的话,证书是对不上的,可以备案通过之后再申请也来得及,一般几分钟就能发放。控制台搜索SSL,找到SSL证书-我的证书。

  选择申请免费证书,弹出的提示框再选一次。每个账号能申请最多50个免费证书,每张证书的有效期为1年。

  输入你想绑定证书的域名,比如前面我们申请的yuanshen.online,那就直接输入yuanshen.online,DNS验证选自动,勾上自动删除验证即可。邮箱填自己的就行,然后提交申请即可。

  一般20分钟左右就能发放证书。发放后点击下载 ,群晖和威联通都是用Nginx的格式,下这个就行。

  威联通网页后台点击控制台,安全选项卡,打开SSL证书和密钥,点击取代当前证书。

  选择导入证书,出现的界面中,第一个上传.crt,第二个上传.key,第三个不用管,点击应用即可。应用后会自动重启网页后台应用证书。

  好了,教程到这里大致就结束了,很久没写这么详细的教程了,写的头皮发麻,希望能帮到对此有需求的各位。群晖和unraid我都没有,所以这里就不写了,不过大致也都差不多。而且玩unraid的人应该比我更精通这么多东西,上手门槛在哪。

  这么干的好处显而易见,在外面也能访问自己家里的文件,就算是黑群晖也能享受这本该是白群才有的服务。代价就是一台年费不低的云服务器,不过我觉得值得,毕竟方便是多少钱都买不来的