NAS 远程访问

异地访问家里所有设备:叶子路由把整个家庭网络接进服务域

家里的打印机、影音盒子、摄像头、相框装不了任何客户端,出门就用不上。用 MoleSDN 的叶子路由把常开电脑所在的整个网段发布到服务域,外出设备接入后按家用 IP 直接访问家里每一台设备。查网段、挂载、开 IP 转发、加回程路由四步配完,附 ping 与路由示踪实测。

异地访问家里所有设备:叶子路由把整个家庭网络接进服务域

💡 这篇解决的是「家里一整段网络都要能用」,先确认你是不是这种情况:

  • 家里有装不了客户端的设备(打印机、智能音箱、摄像头、数码相框、路由器后台),出门也想直接用 → 就是这篇
  • 只想用手机访问家里共享的文件手机异地访问家里局域网共享 更省事
  • 只有一台 NAS 要访问、别的设备不碰 → 直接在 NAS 上装客户端更轻量,看 OMV NAS 异地访问

场景与痛点

家里的设备是一年年攒起来的:书房的打印机、客厅的影音盒子、玄关的摄像头、卧室里循环播放家庭照片的相框,还有角落里默默跑着的备份机。在家连着 Wi-Fi 时它们都好好的——浏览器输个 10.0.0.22 就进了打印机后台,App 一搜就连上相框。

可一旦出门,这些设备就集体消失了。

难办的地方在于:它们装不了任何客户端。打印机连 SSH 都没有,智能音箱的系统你根本碰不到,摄像头只肯跟厂商的云说话。「给每台设备装个远程访问工具」这条路,从一开始就是堵死的。

真正想要的效果其实很朴素:人在外面,家里那一整段网络就像还在身边——输 10.0.0.22 是打印机,输 10.0.0.35 是相框,和坐在家里沙发上没区别。

你需要准备什么

说明
一台家里常开的 Windows 或 Linux 电脑 它是家庭网络的入口,需要 24 小时开机联网,并装上客户端。Android / macOS / iOS 客户端不支持挂载叶子路由
这台电脑与目标设备在同一网段 打印机、相框、影音盒子都接在家里同一张局域网上,有线无线都行
出口设备能添加静态路由 家里的主路由器、防火墙或软路由,第四步要在上面加一条回程路由
一个 MoleSDN 账号,且开通叶子路由 进阶功能,黄金及以上档位自带(黄金 3 条 / 铂金 8 条 / 钻石 10 条),也可单独购买许可,见 价格与配额
外出用的设备 笔记本、手机、平板都行,装上 客户端 就够,这一端没有系统限制

先搞清楚有哪几种做法

同一个需求有四条路,代价各不相同:

做法 花什么钱 难在哪 什么情况下选它
给每台设备单独装客户端 免费档就有 3 台额度 打印机、摄像头、智能家居根本装不了 只需访问 NAS、电脑这类能装软件的设备
远程桌面到家里电脑,再从它操作 免费 每次多一层跳板;手机上尤其别扭 偶尔用一次,不想额外配置
家里拉公网 IP + 端口映射 宽带可能要加钱 多数家宽拿不到公网 IPv4;每台设备都要单独映射,等于把家里的服务挨个摆到公网上 已经有公网 IP,且只需开放一两个端口
把整个家庭网段发布进虚拟局域网 需要进阶档位 出口设备要能加一条静态路由 家里有多台装不了客户端的设备,想一次配好全通

前两条的天花板很明显,第三条则是设备一多就管不过来,而且公网上每多开一个端口就多一道风险敞口。这篇走第四条:配一次,家里整段网络都进来,谁能进由服务域的成员名单说了算,外面扫不到任何东西。

第一步:查清楚要发布的是哪个网段

你要发布的不是某一台设备,而是它们所在的那一整段网络,所以先得把这段网络的地址弄清楚。

在家里那台常开电脑上,右键开始按钮 → 打开「终端」,敲:

ipconfig

在 Windows 终端执行 ipconfig,查出电脑 IP 10.0.0.29 与所属网段 10.0.0.0/23

