本文记录了我通过树莓派CM4计算模块搭建OpenWrt软路由的过程以及遇到的问题和解决方法,其中仍有部分问题,因个人接触网络与linux知识不够深入,无法解决。如果有任何建议,欢迎交流,也希望这篇文章能帮助和我遇到一样问题的人。

设备:树莓派CM4计算模块Lite(2G运行内存+Wifi)、DFR0767 CM4物联网路由扩展板 Mini、CM4天线与32GTF卡。(并非作为软路由最优搭配,仅供参考)

最终成品 

我的需求是搭建一个无线加速器软路由,一连上Wifi即可通过代理上网:WAN口连接上层路由器,DHCP获取IP地址,Wifi模块工作在AP模式广播一个热点,LAN与WLAN共享DHCP,向客户端分配IP地址,Openwrt安装openclash插件并开启代理。

目前基本需求实现,WIFI功能正常,连接后可以通过代理上网,但LAN口工作有问题,插上网线后,电脑可以识别网络、能够通过DHCP获取到ip地址,但无法上网,无法ping通软路由。猜测可能是静态路由表的问题,希望有看到的大神可以解答!

下面是系统搭建的步骤:

1.下载Openwrt固件并烧录

        我使用了DFROBOT的DFR0767CM4扩展板,主要看中了它有一个走PCIE通道的外置RTL8111网卡(但目前没有成功使用上),因此固件使用官方编译完成的固件。固件下载与烧录可以参考链接。
DFROBOT DFR0767 CM4 物联网路由扩展板 Mini 产品资料 使用教程树莓派计算模组4 物联网路由器扩展板 , 是基于树莓派计算模组 4 的网络扩展版。通过 PCIe 2.0 连接千兆网卡,使树莓派CM4拥有了两个全速千兆网口,并且保留了树莓派特色的 GPIO 排针。加上 BCM2711 4 核心 Cortex-A72 的强大性能和树莓派社区丰富的软件支持,使它可以成为网关、智能路由器、家庭物联网平台的坚实基础。也可以连接外设,作为小型 NAS、无线网桥、4G上网终端使用。https://wiki.dfrobot.com.cn/DFR0767_CM4_%E7%89%A9%E8%81%94%E7%BD%91%E8%B7%AF%E7%94%B1%E6%89%A9%E5%B1%95%E6%9D%BF_Mini#target_3

固件烧录完成后插上软路由,连接网线,ETH0作为WAN口连接上级路由器,ETH1连接电脑,接通电源,等待CM4启动。启动完成后打开浏览器,输入192.168.1.1进入web管理界面。初始状态无密码,直接登录。

2.启用无线网卡,创建AP热点

 

该固件在初始状态下,网络处是看不到无线选项的,其原因是驱动问题导致网卡设备识别不到,在服务下的Terminal中,输入root回车登录,输入ifconfig -a 可以发现找不到wlan0设备。

终端位置

期望结果

如何解决:首先,输入第一行命令进入/lib/firmware/brcm目录,通过ls命令可以看到里面包含了树莓派4B的网卡驱动程序,没有正常加载驱动的原因在于brcmfmac43455-sdio.raspberrypi,4-model-b.txt这个文件是树莓派4B使用的,而CM4不会加载这个文件。因此利用第二行命令复制出一个文件名为brcmfmac43455-sdio.raspberrypi,4-compute-module.txt的文件,输入reboot命令重启,即可看到网络-无线选项出现。

cd /lib/firmware/brcm
cp brcmfmac43455-sdio.raspberrypi,4-model-b.txt brcmfmac43455-sdio.raspberrypi,4-compute-module.txt

此时出现第二个问题,在无线选项中,无法正常创建AP热点,在web管理端中看到已创建,但无法搜索到wifi信号,也无法正常更改信道等设置。这是由于AP默认带宽为80M,但不知为何工作有问题。需要将其调整为40M方可正常工作。

如何解决:在终端中输入命令

vi /etc/config/wireless

按A键编辑,将文件内容改为下图所示,按ESC取消编辑,输入:wq保存并退出,输入reboot保存并重启。

此时可以发现,在网络-无线选项中AP工作正常,可以调节信道等(不要动带宽!),且已经能搜索到WIFI信号,但尝试连接时应该会卡在正在获取IP地址,下面进行网络参数设置,使其正常工作。注意!!!下面设置后,只有WIFI正常工作,LAN口会工作不正常,建议准备好一个usb转ttl,如果出现问题,无法通过web端管理路由时,可以使用串口进行调节修正。

3.网络参数的调整

我的上级路由地址为192.168.50.50(网关)软路由地址设置为192.168.1.1,软路由WAN口通过DHCP获取192.168.50.x的地址,WIFI与LAN口通过DHCP给连接主机分配192.168.1.x地址。

首先点击网络-接口,左下角添加新接口,设备选择wlan0,协议选择静态地址,名称命名为WLAN,详细设置如下图。

