方案一:frp

frp下载地址:https://github.com/fatedier/frp/releases/download/

  • 服务器端安装frps,开放端口7000,配置用户名、密码和密钥

# frps.toml
[common]
# 监听端口
bindAddr = "0.0.0.0"
bindPort = 7000
# 面板端口
webServer.addr = "0.0.0.0"
webServer.port = 7500
# 登录面板账号设置
dashboard_user = admin
# 登录面板的密码
dashboard_pwd = 123456
# 令牌
auth.method = "token"
auth.token = "token123456"       
  • NAS配置Frpc

# frpc.toml
[common]
server_addr = "111.111.111.111"  #你的公网服务器IP
server_port = 7000

#不能删除, 否则连接不上会闪退
loginFailExit=false
# 令牌
auth.method = "token"
auth.token = "token123456"

[[proxies]]
name = "fnOS"   #客户名1,自定义
type = "tcp"               #服务器转发,客户端无需安装frp
localIP = "192.168.5.15"   #nas本地地址
localPort = 5666           #nas本地服务端口
remotePort = 5666

[[proxies]]     
name = "fn-webdav"  #客户名2,自定义
type = "tcp"
localIP = "192.168.5.15"   #nas本地地址
localPort = 5005           #nas本地服务端口
remotePort = 5005


[[proxies]]     
name = "fn-xtcp"
type = "xtcp"                #实现P2P连接,客户端需要安装frp
localIP = "192.168.5.15"     #nas本地服务端口
localPort = 5666             
secretKey = "mysecret"        #密钥 
  • WINDOWS端下载frp客户端,注意因为有exe文件防火墙可能会报错隔离直接允许放行就行

  • 修改frpc.toml,服务名称和密钥要跟NAS一致

serverAddr = "111.111.111.111"  #你的公网服务器IP
serverPort = 7000
auth.method = "token"
auth.token = "token123456"

[[visitors]]
name = "fn-visitor"
type = "xtcp"
serverName = "fn-xtcp"        #要和nas里的名称一致
secretKey = "mysecret"        #密钥,与NAS端相同
bindAddr  = "127.0.0.1"       #本机回送地址,localhost
bindPort = 8080   
回送地址可用127.0.0.1或者0.0.0.0;
127.0.0.1 (默认):只有本机上的程序(如你的浏览器)可以访问。最安全。
0.0.0.0 :监听所有网络接口,允许同一局域网内的其他设备(如手机、平板、另一台电脑)通过你Windows电脑的IP来访问NAS。
用法示例:如果你的Windows电脑内网IP是 192.168.5.20,那么同一局域网的设备访问 http://192.168.5.20:8080,就能通过你这台电脑的FRP隧道连接到你的NAS。
安全提示:选择 0.0.0.0 会使服务在局域网上暴露,请确保你的局域网环境可信。
端口可随便改,改成

命令行窗口cd到frp文件夹,运行frpc.exe -c frpc.toml

这时候浏览器访问:http://127.0.0.1:8080 就可以实现P2P连接nas,注意不要关闭命令行

简化命令行操作:在frp文件夹新建start_client.bat文件,点击就可以开启客户端

frpc.exe -c frpc.toml

方案二:WireGuard VPN直连

待补充