当前位置: 首页 > news >正文

没有 NAS 也能异地访问:我用 NanoPi 搭了一个轻量内网

很多人手里都有一台长期通电的小主机:NanoPi、软路由,或者装了 Linux 的开发板。它可能跑着下载、监控、Home Assistant 或几个脚本。问题在于,人在外面时,想访问它往往要处理公网 IP、端口映射和动态域名。

这次我没有用 NAS,也没有搭 Web 服务,而是让一台 Windows 虚拟机和 NanoPi 加入星空组网,再做两项实际测试:Windows 通过 SSH 登录 NanoPi;NanoPi 主动连接 Windows 上的临时 TCP 监听端口。两端不在同一个物理网络,也可以按内网方式互访。

一、先把这次测试说清楚

测试环境只有两个节点:一台 Windows 11 虚拟机和一台 NanoPi R3S。Windows 端安装星空客户端,NanoPi 运行 iStoreOS。本文所有访问都使用星空分配的虚拟 IP,不使用家里的公网 IP,也不需要在路由器上做端口映射。

二、Windows 和 NanoPi 分别入网

2.1 创建账号

打开 星空组网官网,用邮箱或手机号注册主账号。

登录后进入管理平台,为 Windows 和 NanoPi 分别创建成员账号。设备分开使用账号,后续查看在线状态或撤销权限会清楚很多。

2.2 Windows 下载安装星空软件

本文截图中的客户端版本为 6.0.7。发布前如需使用新版,Windows 端可从指定的 6.0.8 下载地址获取安装包。下载的是.exe文件,按 Windows 安装向导完成安装即可。

安装完成后,用 Windows 对应的成员账号登录,并保持客户端在线。

2.3 NanoPi 安装 Linux/ARM 客户端

这台 NanoPi 已装好 iStoreOS,本文不展开系统安装过程。

先在 NanoPi 上确认系统和架构:

uname -m cat /etc/os-release

从输出可以看到,这台 NanoPi 运行 iStoreOS 24.10.6(OpenWrt 系),架构是aarch64,即 ARM64。因此不能使用 Windows.exe、x86 安装包或.deb包。

我直接按官方 iStoreOS 文档操作。

按文档提供的一键安装脚本安装客户端。

安装完成后,用 NanoPi 对应的成员账号登录。

回到管理后台,Windows 和 NanoPi 都显示在线。

在“设备管理”中查看两台设备获得的星空虚拟 IP。

后台在线只说明两台设备已经加入网络,下面继续验证它们能否实际互访。

三、验证连通性

3.1 Windows 连接 NanoPi

我在 Windows 11 中打开 Git Bash,通过 NanoPi 的星空虚拟 IP 连接 iStoreOS:

ssh root@192.168.188.2

3.2 NanoPi 主动连接 Windows

Windows 能 SSH 登录 NanoPi 后,我又换了方向测试:不安装 Web Server,只在 Windows 上临时监听一个 TCP 端口,再让 NanoPi 主动连接过来。

先以管理员身份打开 Windows PowerShell,创建一条临时防火墙规则。规则只放行 NanoPi 的星空虚拟 IP192.168.188.2访问 Windows 的 18080 端口,不会向其他来源开放该端口:

New-NetFirewallRule ` -DisplayName "StarVPN temporary test 18080" ` -Direction Inbound ` -Action Allow ` -Protocol TCP ` -LocalPort 18080 ` -RemoteAddress 192.168.188.2

接着在同一个 PowerShell 窗口启动临时监听。出现Waiting for NanoPi on port 18080...后,窗口会停在原处,等待 NanoPi 发起连接:

$listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Any, 18080) $listener.Start() Write-Host "Waiting for NanoPi on port 18080..." $client = $listener.AcceptTcpClient() $client.Client.RemoteEndPoint $client.Close() $listener.Stop()

切换到 NanoPi 终端,先确认它能 ping 通 Windows 的星空虚拟 IP192.168.188.1,再用 BusyBox 自带的nc连接 18080 端口:

ping -c 4 192.168.188.1 nc 192.168.188.1 18080

这台 iStoreOS 的 BusyBox 版nc只支持nc IP地址 端口的精简语法,不支持常见 Linux 示例里的-v-z-w参数。第二条命令执行后终端会停住,表示连接仍在保持,并不是卡死。

回到 Windows PowerShell,监听程序会输出 NanoPi 的远端地址,格式类似192.168.188.2:xxxxx。这次 TCP 连接由 NanoPi 主动发起,并成功到达 Windows 虚拟机。

看到 Windows 输出后,在 NanoPi 终端按Ctrl+C结束nc,最后删除临时防火墙规则:

Remove-NetFirewallRule -DisplayName "StarVPN temporary test 18080"

四、实测结果:两端可以相互访问

这次没有使用 NAS,也没有做端口映射,只让 Windows 虚拟机和 NanoPi 加入同一张星空网络。结果很直接:

  1. Windows 通过 NanoPi 的星空虚拟 IP192.168.188.2成功建立 SSH 会话,说明可以从 Windows 管理这台 iStoreOS 设备。
  2. NanoPi 对 Windows 虚拟 IP192.168.188.1发起 Ping,6 个数据包全部收到回复;随后 NanoPi 主动连接 Windows 的临时 18080 端口,Windows 监听程序识别到了来源为192.168.188.2的连接。