防火墙设置区域与LAN相同,DHCP服务器中勾选动态DHCP,并禁用IPV6相关选项,其余保持默认。

编辑LAN(eth1)调节设置如下图,DHCP服务器选项与上文相同,其余保持默认。

WAN口应当不需要进行其他设置,保持不动。

在网络-接口-设备中,编辑eth0、eth1、wlan0 全部取消启用ipv6勾选。

进入网络-无线选项,对AP进行编辑,选择网络为WLAN(wlan0),密码与SSID设置自便。

进入网络-静态路由选项,添加静态ipv4路由,选择网络为WLAN 目标为192.168.1.0,子网掩码为255.255.255.0,网关为192.168.1.1

使用终端输入 vi /etc/config/network 如上文操作修改参数并保存,参考如下图

调整设置后记得保存,在调整中可能会出现WIFI不能用或者是LAN不能用,可以全部改完以后应用或者不断插拔网线(滑稽),到这一步保存重启后,WIFI就应该能够正常连接上网了。下面开始进行OPENCLASH的安装

4.OPENCLASH安装

        首先,安装各种依赖库,打开终端,依次输入下面代码:

opkg update
opkg install luci
opkg install luci-base
opkg install iptables
opkg install dnsmasq-full
opkg install coreutils
opkg install coreutils-nohup
opkg install bash
opkg install curl
opkg install jsonfilter
opkg install ca-certificates
opkg install ipset
opkg install ip-full
opkg install iptables-mod-tproxy
opkg install kmod-tun
opkg install luci-compat代码参考自
https://cloud.tencent.com/developer/article/1693260

其中安装dnsmasq-full时可能会报错,可以在软件包管理界面或是使用命令卸载原先的dnsmasq包,再安装dnsmasq-full即可。

然后前往github下载openclash的ipk,我这里使用了v0.43.06beta版本,链接如下Release v0.43.06-beta · vernesong/OpenClash · GitHubhttps://github.com/vernesong/OpenClash/releases/tag/v0.43.06-beta        下载得到ipk文件,使用Winscp软件将文件传输到软路由/tmp文件夹下,此处方法不再赘述,可自行查找。

执行安装命令,cd /tmp 进入目录,ls列出文件,然后使用 opkg install xxxx.ipk安装软件包。

安装完毕后,刷新web界面可以看到在服务处出现openclash选项。

下面进行openclash内核安装,参考链接下载内核,我将三个内核:dev、tun、tun-game 全部安装了。

DEV内核

Release Clash · vernesong/OpenClash · GitHubhttps://github.com/vernesong/OpenClash/releases/tag/Clash         TUN内核

Release TUN(Tun-Mode) · vernesong/OpenClash · GitHubA Clash Client For OpenWrt. Contribute to vernesong/OpenClash development by creating an account on GitHub.https://github.com/vernesong/OpenClash/releases/tag/TUN-Premium        TUN-GAME内核

Release TUN(Game-Mode) · vernesong/OpenClash · GitHubhttps://github.com/vernesong/OpenClash/releases/tag/TUN        三个内核下载完毕后,使用压缩软件解压得到三个clash文件(不要放到同一个文件夹里),按下载的类型将文件重命名为clash(对应dev)、clash_tun(对应tun)、clash_game(对应game)。使用Winscp软件将文件传输到/etc/openclash/core目录中,然后右键调整属性,三个文件权限都设置为777,重启,此时clash插件应该就能正常工作了,自行配置后即可使用wifi进行代理上网。本次记录结束,最后附上最终成果图片。

5.部分参考文章
OpenClash 安装和简单使用教程及常见错误解决(openwrt) - 阿道https://adao.me/ruanjian/216.html树莓派4B 亲手打造一款Openwrt软路由(带编译固件-超详细) - RaspberryPi硬核系列(三) - 哔哩哔哩https://www.bilibili.com/read/cv9714518/LEDE(OpenWrt)安装openclash |旁路由技巧 | 配置网络流量全部通过旁路由 - 云+社区 - 腾讯云https://cloud.tencent.com/developer/article/16932606.写在最后

这是我第一次写CSDN文章,在整个搭建过程中遇到了大大小小的问题,虽然其中有部分仍然没解决(指LAN口不能用),但总算基本符合预期了,因此希望写一篇文章分享出来,希望能对和我遇到了一样问题的人有所帮助。这个软路由的实际性价比不高,各种材料加在一起最便宜应该也接近500了,也只是想借此机会搭建出一个能够学习网络与linux方面知识的软路由,如果只是拿来做个代理路由器实在是有点奢侈了,另外由于本人是刚开始学习openwrt,所以文章中的各种设置是参考了网络各类大神以及自己摸索出来的,不少地方是知其然不知其所以然,而且有些地方的调整我自己也忘了,不过应该大差不差,仅供大家学习参考2333。

另外,LAN口不能用的问题详细如下,在连接LAN口后,使用电脑ping软路由时在系统日志里面会显示

