摘要:登录 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 和外网设备上安装 Tailscale 或 ZeroTier。登录同一账户,NAS 会获得一个虚拟 IP。在外网用该虚拟 IP 访问 NAS。优点:
免端口转发,适用于封闭 NAT 网络。连接加密,安全性高。适合远程访问 SMB、SSH、Web 端等。5. 购买第三方内网穿透服务
如 向日葵内网穿透、花生壳 等,适合不想折腾 FRP/VPN 的用户。 方法:
注册并绑定 NAS 设备。通过官方提供的外网地址访问 NAS。优点:
配置简单,适合小白用户。适用于家宽 NAT 限制的情况。缺点:
可能有限速或收费。依赖第三方服务,安全性取决于提供商。推荐方案
有公网 IP:使用 DDNS + 端口转发(或 VPN)。无公网 IP(ISP 限制):使用 FRP 或 Tailscale/ZeroTier。小白用户:使用 花生壳/向日葵 等第三方服务。我的域名和服务器都是Netcup的,Netcup 提供 VPS(云服务器)和域名服务,如果你想用 Netcup 来实现 NAS 的内网穿透,可以用 FRP 或 WireGuard 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.ini2. 在家庭 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@wg02. 在 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,就像它在你本地一样。
总结
来源:横推一万六