From c33afabee2c1c9fd592110397f10fcc0ff3d560c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E4=BA=9A=E6=A5=A0?= <1206054578@qq.com>
Date: Mon, 26 Feb 2024 13:48:51 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E7=AB=A0=E5=A4=96?=
=?UTF-8?q?=E7=BD=91=E8=AE=BF=E9=97=AENAS?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/vcs.xml | 6 +
source/_posts/nasbase/img.png | Bin 10941 -> 0 bytes
source/_posts/nasbase/外网访问NAS.md | 313 ++++++++++++++++++++++-
3 files changed, 316 insertions(+), 3 deletions(-)
create mode 100644 .idea/vcs.xml
delete mode 100644 source/_posts/nasbase/img.png
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/_posts/nasbase/img.png b/source/_posts/nasbase/img.png
deleted file mode 100644
index 0b52ea2bb4f71c1c832353f45692b43a5e3a3ffe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 10941
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
diff --git a/source/_posts/nasbase/外网访问NAS.md b/source/_posts/nasbase/外网访问NAS.md
index defd23c..971272e 100644
--- a/source/_posts/nasbase/外网访问NAS.md
+++ b/source/_posts/nasbase/外网访问NAS.md
@@ -1,11 +1,318 @@
---
title: 外网访问NAS
tags:
- - 网络
- - NAS技术
+- 网络
+- NAS技术
categories: NAS基础
abbrlink: 4218199689
-date: 2023-08-22 11:02:22
+date: 2024-02-22 11:02:22
keywords:
description:
---
+> 很多朋友买回NAS后很关心的一个问题就是如何在外网访问。这里我把自己认为比较好的方法罗列出来并一一实现,我们可以根据自己的实际情况选择使用。
+
+> 注:在此不考虑quickconnect这种nas自带服务的方式。
+
+# 外网访问方法汇总
+
+如图,汇总了我目前认为在外网访问家中NAS比较好用的方法,首推的方法当然还是开通公网IP。
+
+开通公网IP之后启用DDNS,然后我们就可以直接使用路由器端口映射到NAS,或者使用Traefik、npm代理都可以。
+
+如果实在无法开通公网IP的话,也可以使用frp进行内网穿透,内网穿透需要有一个拥有公网IP的服务器做一个跳板,有个人服务器的话最好,没有的话,可以使用第三方的免费frp服务。
+
+下面我对这些方法逐个进行介绍。
+
+
+
+# 可以开通公网IP
+
+首先介绍有公网IP的情况,有公网IP的话,需要配置下DDNS,我在之前[NAS使用DDNS](https://www.dreamlyn.cn/28082.html)那篇文章有过相关的介绍,不清楚怎么配置DDNS的可以去参考下。
+
+我在这里假设我们的DDNS域名是*.deamlyn.cn,也就是dreamlyn.cn的所有子域名都指向家中的网络。
+
+## 路由器端口映射到NAS
+配置好DDNS后,外网访问NAS的最简单的办法就是直接使用路由器端口映射到NAS。
+
+我以我家的小米路由器为例进行介绍,在路由器界面点击高级设置,然后选择端口转发,在里面添加一条规则,其中名字随便写,这里输入NAS,协议选TCP,端口输入5000,内部IP地址就输入NAS的IP地址,我家的是192.168.31.206,内部端口输入5000,点击添加就可以了。
+
+
+
+之后我们就可以使用home.dreamlyn.cn:5000访问NAS 了。
+
+这种方法固然简单,但是如果在NAS上面安装了很多的服务,每个服务都有不同的端口号,那么我们很容易记错不同服务的端口,所以比较好的方式是使用反向代理,我们只用路由器对traefik或者npm等反向代理服务进行端口映射,而对其他服务则使用traefik等进行反向代理即可。
+
+这样的话,对于不同的服务,我们可以使用不同的子域名进行访问。比如访问nas,就使用nas.dreamlyn.cn,访问portainer,就使用portainer.dreamlyn.cn.
+
+## 路由器端口映射Traefik
+traefik的安装我在[NAS中安装Traefik](https://www.dreamlyn.cn/2636364671.html)这篇文章进行了详细的介绍,这里就不再赘述,我们接着它直接介绍具体使用方式。在nas中的容器相关目录下,找到traefik/conf.d,在里面添加文件nas.yml文件。
+
+
+
+文件内容如下:
+
+```
+http:
+ services:
+ nas:
+ loadBalancer:
+ servers:
+ - url: "http://192.168.31.206:5000"
+ routers:
+ nas:
+ entrypoints: web
+ service: nas
+ rule: Host(`nas.dreamlyn.cn`)
+```
+
+这段代码中services下面的nas表示这个服务名为nas,下面的url表示反向代理的地址。
+
+routers下面的nas表示有个名为nas的路由,入口点为web,也就是80端口,路由对应的服务为nas,规则是nas.dreamlyn.cn,这样我们使用nas.dreamlyn.cn访问时,就可以了。
+
+这里我们顺便看一眼,我在路由器中端口映射的时候 ,使用外网的880映射到了,traefik的80端口。
+
+然后我们不需要重启traefik,就可以用nas.dreamlyn.cn:880来访问nas了。
+
+## 路由器端口映射npm
+npm是nginx proxy manager的简称,如果在nas里的服务很少用docker安装的话,也推荐使用。这里我介绍下具体的安装和使用方法。
+
+在nas上合适的位置创建目录,并创建如下文件。
+
+
+
+其中docker-compose文件如下:
+```
+version: '3'
+services:
+ app:
+ image: 'jc21/nginx-proxy-manager:latest'
+ restart: unless-stopped
+ ports:
+ - '680:80'
+ - '681:81'
+ - '6443:443'
+ volumes:
+ - ./data:/data # 把数据存放在在当前文件夹下的 data 文件夹中
+ - ./letsencrypt:/etc/letsencrypt
+networks:
+ default:
+ external:
+ name: docker_default
+```
+
+这里介绍下npm的几个端口,80和443分别为npm接收的http和https请求,我们将他们映射到NAS的680和6443端口。
+
+81为npm的可视化界面,映射为681端口。
+
+然后在npm目录下执行如下命令:
+```
+# 创建docker网络,如果已经有docker_default网络,则不需要。
+docker network create -d bridge --attachable=true docker_default
+# 启动npm
+docker-compose up -d
+# 查看启动日志
+docker-compose logs -f
+```
+启动没有问题的话,就可以通过192.168.31.206:681来进入npm的管理界面。
+
+登陆的初始账号密码是admin@example.com和changeme。
+
+我们输入正确的账号密码登录。
+
+首次登陆会提示我们修改账号密码,我们根据自己的情况修改下。
+
+之后点击proxy hosts –> Add Proxy Host。
+
+
+
+
+其中domain names填写访问的域名,这里输入nas.dreamlyn.cn;Scheme 输入http;Forward Hostname / IP 输入192.168.31.206;Forward Port 输入 5000。
+
+点击 save就可以了.
+
+
+
+下面我们还需要在路由器中为npm开通端口映射。
+
+我以我家小米路由器为例进行介绍,打开路由器管理界面,找到端口转发,点击添加规则
+
+名称这里我填npm;协议选择TCP;外部端口填680;内部IP地址填192.168.31.206,也就是npm所在NAS主机的IP地址;内部端口填写npm的680端口;点击添加。
+
+然后我们就可以通过nas.dreamlyn.cn:680来访问nas了。
+
+
+
+# 无法开通公网IP
+
+在某些特殊情况下,我们无法开通公网IP,这时我们就需要使用一些折中的办法来访问家中的NAS了,下面分别介绍使用个人CentOS服务器和使用免费frp服务两种方式来实现。
+
+## 在Centos上搭建frp服务
+当我们有一台暴漏公网IP的Centos服务器时,可以在服务器端安装frps服务。
+
+### 下载frp并解压
+
+到GitHub查看最新版本:https://github.com/fatedier/frp/releases
+
+如果访问不了github,我在这儿也给出0.45.0版[下载地址](https://template-mine.oss-cn-beijing.aliyuncs.com/NAS%E4%B8%8B%E8%BD%BD/%E5%8D%9A%E5%AE%A2/frp_0.45.0_linux_amd64.tar.gz)。
+
+操作命令如下:
+```
+# 下载frp可执行包
+wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
+# git无法访问的话,用下面的地址
+wget https://template-mine.oss-cn-beijing.aliyuncs.com/NAS%E4%B8%8B%E8%BD%BD/%E5%8D%9A%E5%AE%A2/frp_0.45.0_linux_amd64.tar.gz
+# 解压
+tar zxf frp_0.45.0_linux_amd64.tar.gz
+```
+### 配置frps
+```
+[common]
+# fpr客户端和frp服务器通信的地址
+bind_port = 7000
+# 默认http和https监听端口
+vhost_http_port = 80
+vhost_https_port = 443
+# 针对不同的服务使用[]隔开,服务名自己可以随便定,跟客户端能对应上就行。
+[nas_http]
+type = http
+custom_domains = nas.dreamlyn.cn
+auth_token = 123456
+# 如果没有域名的话,用下面这个可以直接使用ip:5000来访问nas
+[nas_tcp]
+listen_port = 5000
+auth_token = 123456
+```
+### 启动frps
+```
+# 启动frps
+./frps -c frps.ini
+```
+### 设置开机自启
+使用vim创建并编辑 /lib/systemd/system/frps.service,设置如下
+
+```
+[Unit]
+Description=Frp Server Service
+After=network.target
+
+[Service]
+Type=simple
+# 假设fpr存放地址为/usr/local/
+ExecStart=/usr/local/frp_0.45.0_linux_amd64/frps -c /usr/local/frp_0.45.0_linux_amd64/frps.ini
+KillSignal=SIGQUIT
+TimeoutStopSec=5
+KillMode=process
+PrivateTmp=true
+StandardOutput=syslog
+StandardError=inherit
+
+[Install]
+WantedBy=multi-user.target
+```
+
+之后就可以使用如下命令控制frp服务
+
+```
+启动服务 systemctl start frps
+开机自启动 systemctl enable frps
+重启服务 systemctl restart frps
+停止服务 systemctl stop frps
+查看日志与状态 systemctl status frps
+```
+## 使用NAS创建frp客户端
+我采用docker-compose的方式安装frp。
+在nas上合适的位置创建目录,并创建如下文件。
+
+
+
+docker-compose.yml文件如下
+```
+---
+version: "3"
+services:
+ natfrp:
+ image: oldiy/frpc
+ container_name: natfrp
+ environment:
+ - PUID=1000
+ - PGID=1000
+ - TZ=Asia/Shanghai
+ volumes:
+ - ./configs:/frp
+ restart: unless-stopped
+networks:
+ default:
+ external:
+ name: docker_default
+```
+
+frpc.ini文件如下
+
+```
+# 对应Centos搭建的frp服务
+[common]
+server_addr = 服务器IP地址
+server_port = 7000
+auth_token = 123456
+
+[nas_http]
+type = http
+local_ip = 192.168.31.206
+local_port = 5000
+custom_domains = nas.dreamlyn.cn
+[nas_tcp]
+local_ip = 192.168.31.206
+local_port = 5000
+remote_port = 5000
+```
+启动docker容器
+```
+cd natfrp
+docker-compose up -d
+docker-compose logs -f
+```
+OK,可以了,我们可以使用nas.dreamlyn.cn或者服务器IP:5000访问家中的NAS了。
+
+## 使用第三方免费frp服务
+当我们没有任何可以暴漏公网IP的服务器时,就需要使用第三方的免费frp服务。
+
+先来说下什么是第三方免费frp服务吧,它的存在使我们可以在没有公网IP服务器、并且运营商早已封杀80和443端口的情况下,爆露出我们的服务,笔者这个博客的搭建也是采用的这种形式。
+
+在此推荐使用[SAKURA FRP](https://www.natfrp.com/),隧道限速10M足够使用,每月有5G的免费流量,签到的话还送流量,基本用不完。
+
+第一步先注册,然后到管理界面点击 服务->隧道列表。
+
+
+
+然后点击创建隧道然后选择节点,这里的隧道可以理解为从公网IP到自己本地服务的一条线路,我们随便选一个,这里我选择成都电信1。
+
+
+
+然后如图设置隧道类型、本地IP,本地端口和绑定域名等,随后点击创建。
+
+
+
+创建成功后,我们把鼠标放在如图所示位置,会出现 cn-cd-dx-1.natfrp.cloud 的域名,我们需要到域名管理后台将 nas.dreamlyn.cn 的cname记录设置为 cn-cd-dx-1.natfrp.cloud。
+
+
+
+如图是我在dnspod的管理端添加cname记录。
+
+
+
+## 第三方frp的客户端配置
+对应frp客户端的安装方式与上文介绍的frp客户端安装方式一模一样,区别在于配置的不同。
+
+我们在SakuraFrp管理端点击配置文件。
+
+
+
+在弹出的对话框中点击复制配置。
+
+
+
+然后如图,打开之前的frpc.ini文件,将内容改为,刚才复制的配置,随后启动容器就可以了。
+
+
+
+然后我们既可以通过nas.dreamlyn.cn来对nas进行访问了。