本文記錄了我通過樹莓派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 · GitHub
https://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 · GitHub
https://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 · GitHub
https://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)簡單調了一下防火墻問題沒有解決,希望有大神可以解答,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317659.html
標籤:其他