看「IPv4 地址」和「子网掩码」两行。图里是 10.0.0.29255.255.254.0,对应网段就是 10.0.0.0/23。常见的几种对照:

子网掩码 写成网段 举例
255.255.255.0 /24 192.168.1.100192.168.1.0/24
255.255.254.0 /23 10.0.0.2910.0.0.0/23
255.255.0.0 /16 172.16.5.20172.16.0.0/16

Linux 上用 ip -4 addrinet 那一行,斜杠后面就是掩码位数。

这一步做完,你手上应该有两个数字:这台电脑的 IPv4 地址(10.0.0.29,第四步要用)和它所属的网段(10.0.0.0/23,下一步要填)。

💡 大多数家庭是 192.168.1.0/24192.168.0.0/24,图里这台是 10.0.0.0/23 只是个例子——按你自己 ipconfig 的结果填,别照抄。

第二步:把这台电脑接进服务域,挂上网段

2.1 先装客户端并登录

控制台里能绑的只有已经登录过的客户端,所以顺序是先装、先登录,这台电脑才会出现在你的客户端列表里。

到官网下载客户端,按这台电脑的系统选对应版本:Windows 装完直接用注册的账号登录;Linux 用一行 curl 一键安装脚本,装完按提示输入账号密码即可。

下载 MoleSDN 客户端并登录账号,Windows 与 Linux 一键安装

确认成功:客户端上显示账号已登录、SDN 控制器「已连接」;控制台的 客户端 → 我的客户端 里能看到这台机器(此时还没绑服务域,是未绑定状态)。

2.2 创建服务域,把它绑成中心

还没建过服务域的话,登录 控制台服务域 → 创建服务域,填一个域 ID 就能建好。

在控制台创建服务域,填一个域 ID 即可

然后把家里这台常开电脑绑进来,工作模式中心 HUB——跑服务的那台是中心,来访问的是接入,家里网段的入口就在中心这边。外出的设备之后一律选「接入 Spock」。

在控制台绑定客户端,工作模式选「中心 HUB」

第一次走这套流程的话,快速上手 有更细的分解。

2.3 把网段挂上去

进入这个服务域 → 在拓扑视图里点一下家里这台客户端 → 右侧滑出「客户端详情」→ 找到 叶子路由 那一栏,填入刚才查到的网段,点右边的对勾:

在控制台客户端详情里填入 10.0.0.0/23,把整个网段作为叶子路由挂载到该客户端

叶子路由是挂在客户端上的,所以入口在客户端详情,不在服务域的高级功能里。

确认成功:拓扑图上这台客户端的卡片下方,会多出一个绿色的网段标签 10.0.0.0/23

⚠️ 输入框下面那句「域内客户端会重连服务域」不是吓唬人:每次增删叶子路由,域内所有成员都要重连一次才能学到新路由,期间有一次短暂闪断。别在正用着的时候改

第三步:给这台电脑开启 IP 转发

挂好网段后,家里这台电脑要开始扮演「路由器」,把从服务域进来的流量转发进家里的物理网络。这需要操作系统层面的 IP 转发支持,而系统默认是关的。

客户端会自己发现这一点,弹窗提醒你:

客户端提示「叶子路由功能受限,系统 IP Forwarding 未启用」,点「一键启用」开启 IP 转发

一键启用 就行。弹窗里那句「不影响本机正常上网」是实话——开启转发只是让这台电脑愿意帮别人递包,它自己怎么上网完全不变。

确认成功:弹窗不再出现。想自己核对的话,在 PowerShell 里跑:

Get-NetIPInterface -AddressFamily IPv4 | Where-Object ConnectionState -eq "Connected" | Select-Object InterfaceAlias, Forwarding

所有已连接的接口都应该是 Enabled——这正是客户端的判定口径,有一块没开它就会继续提醒。Linux 上对应的是 sysctl net.ipv4.ip_forward,值应为 1

