家庭NAS如何通过内网穿透构建私有网盘

360影视 2025-01-31 01:49 2

摘要:登录 NAS 或路由器,查看是否有公网 IP(在 IP 查询网站 看到的 IP 是否与路由器的 WAN 口 IP 一致)。在路由器上设置端口转发(如 5000/5001 端口用于 Synology DSM,445/139 端口用于 SMB)。在外网直接访问ht

家庭 NAS内网穿透可以让你在外网访问家中的 NAS 设备。以下是几种常见的方法:

1. 使用公网 IP 直连(适用于有公网 IP 的情况)

方法:

登录 NAS 或路由器,查看是否有公网 IP(在 IP 查询网站 看到的 IP 是否与路由器的 WAN 口 IP 一致)。在路由器上设置 端口转发(如 5000/5001 端口用于 Synology DSM,445/139 端口用于 SMB)。在外网直接访问 http://: 即可。

安全建议:

更改默认端口,避免被扫描攻击。开启 HTTPS/SSL 证书 保障传输安全。使用 VPN 代替端口转发(下文介绍)。

2. 使用 DDNS(动态域名解析)+ 端口转发

适用于没有固定公网 IP,但 ISP 分配的是公网 IP 的情况。方法:

在 NAS 或路由器上开启 DDNS(如 Synology 提供 xxx.synology.me,或用 No-IP、DuckDNS)。配置 端口转发(与方法 1 类似)。访问 http://你的DDNS域名:端口 即可。

安全建议:

搭配防火墙限制 IP 访问范围。结合 HTTPS 加密。

3. 使用 FRP(免费开源的内网穿透工具)

适用于没有公网 IP,且不想用 DDNS 或 VPN 的情况。方法:

在云服务器上部署 FRP 服务端。在家庭 NAS 或路由器上运行 FRP 客户端,将本地 NAS 映射到公网。在外网通过 云服务器 IP 或域名 访问 NAS。

参考教程:

FRP 官方文档服务器上运行 frps,客户端运行 frpc,通过 frpc.ini 配置转发规则。

4. 使用 Tailscale/ZeroTier(P2P VPN)

适用于无公网 IP 且不想用 FRP 的情况,适合安全性要求较高的用户。方法:

在 NAS 和外网设备上安装 TailscaleZeroTier。登录同一账户,NAS 会获得一个虚拟 IP。在外网用该虚拟 IP 访问 NAS。

优点:

免端口转发,适用于封闭 NAT 网络。连接加密,安全性高。适合远程访问 SMB、SSH、Web 端等。

5. 购买第三方内网穿透服务

向日葵内网穿透花生壳 等,适合不想折腾 FRP/VPN 的用户。 方法:

注册并绑定 NAS 设备。通过官方提供的外网地址访问 NAS。

优点:

配置简单,适合小白用户。适用于家宽 NAT 限制的情况。

缺点:

可能有限速或收费。依赖第三方服务,安全性取决于提供商。

推荐方案

有公网 IP:使用 DDNS + 端口转发(或 VPN)。无公网 IP(ISP 限制):使用 FRPTailscale/ZeroTier小白用户:使用 花生壳/向日葵 等第三方服务。

我的域名和服务器都是Netcup的,Netcup 提供 VPS(云服务器)和域名服务,如果你想用 Netcup 来实现 NAS 的内网穿透,可以用 FRPWireGuard VPN 进行配置。

方法 1:使用 Netcup VPS + FRP 内网穿透(推荐)

如果你的家庭网络没有公网 IP(或被运营商封锁了端口),可以用 FRP(Fast Reverse Proxy) 在 Netcup VPS 上转发 NAS 的流量。

1. 在 Netcup VPS 上安装 FRP 服务端(frps)

首先,连接到你的 VPS(假设你的 VPS 运行的是 Debian/Ubuntu):

# 下载 FRPwget https://github.com/fatedier/frp/releases/latest/download/frp_0.51.3_linux_amd64.tar.gztar -xzf frp_0.51.3_linux_amd64.tar.gzcd frp_0.51.3_linux_amd64

编辑 frps.ini 配置文件(服务端配置):

[common]bind_port = 7000vhost_http_port = 8080 # 让 VPS 通过 8080 端口转发 NAS 的 Web 界面vhost_https_port = 8443

然后运行 FRP 服务端:

./frps -c frps.ini

2. 在家庭 NAS 上安装 FRP 客户端(frpc)

下载和解压 FRP(与 VPS 版本相同)。 然后编辑 frpc.ini(客户端配置):

[common]server_addr = server_port = 7000[web]type = httplocal_port = 5000 # Synology DSM 默认是 5000 端口custom_domains = mynas.yourdomain.com

然后运行 FRP 客户端:

./frpc -c frpc.ini

这样,你可以在外网通过 http://mynas.yourdomain.com:8080 访问你的 NAS 界面。

3. 使用 systemd 让 FRP 开机自启

在 VPS 上创建 frps.service:

sudo nano /etc/systemd/system/frps.service

内容如下:

[Unit]Description=FRP ServerAfter=network.target[Service]ExecStart=/root/frp_0.51.3_linux_amd64/frps -c /root/frp_0.51.3_linux_amd64/frps.iniRestart=alwaysUser=root[Install]WantedBy=multi-user.target

保存后启用并启动 FRP:

sudo systemctl enable frpssudo systemctl start frps

在 NAS 端同样创建 frpc.service 并启用 frpc,这样 NAS 端也能开机自动运行 FRP。

方法 2:使用 Netcup VPS + WireGuard VPN(更安全)

如果你更注重安全,可以用 WireGuard VPN,让外网设备连接到家里的 NAS,就像它是局域网的一部分。

1. 在 Netcup VPS 上安装 WireGuard

sudo apt update && sudo apt install wireguard -y

编辑 /etc/wireguard/wg0.conf:

[Interface]Address = 10.0.0.1/24ListenPort = 51820PrivateKey = [Peer]PublicKey = AllowedIPs = 10.0.0.2/32

启动 WireGuard:

sudo systemctl enable wg-quick@wg0sudo systemctl start wg-quick@wg0

2. 在 NAS 上配置 WireGuard

[Interface]Address = 10.0.0.2/24PrivateKey = DNS = 8.8.8.8[Peer]PublicKey = Endpoint = :51820AllowedIPs = 10.0.0.0/24PersistentKeepalive = 25

连接后,你可以用 10.0.0.2 访问 NAS,就像它在你本地一样。

总结

来源:横推一万六

相关推荐