解锁 OpenWrt 的黑魔法

在使用 OpenWrt 前,我们先来了解下什么是 OpenWrt,维基百科是这样介绍的:

OpenWrt 是适合于嵌入式设备的一个 Linux 发行版。相对原厂固件而言,提供了一个可添加软件包的可写的文件系统。

简单的来说,OpenWrt 除了提供基础的路由功能外,还提供了更多的自定义等扩展功能,比如去除广告,屏蔽恶意域名、动态 DDNS、科学上网、脱机离线下载等功能,如果你有插件开发能力,还可以扩展你所需要的各种功能。

一般我们将普通的路由器称为硬路由,而将OpenWrt称作软路由。硬路由相对于软路由来说,有专门的硬件来来保证数据包的高速稳定路由,所以 CPU 性能较弱,在过滤广告、科学上网 等 CPU 密集型场景下就显得捉襟见肘,软路由就和硬路由正好互补,没有专门的硬件支持路由,但 CPU 性能较强,能很好的支持扩展功能,所以我们通常在路由层级构建科学上网、过滤广告,以使家庭局域网内的所有设备自动出国留学、跳过烦人的 90s 广告等。

在搭建软路由前,让我们先来了解一下 OSI 模型,它是互联网通信的基础模型,能让我们更好的了解路由器的工作原理:

从上图可以看到,我们的家用路由器 = 路由器 + 交换机 + AP。

下图是我当前的家庭网络拓扑图,在旁路由这种工作模式下,运营商流量通过桥接的光猫到达路由器,硬路由器完成拨号认证接入,然后到达同级的软路由进行 DHCP 对应设备的流量下发,然后再到达硬路由,通过有线或 WiFi 的方式与家庭设备通信。正是由于局域网内的设备 IP 均由软路由 DHCP 下发,所以才能实现对局域网的流量进行管控,比如过滤广告,科学上网等。

理解了工作原理,就可以参照这篇文档或者这个视频来设置 R2S了。

特别要说明的是,在文档教程中,我们需要第一次将网线和硬路由的LAN 口和软路由的 WAN 口相连,此时软路由作为硬路由的下游设备,获取到硬路由分配的 IP 后,我们才能连接到软路由进行设置,打开软路由的 DHCP 关闭硬路由的 DHCP 后,再将网线的一头连接硬路由的 LAN 口,另一头也连接软路由的 LAN 口,此时他们作为同级设备,所以称软路由为旁路由。

我在 macOS 下烧系统时,balenaEtcher 使用的是旧版,不停的报错something went wrong. if it is a compressed image please check that the archive is not corrupted,我还以为是系统包或者 TF 卡有问题,最后下载最新版马上就烧进去了,在这花了不少时间。

因为热爱,所以执着。