引言
树莓派是一款功能强大的微型计算机,广泛应用于物联网、嵌入式系统等领域。除了作为单独的计算设备使用外,树莓派还可以通过配置为旁路由,实现局域网内的网络管理和控制。
又翻出来一台吃灰的树莓派,不知道做什么了,想试着做做旁路由,感受一下不一样的上网体验~。
准备工作
在开始配置旁路由之前,你需要准备以下材料和环境:
- 一台树莓派(我用的是树莓派 4B)
- 一张 SD 卡(越大越好)
- 一根网线
- 一台电脑(用于配置树莓派)
- 一个可用的无线网络
烧录固件
- 下载固件:我使用的是开源版的
immortalwrt
,从以下地址下载自编译的 openwrt 的固件:
https://downloads.immortalwrt.org/releases/21.02.6/targets/bcm27xx/bcm2711/immortalwrt-21.02.6-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz
- 烧录固件:使用烧录工具将固件写入 SD 卡,推荐使用balenaEtcher(UI 美观)或者 rufus(轻量简洁),二者均开源免费。
连接树莓派
有两种方式连接树莓派:
- 使用电脑打开默认 UI 网页:http://192.168.1.1, 默认账户为:root,密码为:password,登陆后建议修改默认账户密码(有提示指引)。
- 通过 SSH 进入,
ssh root@192.168.1.1
连接到树莓派命令行终端。
修改 LAN 口参数
为了实现旁路由的功能,我们需要把树莓派的 LAN 口的 IP 地址改为静态地址。对于静态 IP 的选择,我们需要知道上级路由器的 IP 子网,这个可以登录到路由器后台查看,或者查看连接到路由器的其他设备(如手机)的 IP 地址。
我的上级路由器 IP 为:192.168.0.1,那么子网范围就是 192.168.0.[1~255],我们可以任意设置一个 2-255 的 IP,但是前提是该 IP 未被分配出去,你可以通过ping
IP 来查看是否存在,如果提示Destination host unreachable.
,说明该 IP 不存在,可以使用。当然,你也可以使用其他 IP 扫描工具来测试。
这里我们使用 192.168.0.123 作为树莓派的静态 IP 地址。
更简单的配置方法
配置完之后,动了动脑子,感觉这两步可以何在一起直接在配置文件中修改,或者在 OpenWrt 控制台的网络->接口->LAN
中修改。虽然我没试过(累了不想动了),但是我验证了配置文件,我觉得没毛病。
🚨 以下均为合理推测 xD🚨
方法1:直接修改网络配置文件
网络配置文件位于`/etc/config/network`路径下,可以使用文本编辑器(如vi或nano)进行编辑。首先,使用以下命令进入网络配置文件:
vi /etc/config/network
然后,更改 LAN 接口的 IP 地址,你可以在配置文件中找到以下行:
config interface 'lan'
option ipaddr '192.168.1.1'
将config interface 'lan'
的值更改为我们需要的配置参数
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.0.123'
option gateway '192.168.0.1'
option broadcast '192.168.0.255'
option dns '192.168.0.1'
保存并退出文件。
接下来,重新启动网络服务以使更改生效:
/etc/init.d/network restart
方法2:直接在OpenWrt控制界面修改
修改设置参数如下:
以下我配置的时候,参考的方法:
修改 IP 地址
如果你是使用网页连接的树莓派,可以从
系统->TTYD终端
页面进入树莓派的命令行。
在命令行终端输入一下命令:
uci set network.lan.ipaddr=192.168.0.123
uci commit network
/etc/init.d/network restart
修改网关及 DNS
修改好 IP 地址之后,我们需要修改一些其他的 IP 参数来保证网络的正常运行。
断开并重连电脑与树莓派的连接,如果搜不到树莓派的 WiFi 网络,树莓派重启一下应该就好了(我配置的时候用的 win10,断开之后就检测不到了,重启下就好了,不知道是我的原因还是系统原因。。。)。
浏览器打开 OpenWrt 的界面(http://192.168.0.123),输入默认账户root,密码password,进入web界面后,先根据指引修改登录的账户密码。
首先,进入网络->接口
页面,选中修改LAN
接口:
传输协议:静态地址
IPV4 地址:192.168.0.123
IPV4 子网掩码: 255.255.255.0
IPV4 网关:192.168.0.1 (上级路由IP)
IPV4 广播:192.168.0.255 (把上级路由 IP 最后一段改为 255)
DNS 地址:192.168.0.1
然后,勾选下方基本设置中的忽略此接口
。
查看图片说明
最后,点击保存&应用
。
到这一步,树莓派的内部配置基本已经完成,接下来我们断开电脑与树莓派的连接,将树莓派的网口接入上级路由器的 LAN 口即可,为了保证正常工作,可以手动重启一下树莓派。
客户端配置
然后是客户端的配置,对于每一个需要使用旁路由的设备,我们都需要修改为静态 IP 地址,分配一个路由器子网内的 IP 即可,以上文 IP 网段为例,我们可以使用192.168.0.199
。
我们以设置 Windows11 连接到旁路由为例,
IPV4 地址:192.168.0.199
IPV4 子网掩码: 255.255.255.0
IPV4 网关:192.168.0.123 (树莓派IP)
DNS 服务器:192.168.0.123 (树莓派IP)
查看配置图片说明
Win 11
设置保存之后,我们来验证一下是否成功,打开cmd
输入ipconfig
,查看 WiFi 网卡的基本信息,如果输入类似以下内容,代表静态 IP 配置成功:
Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::687b:87f3:b17b:5c1%19
IPv4 Address. . . . . . . . . . . : 192.168.0.199
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.123 #主要是这里
以防万一,我们打开浏览器,访问一个网站,如果能够正常打开,说明配置成功。
以上,使用树莓派作为旁路由的基本流程就结束了,之后你可以根据自己的需求去定制各种功能,当然,我使用的这个immoralwrt
,里面已经内置了很多功能(有魔法,dddd),你可以自由开启关闭。
版本不同可能初始项不同,但是都可以在软件包(系统->软件包
)中/手动下载安装.
├── 状态
│ ├── 概况│ ├── 防火墙
│ ├── 路由表
│ ├── 系统日志
│ ├── 内核日志
│ ├── 系统进程
│ ├── 实时信息
│ ├── 实时监控
│ ├── WireGuard 状态
│ ├── Online User
│ ├── 负载均衡
│ └── 释放内存
├── 系统
│ ├── Web 管理│ ├── 系统
│ ├── 管理权
│ ├── 软件包
│ ├── TTYD 终端
│ ├── 启动项
│ ├── 计划任务
│ ├── 挂载点
│ ├── 磁盘管理
│ ├── LED 配置
│ ├── 备份 / 升级
│ ├── 自定义命令
│ ├── 定时重启
│ ├── 文件传输
│ ├── Argon 主题设置
│ └── 重启
├── 服务
│ ├── PassWall│ ├── AdGuard Home
│ ├── 上网时间控制
│ ├── 微信推送
│ ├── Adblock
│ ├── OpenClash
│ ├── 动态 DNS
│ ├── WiFi 计划
│ ├── SmartDNS
│ ├── WatchCat
│ ├── 网络唤醒
│ ├── Tinyproxy
│ ├── UPnP
│ ├── KMS 服务器
│ ├── Shairplay
│ ├── Frps
│ ├── Nps 内网穿透
│ ├── Frp 内网穿透
├── 网络存储
│ ├── 文件助手│ ├── 文件浏览器
│ ├── NFS 管理
│ ├── 储存同步
│ ├── FTP 服务器
│ ├── 网络共享
│ ├── Aria2 配置
│ ├── Transmission
│ ├── PCHiFi 数字转盘遥控
│ ├── 挂载 SMB 网络共享
│ ├── MJPG-streamer
│ ├── Rclone
│ └── BaiduPCS Web
├── VPN
│ ├── PPTP VPN 服务器│ ├── IPSec VPN 服务器
│ ├── OpenVPN 服务器
│ └── ZeroTier
├── 网络
│ ├── 接口│ ├── 无线
│ ├── 访客网络
│ ├── DHCP/DNS
│ ├── 主机名
│ ├── IP/MAC 绑定
│ ├── 静态路由
│ ├── 防火墙
│ ├── 诊断
│ ├── SQM QoS
│ ├── UDP 工具
│ ├── Socat
│ ├── 负载均衡
│ └── Turbo ACC 网络加速
├── 带宽监控
│ ├── 显示│ ├── 配置
│ ├── 备份
│ └── 实时流量监测
└── 退出
参考资料
https://github.com/immortalwrt/immortalwrt
https://github.com/SuLingGG/OpenWrt-Rpi/wiki
https://linux-command-list.vercel.app
配置 openclash
这里记录一下一些 openclash 配置项。
插件配置
带星号标红的是必须要确认的项,其他基本保持默认即可,也可根据自己的需求更改。
模式设置
:运行模式建议使用Fake-IP增强模式
,性能更好。流量控制
:可以勾选实验性:绕过中国大陆 IP
DNS 设置
:本地 dns 劫持选择使用dnsmasq转发
流媒体增强
:根据个人需求配置,我没需求所以没改。黑白名单
:根据个人需求配置,我没需求所以没改。外部控制
:clash 的 UI 面板,设置一下登录密码就行。IPv6 设置
:根据个人需求配置,我没需求所以没改。第三方规则订阅
:使用了内置的第三方规则集的,可以配置一下自动更新。GEO 数据库订阅
:GEO 数据库的订阅及自动更新大陆白名单订阅
:配置白名单列表订阅及自动更新定时重启
:设置定时重启版本更新
:更新内核的界面,使用 meta 内核首次设置需要下载安装开发者选项
:大佬专属界面,不知道做什么的,之后有机会研究一下调试日志
:debug 时候用
顺便分享一下我的配置,也防止我自己时间久了就忘记了:
🔔多图预警
插件设置
覆写设置
规则附加
Sooner or later, everything ends.