软路由保姆级教程:不用买设备,NAS、旧电脑都能装,全家连Wi-Fi直接访问外网
文章目录
连上Wi-Fi就能直接访问外网 · 第3篇
前两篇分别用手机和电脑实现了「连上Wi-Fi就能访问外网」
- 第1篇用小火箭的代理共享,一台装了小火箭的设备就能做,最简单。
- 第2篇把Mac mini变成旁路由,接管设备的全部流量,电视和游戏机也能用。
第2篇的结尾我说过,电脑毕竟不是专门的网络设备。它会重启、会更新、会睡眠,Windows台式机长期开着还很费电。想要长期稳定地用,最终还是要靠软路由。
这一篇就来讲软路由。我没有另外买设备,而是直接装在了家里的NAS上:NAS本来就是24小时开机的,在上面用虚拟机跑一个软路由系统,不多花一分钱,也几乎不多费电。
没有NAS也可以看这篇。文章分成两部分,只有前半部分和NAS有关,后半部分的配置对所有软路由都通用。
先说明一下这篇的范围:本文只讲软路由的安装和基础用法,目标是让你从零开始,照着做就能把软路由跑起来、让设备用上。 软路由的进阶玩法很多,文末我会列出来做个介绍,但不会展开具体步骤,后面再单独写。
先搞清楚:软路由有哪几种玩法
软路由不是某一种硬件,而是「在通用硬件上跑的路由器系统」。常见的有四种方式:
| 方式 | 上手难度 | 要不要花钱 | 适合谁 |
|---|---|---|---|
| 买预装好系统的成品软路由 | 最低,插上就能用 | 要 | 不想折腾的人 |
| 买x86小主机自己装系统 | 中等,要自己做启动盘、写入系统 | 要 | 想要性能和可玩性的人 |
| 给现有的路由器刷机 | 最高,每个型号方法都不同,有刷坏的风险 | 不用 | 手上正好有可刷型号的人 |
| 在NAS或电脑里用虚拟机跑 | 中等,全程在网页上操作 | 不用 | 家里已经有NAS或常开电脑的人 |
这四种方式的区别只在「怎么把系统装起来」。系统装好之后,后面的配置完全一样。
所以本文这样安排:
-
第一部分讲怎么把系统装起来。我详细写的是自己实测的方式:在群晖NAS里用虚拟机安装;Windows、Mac和其他设备能不能装、用哪个镜像,这一部分的开头也有说明。
-
第二部分讲系统装好之后的配置。不管你的软路由是买的、淘的还是刷的,从这里开始都能直接照着做。
系统我选的是iStoreOS。它基于OpenWrt,界面对新手友好很多,首页有网络向导,设置旁路由只需要填几个数字。
三篇方案放在一起看
| 对比项 | 第1篇:代理共享 | 第2篇:电脑旁路由 | 第3篇:软路由 |
|---|---|---|---|
| 需要的设备 | 一台装了小火箭的设备 | 一台常开的电脑 | NAS,或一台专门的软路由 |
| 接管哪些流量 | 只有走系统代理的流量 | 设备的全部流量 | 设备的全部流量 |
| 稳定性 | 依赖那台手机或Apple TV | 依赖电脑不关机、不睡眠 | 最好,专门干这一件事 |
| 管理方式 | 在App里操作 | 在电脑的客户端里操作 | 任意设备打开网页就能管理 |
| 上手难度 | 最低 | 中等 | 较高 |
本文以我自己的环境为例:
| 项目 | 我的环境 |
|---|---|
| 主路由 | 小米路由器,192.168.81.1 |
| NAS | 群晖DS220+,192.168.81.199 |
| 软路由 | NAS里的iStoreOS虚拟机,192.168.81.120 |
| 软路由系统 | iStoreOS 24.10.8 |
| 代理插件 | OpenClash 0.47.156 |
你的网段大概率和我不一样,照着自己的实际网段填,不要照抄我的数字。
第一部分:在NAS里把iStoreOS跑起来
如果你的软路由是买的成品,或者已经装好了iStoreOS,可以直接跳到第二部分。
没有NAS?这些设备也能装
iStoreOS能装的设备很多,不只是NAS。只要设备能长期开机,下面这些都可以:
| 设备 | 怎么装 | 用哪个镜像 |
|---|---|---|
| 群晖NAS | 自带的Virtual Machine Manager | x86_64_efi目录里的镜像,本文实测的就是这种 |
| 其他品牌的NAS | 各家自带的虚拟机功能,需要机型支持 | 同上 |
| Windows电脑 | Hyper-V或VMware虚拟机 | 官方Virtual目录里有现成的.vhdx和.vmdk格式 |
| Intel芯片的Mac | VMware Fusion或UTM虚拟机 | .vmdk格式,或x86_64_efi镜像 |
| M系列芯片的Mac | UTM虚拟机 | armsr目录里的ARM版镜像 |
| x86小主机 | 做启动盘,直接把系统写进硬盘 | x86_64_efi目录里的镜像 |
| 树莓派、NanoPi等开发板 | 把系统写入存储卡 | 下载站里对应型号的目录 |
这些镜像都在同一个官方下载站里,按目录区分:
https://fw.koolcenter.com/iStoreOS/
几点说明:
-
本次教程以群晖NAS为例。 上表是根据官方下载站提供的镜像整理的,具体操作以各自的虚拟机软件为准。
-
M系列芯片的Mac要用ARM版镜像。
-
用虚拟机装的话,网络要选「桥接」模式。 这样虚拟机才会和电脑处在同一个局域网里,其他设备才能把网关指向它。群晖里默认的Default VM Network就是桥接。
-
电脑做软路由,同样要一直开机。 第2篇里我对比过功耗,Windows台式机长期开着很费电。如果手上有Mac mini或者小主机,会比台式机合适得多。
不管选哪种设备,装好之后的效果是一样的:局域网里多了一台运行iStoreOS的机器。后面第二部分的配置,对它们全都适用。
第一步:准备两样东西
1. 在NAS上安装Virtual Machine Manager。 打开群晖的「套件中心」,搜索Virtual Machine Manager并安装。它是群晖官方的虚拟机工具,免费。
2. 在电脑上下载iStoreOS镜像。 打开iStoreOS的官方下载站,进入x86_64_efi目录:
https://fw.koolcenter.com/iStoreOS/x86_64_efi/
下载文件名以squashfs-combined-efi.img.gz结尾的那个,然后解压,得到一个.img文件。
第二步:把镜像上传到虚拟机管理器
打开Virtual Machine Manager,点左侧的「映像」。切到「硬盘映像」后点「新增」,选择「从计算机」,选中刚才解压出来的.img文件。
一路点「下一步」,存储空间选默认的即可。文件比较大,上传需要几分钟,状态会显示「正在创建」和进度。
等状态变成「良好」,镜像就准备好了。上传过程中不要关闭这个页面,否则上传会中断。
第三步:用镜像创建虚拟机
点左侧的「虚拟机」,点「新增」旁边的小箭头,选择「导入」。
在导入方式里选「从硬盘映像导入」,点「下一步」。接下来的几个页面按下面的方式设置。
选择存储空间:保持默认。
配置常用规格:名称随意,我填的是iStoreOS。CPU给1核,内存1GB起步;NAS内存富余的话可以给2GB。
存储空间:虚拟盘1默认是「空白硬盘」,点开下拉框,选择刚才上传的iStoreOS镜像。大小保持默认的10GB。
配置网络:保持默认的Default VM Network。它会让虚拟机和NAS处在同一个局域网里。
其它设置:这一页有两项要改。
-
自动启动:改成「是」。这样NAS重启后,软路由会自己跟着启动。
-
固件:改成「UEFI」。默认推荐的是Legacy BIOS,但我们下载的是efi版镜像,不改的话可能启动不了。
后面的「分配电源管理权限」直接点下一步跳过,最后在摘要页确认无误,点「完成」。
第四步:开机,看看它拿到了什么IP
回到虚拟机列表,选中刚建好的虚拟机,点「开机」。状态变成「运行中」后,点「连接」,会打开一个控制台窗口。等一分钟左右,按一下回车,看到iStoreOS的字样和命令提示符,就说明系统启动成功了。
接下来要知道它的IP地址。在控制台里输入下面这条命令并回车:
ifconfig br-lan
输出里inet addr后面的就是它的IP。我这里是192.168.81.86。
很多教程会让你在这一步用命令手动改IP,其实不需要。iStoreOS在只有一个网口的时候,默认会自动向主路由申请一个IP,所以只要看一眼它拿到的是多少就行。固定IP的事放到下一部分,在网页里做。
第五步:登录后台
在电脑浏览器里打开刚才看到的IP,就是iStoreOS的登录页。
用户名是root,默认密码是password。登录后就进入了首页。
页面顶部会有一条黄色的提示,说还没有设置密码。默认密码人人都知道,建议点提示右侧的按钮,换成自己的密码。
到这里,NAS上的软路由系统就跑起来了。
第二部分:把iStoreOS配置成旁路由
从这里开始,不管你的iStoreOS装在什么设备上,操作都一样。
第一步:用网络向导设成旁路由
点左侧的「网络向导」,选择「配置为旁路由」。
向导会先说明一下什么是旁路由模式。我选的是「手动配置」,这样可以自己指定一个固定的IP。
按下表填写:
| 字段 | 怎么填 | 我的示例 |
|---|---|---|
| IP地址 | 主路由网段里一个没被占用的地址,以后它就固定用这个IP | 192.168.81.120 |
| 子网掩码 | 已经预填好,一般不用改 | 255.255.255.0 |
| 网关地址 | 主路由的IP | 192.168.81.1 |
| DNS服务器 | 已经预填好,不用改 | 223.5.5.5 |
| 提供DHCPv4服务 | 关闭 | 关闭 |
| 自动获取IPV6 | 保持关闭 | 关闭 |
| 开启NAT | 先保持关闭 | 关闭 |
这一页有两个地方要特别注意:
-
「提供DHCPv4服务」默认是打开的,一定要关掉。 它打开之后,软路由会和主路由一起给家里的设备分配IP,两台设备同时分配,全家的网络会变得时好时坏。向导自己也写着「需要关闭主路由DHCP服务」,我们不打算动主路由,所以把它关掉。
-
子网掩码和DNS是已经填好的。 这两项不用动。
填好后点「保存配置」。
保存后,软路由的IP就变成了你填的那个固定地址。原来的页面会打不开,这是正常的:在浏览器里输入新的IP,重新登录一次。
最后别忘了在主路由后台给这个IP做一下静态绑定,避免主路由把它分配给别的设备。做法和第2篇里给Mac mini绑定IP一样。
第二步:安装OpenClash
代理插件我用的是OpenClash,它是OpenWrt上用户最多的代理插件之一。
这类插件在iStore商店里是搜不到的,需要自己安装。
网上很多教程会让你直接填一个GitHub地址在线安装。我试了,行不通:
原因很简单:软路由现在还没有代理,连不上GitHub。没有代理就装不了代理插件,这是个死循环。
解决办法是先在电脑上把安装包下载好,再上传到软路由。
1. 在电脑上下载安装包。 打开OpenClash的发布页:
https://github.com/vernesong/OpenClash/releases
在最新版本的附件里,下载文件名以_all.ipk结尾的那个,大约10MB。附件里还有一个.apk结尾的,那是给更新版本的系统用的,iStoreOS 24.10用的是.ipk。
2. 更新软件列表。 回到iStoreOS后台,点「系统 → 软件包」,先点一下「更新列表」,等它跑完后关闭弹窗。
3. 上传安装包。 点「上传软件包」,选择刚才下载的.ipk文件,点「上传」。
页面会显示这个文件的大小和校验值,确认后点「安装」。
安装过程中,页面可能会弹出一条「XHR request aborted by browser」的错误提示,看起来像是失败了。不用管它,安装其实在后台正常进行。等半分钟后刷新页面,左侧「服务」菜单里出现了OpenClash,就说明装好了。
4. 下载内核。 第一次打开OpenClash,浏览器会弹窗提示「您还未安装内核,是否立即下载安装」,点「确定」。
内核是真正负责代理的那个程序。这一步不用担心连不上:OpenClash内置了几个国内能访问的下载地址,会在列表里显示每个地址的延迟,点一下延迟正常的那一行里的内核版本号,它就会自动下载安装。
「内核版本」一栏显示出版本号,就说明内核装好了。关掉这个面板,就能看到OpenClash的主界面。
第三步:导入订阅并启动
点OpenClash顶部的「配置订阅」标签,再点「添加」。
在「订阅地址」里粘贴你的订阅链接,其他选项保持默认,然后保存配置。
保存后会回到订阅列表,能看到刚添加的这一条。点页面下方的「更新配置」,OpenClash就会去下载订阅内容。
想知道有没有成功,可以点「运行日志」标签,看到「配置文件更新成功」就可以了。
订阅下载成功后,回到「运行状态」标签,点一下开关右边的刷新按钮,让OpenClash重启一次。
到这里,软路由这一端就配置完成了。
设备接入
软路由准备好之后,设备的接入方式和第2篇一样,有两种。两种方式的取舍放在这一节的最后。
方式一:单台设备手动设置
以iPhone为例,打开「设置 → 无线局域网」,点击已连接Wi-Fi右侧的 ⓘ。
| 项目 | 怎么填 | 我的示例 |
|---|---|---|
| 配置IPv4 | 选手动,IP地址和子网掩码照抄自动获取时的值 | 192.168.81.61 |
| 路由器 | 填软路由的IP | 192.168.81.120 |
| 配置DNS | 选手动,填软路由的IP | 192.168.81.120 |
和第2篇有一点不同:这次DNS填的是软路由自己的IP。软路由上本身就有DNS服务,由OpenClash负责解析,这是OpenWrt旁路由的标准做法。
方式二:专用Wi-Fi,只改一个数字
如果你照着第2篇做过那个「连上就能访问外网」的专用Wi-Fi,那么升级到软路由只需要改一个地方:
登录那台路由器的后台,在上网设置里,把「默认网关」从Mac mini的IP改成软路由的IP。
| 字段 | 原来 | 现在 |
|---|---|---|
| 默认网关 | 192.168.81.172(Mac mini) | 192.168.81.120(软路由) |
| DNS服务器 | 223.5.5.5 | 192.168.81.120 |
改完之后,连着这个Wi-Fi的所有设备都自动切到了软路由,设备上什么都不用动。Mac mini也可以关机休息了。
两种接法怎么选
方式二里那台提供专用Wi-Fi的路由器,用的是「路由模式」。很多教程推荐的是另一种「AP模式」,两种都能用,区别如下:
| 对比项 | AP模式 | 路由模式(方式二的接法) |
|---|---|---|
| 这台路由器做什么 | 只发Wi-Fi,不管网络 | 自己管一个独立的网段 |
| 设备的网关由谁决定 | 主路由,默认还是主路由的IP | 这台路由器,它再把流量整体交给软路由 |
| 设备要不要单独设置 | 要,每台手动改网关 | 不用,连上Wi-Fi就行 |
| 和家里其他设备 | 同一个网段,投屏、隔空播放、访问NAS都正常 | 不同网段,这些功能可能用不了 |
| 软路由能否分清每台设备 | 能,每台设备有自己的IP | 不能,所有设备显示成路由器的一个IP |
| 多一层NAT | 没有 | 有,联机游戏和端口映射更麻烦 |
我的建议是按用途来选:
-
想省事,想让家人和客人连上就能用:选路由模式,也就是方式二。
-
设备需要和家里其他设备互通,或者想给某一台设备单独定规则:让它留在原来的网络里,用方式一手动改网关。
Apple TV就是一个典型的例子:它既要看YouTube,又要接收手机的隔空播放。这类设备更适合留在主网络里,手动把网关指向软路由。
不管哪种接法,都要保证方向是对的:设备的网关指向软路由,软路由的网关指向主路由,不要让软路由的网关又指回它自己。
验证是否生效
和第2篇一样,从两个角度确认:
1. 在设备上看结果。 手机不开任何代理App,分别打开百度、YouTube和一个IP查询网站。百度和YouTube都能打开,IP查询显示的是节点所在地,就说明生效了。
2. 在软路由上看连接。 回到OpenClash的「运行状态」页,点「控制面板」里的按钮,可以打开一个网页版的面板,里面能看到每一条连接来自哪台设备、走的是哪个节点。
进阶玩法
到这里,基础的功能已经全部可用了。除了代理,软路由还有不少值得折腾的玩法,下面挑一些常见的简单介绍一下。
OpenClash的进阶用法
1.让某台设备固定走某个节点。 软路由不只能按「访问哪个网站」来分流,还能按「是哪台设备发出的流量」来分流。比如让某一台手机访问国外网站时永远从美国出去,不管面板里把节点切到了哪里,而它访问国内网站仍然直连。这是通过OpenClash的自定义规则实现的。
2.一个Wi-Fi一个出口。 把「按设备固定节点」的规则用在专用Wi-Fi上:用路由模式接入的路由器,它下面所有设备的流量在软路由看来都来自同一个IP,所以可以把整个Wi-Fi固定到某个国家的节点。再接一台路由器指向另一个国家,家里就有了两个出口不同的Wi-Fi,想用哪个国家的IP,手机切一下Wi-Fi就行。
3.同时使用多个订阅。 OpenClash的订阅和手机上的代理App不太一样,每个订阅都是一份包含节点、策略组和规则的完整配置,不能直接叠加。想把几个订阅的节点放在一起用,需要准备一份总配置,把每个订阅作为「代理集」引入,再由策略组统一挑选节点。
4.控制哪些设备走代理。 可以用黑名单或白名单指定局域网里哪些设备的流量经过OpenClash,其余设备原样放行。如果以后让全家设备都自动走软路由,可以用它把智能家居、NAS这类不需要代理的设备排除在外。
5.去广告。 订阅里一般带有广告拦截的规则和策略组,也可以另外安装专门的去广告插件,在路由器这一层把广告域名拦掉,家里所有设备都不用单独装去广告工具。
6.优化DNS解析。 软路由可以接管全家的DNS:同时向多个DNS服务器查询、返回最快的结果,让网页打开更快;也可以调整解析方式,避免DNS泄漏。如果是为了注册海外服务或申请海外的卡,调整之后要用DNS泄漏检测网站确认效果。
iStoreOS的进阶用法
软路由本质上是一台24小时在线的小型服务器,代理只是它能做的事情之一。把它用起来,家里的网络可以多出很多玩法。
1.直接当主路由用。 本文是把软路由挂在主路由旁边,好处是不动现有网络,出了问题影响也小。软路由更经典的用法是把光猫改成桥接,由它来拨号上网,取代原来的主路由,全家的流量天然都经过它。这种用法更彻底,但对稳定性要求也更高。
2.全家自动生效。 让软路由接管DHCP,直接把网关下发给家里所有设备,这样任何设备连上原来的Wi-Fi就自动走软路由,连专用Wi-Fi都不需要了。代价是软路由一旦出问题,全家都会断网,适合软路由已经稳定运行了一段时间之后再考虑。
3.多拨和多线叠加。 一条宽带同时拨号多次,或者把两条宽带合在一起用,下载速度可以叠加。能不能用取决于当地运营商是否限制。
4.在外面访问家里的网络。 配合DDNSTO、ZeroTier或Tailscale这类工具,人在外面也能打开软路由的后台、访问家里的NAS。如果宽带有公网IP,还可以用动态域名加端口转发直接访问,不经过第三方中转。
5.给Switch、PS5加速。 游戏机上装不了加速器,但可以在软路由上运行UU加速器这类游戏加速插件,开启之后用手机App指定要加速的主机就行。
6.24小时离线下载。 用Aria2、qBittorrent或迅雷,把下载任务丢给软路由,电脑可以关机,下载照常进行。
7.搭一个自己的家庭影院。 装上Jellyfin或Emby,它会自动给电影和剧集配好海报、简介和字幕,全家的手机、平板、电视都能像用视频App一样点播自己的片库。
以上只是其中一部分,另外还有网盘挂载、智能家居、流量监控、上网管控、IPTV等等用法。篇幅有限,这里都没有展开具体步骤,如果有你想看的,欢迎在评论区告诉我,我会优先写大家最关心的。
常见问题
虚拟机开机后一直黑屏或反复重启
检查虚拟机的固件设置。带efi字样的镜像要选UEFI,不带的选Legacy BIOS。固件在虚拟机关机状态下可以通过「操作 → 编辑」修改。
保存旁路由设置后,后台打不开了
IP已经变成你填的那个固定地址了,在浏览器里输入新的IP重新登录即可。
安装OpenClash时提示下载失败
软路由还没有代理,连不上GitHub。在电脑上下载好安装包,用「上传软件包」的方式安装。
订阅更新失败
先看「运行日志」。如果是连接订阅服务器失败,说明这个订阅地址需要代理才能访问,换一个能直连的订阅地址。
界面显示运行中,但设备上不了外网
订阅下载完成后需要重启一次OpenClash。回到「运行状态」页,点开关右边的刷新按钮。
节点一开始能用,过几天突然全部不通
先看「运行日志」里有没有订阅更新失败的记录。如果订阅地址需要代理才能访问,那么第一次导入可能成功,之后的自动更新却会一直失败,节点信息过期后就连不上了。尽量选用能直接访问的订阅地址。
家里开了IPv6
如果主路由开启了IPv6,设备的IPv6流量可能会绕过软路由直接出去,造成部分网站不走代理。遇到这种情况,可以在主路由后台把IPv6关闭。
写在最后
到这里,NAS上就多了一台24小时在线的软路由。总结一下整个过程:
| 阶段 | 做了什么 |
|---|---|
| 装系统 | 下载iStoreOS镜像,上传到虚拟机管理器,导入成虚拟机 |
| 设旁路由 | 网络向导里固定IP、网关指向主路由、关闭DHCP |
| 装插件 | 电脑下载OpenClash安装包,上传安装,再在线下载内核 |
| 导订阅 | 添加订阅、保存、更新,最后重启一次OpenClash |
| 接设备 | 单台设备改网关和DNS,或者把专用Wi-Fi的网关指过来 |
| 进阶 | 按设备或按Wi-Fi固定出口、合并多个订阅、全家自动生效等 |
三篇写下来,从一台手机,到一台电脑,再到一台软路由,其实是同一件事的三个台阶。不需要一步到位,手上有什么设备就从哪一篇开始,用着觉得不够了再往上走。
感谢看到这里,如果这篇文章对你有帮助的话,欢迎关注、点赞、收藏。如果有其他想看的干货文章或者文章中存在错误的地方,也欢迎在评论指出。我们下篇文章再见。



















