叶寻的博客

树莓派 4B OpenWrt 旁路由教程

叶寻
目次

2022-12-04 更新 #

现在树莓派的价格贵得离谱,性价比很低。如果你还没买,建议你别买。如果你已持有树莓派,建议去闲鱼卖了,换成玩法更多、性能更强的 X86 软路由/迷你主机。我 2019 年 10 月买的树莓派 4B 4GB 内存版价格是 462 元,现在同一家店卖 1098 元。我在闲鱼以 950 元卖掉了树莓派 4B 4GB(含外壳、风扇、电源、HDMI 线、内存卡),买了 1095 元的零刻 EQ59(N5105、16GB RAM、500GB SSD)。EQ59 性能远超树莓派 4B,我在 EQ59 装了 Proxmox VE,可以装多个虚拟机,用途更多,比树莓派好用多了。

树莓派作路由器有什么功能? #

本文内容主要来自 SuLingGGOpenWrt-Rpi 文档,感谢 SuLingGG 编译的 OpenWrt 并写了详细的文档。我的吃灰派树莓派 4B 在墓里躺了近两年,又复活了。欢迎大家捐赠 SuLingGG 编译的 OpenWrt。如果本文太难懂,请到 Youtube 或者哔哩哔哩搜索「树莓派安装 OpenWrt」和「树莓派 旁路由」,看看教程视频了解过程。然后关闭这篇教程再回来看本文。本文主要内容为安装 OpenWrt 固件、旁路由(旁路网关)设置、后续设置(扩充容量、关闭电源灯……)。

请看 SuLingGG 的文档:

刷入固件 #

刷入固件前先准备好作案工具:

准备完毕,现在开始刷入固件:

  1. 把闪存卡插入读卡器,读卡器插入电脑
  2. 打开 balenaEtcher
  3. 点击「Flash from file」
  4. 选择解压好的「openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img」
  5. 点击「Select target」,选择闪存卡,注意看容量对不对,请勿选择本机硬盘
  6. 点击「Flash!」
  7. 成功后把闪存卡插入树莓派,树莓派插电后红灯常亮表示正常

树莓派设置 #

路由器默认 IP 是 192.168.1.1,用户为 root,密码为 password。如果操作中出现问题导致无法继续配置,请重新刷入固件。

连接树莓派 #

选择一种连接树莓派的方式:

修改 WIFI 密码 #

为了防止别人连上 WIFI 捣蛋,先修改 WIFI 密码。

  1. 点击「网络 -> 无线 -> 修改」
  2. 点击「基本设置」,在「ESSID」填入 WIFI 名称
  3. 点击「无线安全」,在「密码」填入新密码
  4. 点击「保存&应用」

更改 LAN 口 IP 地址 #

我的路由器管理界面地址为 192.168.0.1,接下来要把树莓派的 IP 改为与路由器同一网段,即 192.168.0.x(0≤x≤255)。这里我把树莓派 LAN 口 IP 设置为 192.168.0.100。为了避免冲突,不要把树莓派 LAN 口 IP 最后一段设置成 0/1/255。请根据情况设置,不要照搬我的 IP。如果你的路由器管理界面为 192.168.31.1,那你可以把 IP 设置为 192.168.31.100。更改 IP 后请记好,以后管理界面都在 192.168.0.100。设置前在电脑可以打开终端(CMD 或 Powershell )检查是否冲突:

1
ping 192.168.0.100

如果显示「Destination Host Unreachable」就代表地址没被占用。如果没问题就选择一种设置方式将 LAN 口 IP 改为 192.168.0.100:

设置好后重新连接树莓派网络。

更改 LAN 口参数 #

连接路由器 #

断开电脑与树莓派的连接,用网线将树莓派接到路由器 LAN 口。

客户端设置 #

连接主路由的设备需要进行以下设置:

安装后的设置 #

建议修改管理员密码,其余设置按需调整。

扩充容量 #