后台显示“在线”只能说明设备已经加入网络;SSH、Ping 和 TCP 监听的结果,才说明两端真的可以相互发起访问。延迟会受两端宽带、NAT 类型和当时线路影响,本文只记录这次环境下的结果。

测试结束后,我删除了 Windows 上的 18080 临时防火墙规则。临时验证用过的端口和规则不应长期保留,正式服务需要什么权限,再单独配置。

五、异地组网不等于远程访问 NAS

NAS 是异地组网里常见的一类设备,但不是前提。只要两端有需要互通的服务,就可以组网。

对 NanoPi + Windows 这组设备来说,最直接的用途是远程维护:出门时 SSH 回 iStoreOS,查看运行状态、更新脚本或处理容器服务,不必为了一个管理端口去申请公网 IP。家里的 Home Assistant、下载机、打印机管理页或摄像头管理端,也可以按同样思路接入,访问时使用对应的虚拟 IP。

开发和小团队也有类似需求。测试环境放在云服务器、同事电脑或办公室小主机上时,可以先把设备加入同一张虚拟网络,再访问 SSH、内部 Web 服务、数据库管理页或远程桌面。这并不替代应用自身的登录认证,但能减少临时联调时开放公网端口的需求。

异地两台电脑传文件、局域网游戏联机、远程桌面协助、两处门店设备维护,甚至让笔记本访问家里一台闲置电脑,也都不依赖 NAS。先明确哪台设备需要访问哪项服务,再决定是否接入即可。

组网成功后,成员账号和服务权限仍要单独管理。SSH、iStoreOS 管理后台和后续部署的应用应设置独立密码或密钥;测试完成的临时端口、临时防火墙规则也要及时删除。先用两台设备完成一次 SSH 和 TCP 双向验证,再按需求接入 NAS、云服务器、家庭服务器或其他电脑,会更省事。

http://www.jsqmd.com/news/1310839/

相关文章:

  • Grove可串联RGB LED模块全解析:从P9813驱动到Arduino/树莓派实战
  • 2026郑州政企宣传片制作公司排行榜TOP5 | 党建宣传片 | 政府汇报片 | 会议拍摄 | 视频直播 | 招商宣传片服务商评测对比 - 政企影像扫地僧
  • GitHub逆向Claude接口实战:从环境搭建到流式响应处理
  • 树莓派4英寸SPI LCD触摸屏驱动配置与性能优化全攻略
  • 混合量子-经典计算:破解大分子几何优化难题的DMET-VQE框架
  • Immich 自托管部署:用 Docker 管理照片与视频
  • Unity游戏模组加载框架BepInEx:原理、安装与故障排查指南
  • Godot引擎网格粉碎工具:预破碎与实时物理混合方案详解
  • 2026乐山政企宣传片制作公司排行榜TOP5 | 党建宣传片 | 政府汇报片 | 会议拍摄 | 视频直播 | 招商宣传片服务商评测对比 - 政企影像扫地僧
  • 探索性测试:从脚本执行到主动发现的软件测试思维跃迁
  • 使用KeyStore Explorer生成带SAN的HTTPS证书并在SpringBoot中集成
  • Spring AI集成DeepSeek大模型
  • 基于OpenCV的围棋终局识别与胜负判定系统实现
  • 用技术创造浪漫:从静态贺卡到自动化祝福的完整实践指南
  • 瑞丰宝丽的AR系统能解决电力巡检作弊问题吗
  • 2026 年当下,乌鲁木齐知名的175平头钎杆生产厂家制造商选型指南,别再乱选钎杆厂了,这家人家的175平头钎杆能省三成耗材钱 - 行业甄选官
  • 襄阳出发西藏口碑榜:能24小时响应的西藏旅行社,这家15年五星诚信社凭什么拿冠军?| 附:旅行社电话 - 西藏康泰旅行社
  • SQL-LABS_Less18-20实战攻略
  • Vision Pro核心场景解析:从空间计算到躺姿使用的舒适性优化
  • 华住房态检查2026年13稿步骤
  • 2026年免费证件照生成指南:小程序、App、网页工具,无水印导出方法全解析 - 提词匠
  • reComputer R1100边缘AI设备从开箱到部署YOLOv8全流程指南
  • 英雄联盟智能助手完整指南:3步安装League Akari提升游戏体验
  • 线段树分治:原理、实现与应用
  • 15.6寸HDMI IPS触摸屏硬件拆解与Linux驱动配置全攻略
  • 2026郑州企业宣传片制作公司排行榜TOP5 | 品牌形象片 | 产品宣传片 | 招商宣传片 | TVC广告 | 企业年会片服务商评测对比 - 政企影像扫地僧
  • 仓库路径规划的架构之选:蛇形、折返还是最大间隙?——一个决策框架
  • HarmonyOS应用实战-启示散页-67-路由表别散在功能包:让 entry 统一声明 HSP 页面入口
  • 基于SpringBoot+Vue的福建畲族文化交流与交易平台系统小程序(源码+LW+调试文档+讲解)
  • UniApp小程序隐私协议接入实战:从合规配置到代码封装的完整指南