💡 系统本来就开着转发的机器(装过 Hyper-V、WSL、Docker 的常常如此),这个弹窗根本不会出现,直接跳下一步。

第四步:在出口设备上加一条回程路由

这一步最容易被跳过,也是最常见的失败原因。 先说清楚为什么需要它。

外出设备访问家里打印机时,数据是这样走的:

外出设备 100.64.194.115
   └→ 服务域 → 家中电脑 10.0.0.29 →转发→ 打印机 10.0.0.22    (去程 ✔)

打印机 10.0.0.22 要回话
   └→ 目标 100.64.194.115,它没见过这个地址
      └→ 按默认网关丢给家里主路由器 → 主路由器也没见过 → 扔向公网    (回程 ✘)

去程通,是因为家中电脑明确知道该往哪转;回程断,是因为家里其他设备根本不知道 100.64.x.x 这段地址要从哪儿回。解决办法就是在出口设备上告诉它一次。

打开家里主路由器 / 防火墙 / 软路由的管理界面,找到「静态路由」,加一条:

填什么 说明
目标网段 100.64.0.0/10 MoleSDN 服务域的地址段
网关 / 下一跳 10.0.0.29 家中那台挂了叶子路由的电脑的网卡 IP

在出口路由器上新建静态路由,目标网段填服务域地址段、网关指向挂载客户端的网卡 IP 10.0.0.29

图里给了两种设备的样子:左边是硬件防火墙 / 路由器(网络 → 静态路由 → 新建),右边是 OpenWrt 软路由(路由 → 静态 IPv4 路由 → 添加)。字段叫法不同,填的东西完全一样。

⚠️ 图中界面里填的是 100.64.0.0/16请按上表填 100.64.0.0/10——服务域 IP 是从 100.64.0.0 ~ 100.127.255.255 这一整段里分配的,只写 /16 的话,地址落在 100.65.x.x 之后的客户端会连不通,这种问题排查起来极其费神。

确认成功:路由表里能看到这条新记录且已启用。真正的验证放在下一步一起做。

第五步:外出设备接入服务域

外出要用的设备(笔记本、手机、平板都行)同样是先装客户端、用同一个账号登录——步骤和 2.1 一样,手机端直接在应用商店搜 MoleSDN。登录后回到控制台,把它绑进同一个服务域,工作模式选 接入 Spock

在控制台把这台设备以「接入 Spock」模式绑定到服务域

绑定后客户端会自动拿到配置,包括「10.0.0.x 这一段要从家中电脑走」这条路由——完全无感,不需要你在外出设备上做任何设置。

Windows 客户端已接入服务域,显示分配到的服务域 IP 与延迟

确认成功:客户端显示已连接、拿到了自己的服务域 IP,并能看到家中电脑那一条对端信息。

连通效果实测

配完到底行不行,两条命令就能验完。在外出的那台设备上,直接 ping 家里网段内的一台设备(这里是 10.0.0.22):

ping 叶子网段里的 10.0.0.22 全通,路由示踪显示第一跳是服务域 IP 100.64.19.32

指标 实测值
丢包 0%(发送 4 / 接收 4)
往返延迟 最短 24ms、最长 42ms、平均 31ms
TTL 63
路由跳数 2 跳

两个细节值得留意:

  1. tracert -d 的第一跳是 100.64.19.32,也就是家中那台挂了叶子路由的电脑的服务域 IP,第二跳才是打印机 10.0.0.22。这说明流量确实是从服务域进来、再由家中电脑转发进家庭网络的——只看 ping 通了,是证明不了走的哪条路的。
  2. TTL 是 63 而不是 64,正好少 1,对应中间那一次转发,与跳数互相印证。

到这里,外出设备访问 10.0.0.x 里的任意一台设备,体验和在家连 Wi-Fi 时一致:浏览器进打印机后台、App 连相框、播放器读影音盒子、备份软件往备份机上推数据,都不用再做别的配置。

常见问题

应用侧

问题 1:ping 得通家中电脑,却 ping 不通网段里的其他设备

