QuentinHsu / Document-Page

以 issue 页面为文档记录/阅读的仓库,亦方便讨论
23 stars 1 forks source link

在树莓派中运行 OpenWRT|主路由模式 #1

Closed QuentinHsu closed 3 years ago

QuentinHsu commented 3 years ago

前言

此方案,可以说是我目前使用起来最简单,也是最稳妥的方案。 之所以说简单,是因为,它配置简单,无需太多配置,即可使用。 之所以说稳妥,是因为,一旦该路由宕机,将该路由下游的路由与上游路由相连重启即可,无需担心网络在较长时间里无法使用。

方案:树莓派 + 硬路由

大致的路由关系结构图

router

Untitled

⚠️⚠️请仔细阅读以下内容⚠️⚠️

硬件准备

软件/镜像准备

软件

镜像

这里使用 SuLingGG · GitHub 大佬编译的固件,具体仓库为 GitHub - SuLingGG/OpenWrt-Rpi。 具体机型的具体版本固件编译列表地址,点击对应的 ✅ 即可跳转。 个人推荐使用 Lean 版。

Untitled 1

若无特定需要,选择第一个(最新)的编译即可

Untitled 2

并提供三种下载方式,Google Drive、牛奶快传(Cowtransfer)、Wetransfer

Untitled 3

编译结果中的镜像文件类型又会有多种, 我个人选择 squashfs-sysupgrade 类型镜像,例如文件名 openwrt-bcm27xx-bcm2711-rpi-4-squashfs-sysupgrade.img.gz。 具体各种镜像类型的区别参考 自编译 OpenWrt 系列 - 版本区别 | 美丽应用

Untitled 4

