NAS本地部署

NAS本地部署

NAS部署分为两步,首先在局域网内建立本地网盘,然后通过内网穿透把端口上传到公网上。

1.本地nas部署

本地nas部署提供三种方式:
everything:支持查看文件、搜索文件、下载文件
nascabkodbox:支持下载文件和管理文件

1.1部署everything

点击工具-选项,点击HTTP服务器,填入以下参数:

  • 服务器端口:2580
  • 用户名:zgfnye
  • 密码:password

然后在浏览器打开以下网址就可以访问本地网盘:

1
http://localhost:2580 

看到心仪的文件可以把文件的链接保存下来,方便下次访问,例如:http://localhost:2580/D%3A/Dtest.txt

但是打开链接依旧需要输入用户名和密码才能够访问文件。为了避免这一点,需要在链接前面添加用户名密码http://zgfnye:password@localhost:2580/D%3A/Dtest.txt

提示:搜不到外接硬盘的文件可以在Everything设置中手动添加文件夹

1.2部署nascab

下载安装nascab,默认端口80,在浏览器输入:

1
localhost:2580

或者:

1
127.0.0.1:2580 

然后就可以看到本地nas的管理界面

1.3部署kodbox

1.3.1下载可道云文件

直接从官网下载,这个文件是开源的,因此也不需要破解直接的东西。下载链接:https://static.kodcloud.com/update/download/kodbox.1.48.zip

下载完成后解压备用。

1.3.2下载phpStudy

运行网站我们需要额外的组件,这里推荐phpStudy,下载连接:https://public.xp.cn/upgrades/phpStudy_64.zip

解压后进行安装。

1.3.3搭建网站

说是搭建,其实也很简单,我们把kodbox.1.48.zip解压后文件夹里面的所有文件放到X:\安装路径\WWW 这个目录下。

然后运行phpStudy,启动nginx服务和MySQL服务。然后在网站这边点击创建网站


2.内网穿透

2.1 下载 frp

建议服务端和客户端使用相同版本号,避免协议不兼容。

2.2配置 VPS 服务端(frps)

上传 frps 到 VPS:

1
2
# 从本地上传到 VPS(在本地电脑执行)
scp /path/to/frps root@你的VPS公网IP:~

SSH 登录 VPS:

1
ssh root@你的VPS公网IP

创建 frps.toml

1
2
3
4
5
6
7
cat > /root/frps.toml << 'EOF'
bindPort = 7777
vhostHTTPPort = 8080

auth.method = "token"
auth.token = "你的安全token" # 改成复杂字符串
EOF

提示:你的安全token记得改成复杂字符串,比如fedgvbjek

参数说明:

参数 作用
bindPort 客户端连接端口,需在防火墙放行
vhostHTTPPort Web 访问端口,需在防火墙放行
auth.token 客户端连接验证,必须一致

启动 frps:

1
2
3
cd /root
chmod +x frps
nohup ./frps -c frps.toml > frps.log 2>&1 &

验证启动成功:

1
netstat -tlnp | grep frps

预期输出:

1
2
tcp6  0  0 :::7777   :::*   LISTEN   12345/frps
tcp6 0 0 :::8080 :::* LISTEN 12345/frps

在 VPS 控制台(安全组)放行以下端口:

端口 协议 用途
7777 TCP frp 客户端连接
8080 TCP Web 访问入口

2.3配置 Windows 客户端(frpc)

解压 frp:
frp_0.68.1_windows_amd64.zip 解压到 D:\frp_0.68.1_windows_amd64(路径不要有中文和空格)

在解压目录下创建 frpc.toml

1
2
3
4
5
6
7
8
9
10
11
12
serverAddr = 你的VPS公网IP
serverPort = 7777

auth.method = "token"
auth.token = "你的安全token" # 与 VPS 配置一致

[[proxies]]
name = "everything"
type = "http"
localIP = "127.0.0.1"
localPort = 80 # Everything HTTP 端口
customDomains = 你的VPS公网IP # 没有域名就用 IP

打开命令提示符(cmd),启动 frpc:

1
2
cd /d D:\frp_0.68.1_windows_amd64
frpc.exe -c frpc.toml

看到以下输出表示成功:

1
2
[I] [client/service.go:370] login to server success
[I] [client/control.go:176] [everything] start proxy success

在任何设备(手机、另一台电脑)的浏览器中访问:

1
http://你的VPS公网IP:8080

输入 Everything 的用户名和密码(不是 frp token),即可看到文件搜索界面。

提示:为防止杀毒软件干扰,按win键输入defender并打开杀毒软件。点击Virus & threat protection,找到Virus & threat protection settings项,点击manage settings。在新的页面找到Exclusions项,点击Add or remove exclusions。在新的页面,点击Add an exclusion,选择frpc.exe程序


2.4开机自启设置(可选)

2.4.1Windows 客户端开机自启:

方法一:启动文件夹

  1. 在 frp 目录创建 start_frpc.bat,内容:
    1
    frpc.exe -c frpc.toml
  2. Win + R,输入 shell:startup,回车
  3. start_frpc.bat 的快捷方式拖入该文件夹

方法二:注册为 Windows 服务(推荐)

前往nssm官网下载软件:https://nssm.cc/download

然后将nssm软件压缩包解压到合适的位置

以管理员模式身份运行cmd,输入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cd /d D:\nssm\win64

# 安装 frpc 服务
nssm install frpc "D:\frp_0.68.1_windows_amd64\frpc.exe" -c "D:\frp_0.68.1_windows_amd64\frpc.toml"

# 设置服务描述
nssm set frpc Description "frp client for Everything tunnel"

# 设置开机自启
nssm set frpc Start SERVICE_AUTO_START

# 启动服务
nssm start frpc

# 服务状态
nssm status frpc

pause

# 删除服务
# nssm remove frpc confirm

提示:先把上述命令复制到记事本,然后统一修改以下文件路径

  • D:\nssm\win64nssm.exe所在文件夹的路径
  • "D:\frp_0.68.1_windows_amd64\frpc.exe"frpc.exe的文件地址
  • "D:\frp_0.68.1_windows_amd64\frpc.toml"frpc.toml的文件地址

2.4.2VPS 服务端开机自启:

创建 systemd 服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cat > /etc/systemd/system/frps.service << 'EOF'
[Unit]
Description=frps
After=network.target

[Service]
Type=simple
WorkingDirectory=/root
ExecStart=/root/frps -c /root/frps.toml
Restart=always

[Install]
WantedBy=multi-user.target
EOF

systemctl enable frps
systemctl start frps

2.5tailscale实现内网穿透

如果没有vps,可以退而求其次,选择免费软件tailscale实现:

  • 下载安装tailscale并注册账号,然后tailscale的服务器会给你每一个登录账号的设备赋予一个局域网IP

  • 例如:手机的ip是100.0.0.1,电脑的ip是100.0.0.2,现在可以把两个设备视作处于同一局域网了

  • 在手机上的浏览器输入100.0.0.2:80就可以访问电脑上的nas服务了