固件只使用闪存卡 1G 左右的空间,剩下的空间就闲置了。我前面刷入了 ext4 固件,使用 Linux 系统的 GParted 调整 rootfs 分区即可扩充空间。rootfs 分区前后至少留出 4M 的空间3。详细教程:SD 卡分区扩容指南 | 美丽应用

修改管理员密码 #

  1. 点击「系统 -> 管理权」
  2. 在「密码」和「确认密码」处填入管理员密码
  3. 在「SSH 密钥」处填写公钥后可以 SSH 免密码连接
  4. 点击「保存&应用」

关闭电源灯 #

红色电源灯看着不舒服,于是我就关掉了。

点击「系统 -> LED 配置」,使用两个配置。

防火墙 #

我的树莓派刷入系统网络后没问题,但还是引用一下旁路由设置指南的内容,留给需要的人。

  1. 如果你的上级路由固件为 老毛子 Pandavan,树莓派做旁路由出现卡顿情况的话,请尝试关闭 Wan 口设置中的 “IPv4 硬件加速”

  2. 如果你严格按照此文章操作,但出现 无法上网、访问国内网站缓慢 等症状,可在完成上文全部步骤的基础上,在“网络 - 防火墙 - 自定义规则”中新增一行 iptables 规则并重启防火墙再试:

    1
    
    iptables -t nat -I POSTROUTING -j MASQUERADE
    

    若仍未解决,可以尝试删除原有两条规则并重启防火墙再试:

    1
    2
    
    iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
    iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
    
  3. 如果以上两个方法未能解决,请尝试在 Lan 口的“物理设置”中取消“桥接接口”的打勾,并在下方的“接口”中选择“eth0”,保存并应用再试。但请注意,此时树莓派的板载无线网卡将无法使用 (有信号但无法上网)。

  4. 本篇文章所述设置方法可能对某些型号的华为路由器无效,建议更换其他路由器再试。

超频与散热 #

超频后性能更强,相关教程请看我写的两篇博客。

问答 #

树莓派与路由器断开连接后,怎么让电脑连接树莓派? #

通过 WIFI 或网线连接树莓派,手动把 IP 设置为 192.168.0.100 的同一网段,即 192.168.0.x(0≤x≤255,x≠100),例如 192.168.0.1。此时就能连接,可以用浏览器进入管理界面 192.168.0.100 了。

忘了树莓派的 IP 地址怎么办? #

先把 microSD 卡插入 Linux 电脑,然后打开终端执行命令。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 查看分区
# user 为你的用户名
ls /media/user
# 11cd116c-beae-43ae-bfb5-b8ec18c9b98a  boot  disk

# 进入分区
# 请根据情况输入分区名称
cd /media/user/11cd116c-beae-43ae-bfb5-b8ec18c9b98a

# 查看 ip
grep "ipaddr" ./upper/etc/config/network
# option ipaddr '127.0.0.1'
# option ipaddr '192.168.0.100'

输出结果里的 192.168.0.100 就是 IP 树莓派地址。如果你不会用 Linux 就重新刷固件吧。

OpenWrt-Rpi 的插件太多了,有精简版吗? #

请使用 OpenWrt-Rpi 的姊妹版 OpenWrt-Mini,点击这里下载,安装方法和 OpenWrt-Rpi 一样。

参考资料 #


  1. microSD 才是正确的名称,但它常被误称为 TF 卡。两者的关系如下(摘录自维基百科):microSD卡原本称为TF卡(T-Flash卡或TransFlash),由摩托罗拉与闪迪共同研发,在2004年推出。不过闪迪无法自行将它推广普及化,前期仅有摩托罗拉的手机支持TransFlash。为了能将销路完全拓展,闪迪于是将TransFlash规格并入SD协会,成为SD家族产品之一,造就了目前使用最广泛的手机存储卡。 ↩︎

  2. microSD 是闪存(flash memory)卡,而不是内存(RAM,Random Access Memory)卡,但「内存卡」的说法更广泛。 ↩︎

  3. 「rootfs 分区前后至少留出 4M 的空间」的说法是在这里看到的,其实我也不知道为什么要留出 4M 空间。如果你知道,请告诉我。 ↩︎

标签:
comments powered by Disqus