直接下载下来的文件,为 .gz ,也是种压缩包格式。 解压后会得到 .img 格式的镜像文件。 不过你可以选择解压成 .img 的镜像文件再使用 BalenaEtcher 进行加载,也可以直接使用 BalenaEtcher 加载 .gz 格式的文件(BalenaEtcher 会自动解析出其中的 .img

写入镜像

本教程采用:直接写入 openWRT 镜像在 TF 卡里。 使用 BalenaEtcher:

Untitled 5

期间,会提示获取管理员权限:UAC确认(Windows)/ 输入登陆账户的密码(macOS)。请放心的确认。

刷好后,取下 TF 卡,装载进树莓派的 TF 卡插槽。

通电,自动开机。

约莫 1 分钟后,若能正常成功开机,在电脑 Wi-Fi 搜索列表里会看到一个名为 OpenWrt 的无加密 Wi-Fi 信号。这就是树莓派刷入 openWRT 后发射出的 Wi-Fi 信号,即刻连接。

连入 Wi-Fi 后,在浏览器访问 192.168.1.1。然后你就会看到诸如此类的页面(壁纸每天会变,因为默认用的 Bing 每日推荐图片

Untitled 6

默认账户名:root,默认密码:password。

(不要介意我截图里的地址是 192.168.100.1,因为是我改过的,避免和上游的光猫默认地址冲突。该固件,未作特殊说明,默认的后台地址都是 192.168.1.1)

配置 openWRT

由于,我们使用的是主路由的方案,所以我们要将 USB 转以太网网卡接入到树莓派的 USB 插孔上,才能得到一个双网口路由设备。假如你买的是 USB 3.0 的网卡,一定要插到 USB 3.0 上,不然就跑不满。

然后把上游路由器 LAN 口下来的网线,接到树莓派这个新增的 USB 网卡上,然后树莓派原有的网口,依旧作为 LAN 口,可以接到你的主机或者硬路由上。

配置网口

由于使用原本的网口作 LAN 口,所以我们仅需将添加的 USB 网卡设置为 WAN 口即可。

由于我已经配置过了,所以就直接截图了

网络 —> 接口 —> 添加新接口 Untitled 7

Untitled 8

即刻生效!通网!(不生效就重启下,不过应该不会。除非你把新接口名称写成“WAN”,若是,就删掉重建)

由 openWRT 负责 DHCP

假如你想在树莓派的 openWRT 里分发所有的局域网 IP,那么你就得关闭硬路由的 DHCP 服务器。并将树莓派 LAN 下来的网线,接到硬路由的 LAN 口上。

之所以要这样设置,是可以方便你在 openWRT 上通过 IP 控制局域网里的网络。

比如,对特定的 IP,授权/禁止代理。

修改默认的控制台访问地址

假如局域网里已有了 192.168.1.1(比如光猫的一般就是该地址),那么请务必修改。否则将无法正常上网。 为避免和局域网里现有的 192.168.1.1 冲突,建议修改默认的 openWRT 控制台访问地址。

网络 —> 接口 —> LAN 口 —> 修改 Untitled 9

修改 IPv4 地址即可

Untitled 10

另外,也建议将 “IPv4 网关”,和“使用自定义的 DNS 服务器”都设置为树莓派的 IPv4 地址,也就是刚刚你设置的地址。但修改->保存并应用后,必须还得重启路由器,不然你将无法正常上网。

关闭自带 Wi-Fi

由于,平时对于这个 Wi-Fi,可有可无。为了节约电费,还是关闭吧。

网络 —> 无线 —> 停用

Untitled 11

固件更新

目前树莓派上,只能低格后再写入新的固件。无法在线更新(不信的话,你可以自己试试

低格时需要用的文件:

Restore-SDCard-4G.img.zip

每次更新新固件前,先以刷入固件的方式,刷入该文件。

然后再刷入新的固件。

这时。你会得到一个“干净”的 openWRT

所以建议,在配置完一个完整的可用配置后,记得备份下配置,方便以后的更新后快速恢复配置

固件配置备份生成/恢复

系统 —> 备份/升级 —> 动作 —> 生成备份

Untitled 12

假如你要恢复配置,就是上述截图中的,“恢复配置”,上传之前你备份的备份文件即可。

开心的网上冲浪吧!🏄‍♀️

在此感谢 openWRT 开源社区大佬们的无私奉献!

自配置固件

机型:树莓派 4B 插件:偏精简,科学上网插件,UPnP,上网时间控制 USB 驱动:基本依照 @SuLingGG 大佬的配置(截止 2021年 1 月 31 日) 下载

使用我编译的固件,无需每次更新固件后手动配置 WAN 口,可自动配置联网。详情见项目 README。

powape commented 3 years ago

你好,我跟你一样想用树莓派4B+1663做主路由,你的这篇文章对我很有帮助。我看到你的图片全部不显示,烦请检查一下图库,谢谢!

QuentinHsu commented 3 years ago

你好,我跟你一样想用树莓派4B+1663做主路由,你的这篇文章对我很有帮助。我看到你的图片全部不显示,烦请检查一下图库,谢谢!

很抱歉,这是网络的原因。您是可以解决的:对 GitHub 网址进行代理。

因为我的图都是上传到 GitHub 的,我无条件使用对于国内网络友好的图库。

powape commented 3 years ago

你好,我跟你一样想用树莓派4B+1663做主路由,你的这篇文章对我很有帮助。我看到你的图片全部不显示,烦请检查一下图库,谢谢!

很抱歉,这是网络的原因。您是可以解决的:对 GitHub 网址进行代理。

因为我的图都是上传到 GitHub 的,我无条件使用对于国内网络友好的图库。

好的,谢谢!

SuLingGG commented 3 years ago

这就是强者的世界吗.JPG

to-Meeko commented 3 years ago

你好. 感谢. 过两天回老家, 我也做一下. 赞

Mrkinpa commented 3 years ago

一个网口就可以实现了、没必要再弄个 USB 网卡

QuentinHsu commented 3 years ago

一个网口就可以实现了、没必要再弄个 USB 网卡

那大佬有空出个对应教程?

RyanXu11 commented 3 years ago

一个网口就可以实现了、没必要再弄个 USB 网卡

那大佬有空出个对应教程?

一个网口应该是旁路由不是主路由吧?

QuentinHsu commented 3 years ago

一个网口就可以实现了、没必要再弄个 USB 网卡

那大佬有空出个对应教程?

一个网口应该是旁路由不是主路由吧?

可以单臂路由 / VLAN

CodeDreamfy commented 3 years ago

感谢大佬贡献教程!

QuentinHsu commented 3 years ago

感谢大佬贡献教程!

大哥别骂了 /(ㄒoㄒ)/~~

oroliy commented 3 years ago

感谢大佬贡献教程! 我用的r8152 usb网卡,iperf3测速发现单独usb网卡可以跑满1G。但是ge口进,usb网口出场景最多只能跑到300Mbps+, CPU占用也只有30%+,是不是4b的ge口和usb 3.0有冲突😂

QuentinHsu commented 3 years ago

感谢大佬贡献教程! 我用的r8152 usb网卡,iperf3测速发现单独usb网卡可以跑满1G。但是ge口进,usb网口出场景最多只能跑到300Mbps+, CPU占用也只有30%+,是不是4b的ge口和usb 3.0有冲突😂

很抱歉,我未对您所属方案有尝试。 我仅仅尝试过“USB网口进(WAN),原生网口出(LAN)”的方案,且局域网下能跑 700Mbps。