最典型的症状,九成是第四步的回程路由没配或配错了。按顺序查:

  • 出口设备上那条静态路由存在且已启用
  • 目标网段写的是 100.64.0.0/10,不是 /16,也不是某一个具体 IP
  • 下一跳填的是家中电脑的网卡 IP10.0.0.29 这种家用地址),不是它的服务域 IP
  • 家中电脑的 IP 变过没有——它如果是 DHCP 自动获取的,重启后换了地址这条路由就指错了,建议在路由器上给它做个 IP 绑定

问题 2:家里有好几台电脑,一部分 ping 得通,另一些 ping 不通

同一个网段里有的通有的不通,说明回程路由是好的(否则一台都通不了),问题出在那台机器自己的防火墙上——系统默认常常不响应来自「陌生网段」的 ping,而外出设备的地址正好是它没见过的 100.64.x.x

  • Windows:在防火墙的入站规则里放行 ICMP,也就是打开「文件和打印机共享(回显请求 - ICMPv4-In)」这条规则。拿不准是不是它,先临时关掉防火墙 ping 一次,通了就说明找对方向了
  • Linux:同样的道理,多半是 firewalld 或 iptables 的规则挡了。先 systemctl stop firewalld(或临时清掉 iptables 规则)测一次,确认之后再补一条放行 ICMP 的规则

⚠️ 关防火墙只是用来定位问题的手段,测完立刻开回去,再按规则放行——别就这么裸奔着用下去。

问题 3:能 ping 通设备,但打不开它的网页后台

网络层已经通了,问题在设备自己身上。先在家中电脑上用同样地址访问一次:那边也打不开就与远程访问无关;本地能开、远程不能,多半是那台设备限制了来访 IP 段,或者家中电脑的防火墙拦了转发流量,放行对应端口即可。

问题 4:智能家居 App 搜不到设备,但按 IP 能连

很多智能家居 App 靠局域网多播发现设备,多播不一定能跨过虚拟网络。手动按 IP 添加(App 支持的话),或者让它自动走厂商云通道。按 IP 直连始终可用

网络侧

问题 5:家中电脑关机或掉线了

整段家庭网络跟着断——它是唯一的入口。务必挑一台长期不关机的机器(迷你主机、值班机、常开台式机都行)并设成开机自启。中心客户端一旦离线,控制台的服务域列表会直接标红提醒你。

问题 6:访问速度慢、卡顿

先看客户端连接状态是不是直连。家用宽带上行普遍不高,远程看高码率视频本来就吃力;连接走了中转、或者网络环境图标显示红色时,可以了解一下超级鼹鼠与智能选路这类针对复杂网络的能力。另外所有流量都要过家中电脑这一道转发,它的 CPU 太弱也会成为瓶颈。

进阶与扩展

挂在「接入 Spock」的客户端上也行,不是非得中心。但接入端之间默认不互通,域内其他客户端要访问挂在接入端上的网段,得先在服务域的高级功能里打开 中枢 HUB。没有特别理由的话,挂在中心那台上最省事。

服务域设置里的高级功能:中枢 HUB、智能选路、服务别名

不想把整段网络都发布出去?用 /32 只发布单台设备。10.0.0.22/32 就只把打印机这一台放进服务域,其余设备完全不可见。家里设备不多、或者域内有你不完全信任的成员时,这是更稳妥的做法——按配额一台一条。家里划了 IoT 专用 VLAN、主网段与访客网段分开的,也可以逐条添加多个网段,每条都要在出口设备上有对应的回程路由。

总结

走完这五步,你在外面用的就不再是「家里的某一台电脑」,而是家里那一整段网络:打印机、相框、影音盒子、摄像头、备份机——只要接在家里那张网上,输 IP 就能用,装不装得了软件都无所谓。入口只是一台常开电脑,配好之后不用再维护。

真正的关键只有一处:第四步的回程路由。去程由叶子路由负责,回程靠出口设备上那一条静态路由,两者缺一不可。哪天访问不通了,先回去看那条路由还在不在。

祝远程顺利。

相关阅读