daemon.err odhcpd[2179]: Failed to send to ff02::1%lan@eth0(Permission Denied)简单调了一下防火墙问题没有解决,希望有大神可以解答。

树莓派计算模块CM4搭建软路由OpenWrt+OpenClash过程记录相关推荐

  1. 在树莓派计算模块CM4上安装Ubuntu Server 20.04

    陈拓 2021/10/26-2021/12/09 1. 概述 Ubuntu Server 21.10只支持到2022年7月,而20.04支持到2025年4月.如果做产品开发还是选择20.04版好一些. ...

  2. 【视频】树莓派4B运行OpenWrt系统通过华为ME909s模块实现4G软路由数据分享

    By Mcuzone 关键词:Raspberry Pi  4B  3B RPI  HUAWEI  ME909  4G  LTE  openwrt  软路由  soft router  蜂窝数据  Wi ...

  3. Vmware搭建软路由教程(Openwrt)

    Vmware搭建软路由 准备工作 vmware虚拟机: OpenWrt-on-VMware-master包(https://github.com/luoqeng/OpenWrt-on-VMware提供 ...

  4. 树莓派软路由Openwrt

    文章目录 树莓派软路由Openwrt教程 固件 步骤 注意事项 还有一部分好康的 安装UU加速器插件 步骤 树莓派软路由Openwrt教程 固件 https://github.com/SuLingGG ...

  5. 用树莓派计算模块搭建的工业单板计算机(转)

    编译自:http://hackerboards.com/industrial-sbc-builds-on-rpi-compute-module/ 本文地址:https://linux.cn/artic ...

  6. 树莓派计算模块Compute module4震撼发布 !

    2020年10月19日树莓派官网正式发布树莓派计算模块Compute module4 . 二话不说直接上图欣赏一下CM4: 感觉更加小巧了,芯片模块也多了不少,想必功能比CM3+更强大. 这次新版的计 ...

  7. 适合于初学者—软路由全探索系列(三):探索旁路由/软路由 OpenWrt 系统 PassWall 服务应用

    适合于初学者-软路由全探索系列(三):探索旁路由/软路由 OpenWrt 系统 PassWall 服务应用 一.获得订阅链接 二.OpenWrt 中的 PassWall 设置 1.打开 PassWal ...

  8. 树莓派能做Linux开发板,balenaFin:兼容树莓派计算模块的开发板,

    balenaFin:兼容树莓派计算模块的开发板, balenaFin 是一款兼容树莓派计算模块的底板,给树莓派用于产品设计和研发提供解决方案.目前 balenaFin 支持树莓派 CM3 和 CM3+ ...

  9. 树莓派烧写OpenWrt系统后外接华为ME909或移远EC20 4G LTE模块实现4G软路由即MiFi

    By Mcuzone 关键词:OpenWrt  4G  LTE  软路由  华为ME909s  移远 EC20  树莓派  Raspberry  Pi  3B  4B  WiFi  热点  SSID ...

最新文章

  1. JAVA获取局域网内对应IP电脑的MAC地址(物理地址)
  2. ARKIT/ARCore对比分析(一)
  3. Facebook 开源高质量实例分割数据集 LVIS
  4. MATLAB从入门到精通系列之MATLAB维度获取size()函数详解
  5. Yii2 restful 分页支持
  6. SpringBoot中对thymeleaf的时间进行格式化显示
  7. 不忘每份支持,网易云信感谢一路有你
  8. CentOS7 DNS的添加
  9. android产品设计,Android产品设计
  10. web字体设置成平方字体_如何托管自己的Web字体
  11. 4怎样判断动作是否执行_汽车驾驶怎样试验高压火,怎样判断分电器盖是否破裂,来看看吧!...
  12. Webpack4 学习笔记 - 02:loader 打包静态资源(图片)
  13. Linux 上的数据可视化工具
  14. 计算机的mac被交换机绑定,华为交换机绑定IP与MAC地址 -电脑资料
  15. 带你进入 jBPM 工作流的世界
  16. oracle linux 下载地址
  17. java docx4j 目录_使用Docx4j创建word文档
  18. Photoshop制作墙壁立体雕刻字
  19. 7-10 抢楼层 (20分) ---注意歧义啊!
  20. magisk卸载内置软件_如何卸载/恢复iPhone自带的内置应用?

热门文章

  1. elementui固定表格头部
  2. 电子科大2020计算机考研真题,2021电子科技大学考研历年真题复习资料
  3. 设计模式-行为型模式,状态模式(14)
  4. html 进入页面延迟加载数据,跳转至预加载的页面后数据显示延迟问题
  5. 线索二叉树(Threaded BinaryTree)
  6. 如何选择第三方鉴定机构?
  7. 智能交通工程质量的第三方监测
  8. 佳博/芯桦打票机对接(含USB和网口)
  9. 搜索的实例——水管工游戏
  10. PlantUML(程序员绘制流程图专用工具)