好文集ChatGPT Plus¥119

软路由保姆级教程:不用买设备,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 Managerx86_64_efi目录里的镜像,本文实测的就是这种
其他品牌的NAS各家自带的虚拟机功能,需要机型支持同上
Windows电脑Hyper-V或VMware虚拟机官方Virtual目录里有现成的.vhdx和.vmdk格式
Intel芯片的MacVMware Fusion或UTM虚拟机.vmdk格式,或x86_64_efi镜像
M系列芯片的MacUTM虚拟机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地址主路由网段里一个没被占用的地址,以后它就固定用这个IP192.168.81.120
子网掩码已经预填好,一般不用改255.255.255.0
网关地址主路由的IP192.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
路由器填软路由的IP192.168.81.120
配置DNS选手动,填软路由的IP192.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.5192.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固定出口、合并多个订阅、全家自动生效等

三篇写下来,从一台手机,到一台电脑,再到一台软路由,其实是同一件事的三个台阶。不需要一步到位,手上有什么设备就从哪一篇开始,用着觉得不够了再往上走。

感谢看到这里,如果这篇文章对你有帮助的话,欢迎关注、点赞、收藏。如果有其他想看的干货文章或者文章中存在错误的地方,也欢迎在评论指出。我们下篇文章再见。

全文完
查看原文