RaspberryPi 3b+ 安裝OpenWrt教程



layout: post
title: "RaspberryPi 3b+ 安裝OpenWrt教程"
date: 2019-09-28 22:00:00 +0800
categories: RaspberryPi

近日在研究p2p原理的時候,因為NAT類型的限制,遇到了不少麻煩,而我們宿舍的路由器又不支持控制NAT方式,於是想在我的樹莓派上安裝OpenWrt以實現一個NAT可控的路由器,本以為既然有了OpenWrt官方固件,應該會比較簡單,可還是遇到了不少麻煩,因此簡單記錄一下,供遇到同樣問題的朋友們參考。

硬件

  • Raspberrypi 3b+

首次說明一下需要的硬件,因為 Raspberrypi 3b+ 本身帶有無線網卡,網線接口,如果只是打算用樹莓派連接WAN,作為無線路由器的話,是不需要任何其他配件的,對於之前的型號,可能就需要配網卡了。

  • 顯示器、鍵盤

注意snapshot版本是不帶 lcui 的,所以沒法直接在瀏覽器進入管理界面,不過理論上來說,開機之后,通過網線和電腦相連應該就可以通過 192.168.1.1 登錄 ssh 了,但是不排除因為網絡調整之類的原因導致無法連接,最好直接連接顯示器和鍵盤,便於調試。

固件說明

接下來說一下固件,有兩種類型固件,一種是release版本,另一種是snapshot版本。在我安裝的時候,release版本不帶無線網卡驅動,而snapshot版本不帶lcui(也就是用於在瀏覽器登錄的那個路由器管理程序)。
我原本安裝的是release版本,安裝好之后發現無線網卡無法啟動,於是從我的Raspbian系統中復制了相應的無線網卡驅動到OpenWrt系統中,然后就可以成功連接WIFI,也能開AP了,但是由於在之后我連接WAN的時候,樹莓派總是莫名重啟,頻繁到根本無法連接到熱點,於是我決定試試snapshot版本。所以下面就從說說snapshot版本的安裝與配置過程吧,建議讀者安裝snapshot版本,我當時查資料的時候大家都推薦的snapshot版本,這應該都是大家試驗之后得出的結論。

下載安裝

下載

有好幾種鏡像,分兩種文件系統、兩種類型( factorysysupgrade ),文件系統都可以,但是要注意 sysupgrade 是用於在路由器管理界面升級使用的,factory 才是使用SD卡刷系統使用的,因為相對更了解ext4,所以我下載了ext4-factory版本。

解壓並寫入鏡像文件

注意sdX代表你SD卡對應的設備文件

gzip -d openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img.gz

sudo dd if=openwrt-brcm2708-bcm2710-rpi-3-ext4-factory.img of=/dev/sdX bs=2M conv=fsync

開機

接好顯示器和鍵盤,把sd卡裝入樹莓派開機,如果不出意外應該就可以看到輸出,等屏幕上提示按Enter啟動console的時候,就可以按Enter啟動終端了。

如果沒有顯示器的話,可以嘗試用網線直接連接電腦,看能否通過 root@192.168.1.1 登錄,默認是可以直接登錄的,登錄之后可以通過 passwd 設置root密碼。

當然也可以先把sd卡掛載到電腦上,根據下面的說明,改好配置文件后再裝進去開機測試。

啟用無線網卡

確認無線網卡是否正常驅動

使用 ip addr 命令,查看 interface 信息如果存在 wlan0 ,則可確定無線網卡驅動沒有問題。

啟用無線網卡

我在剛開機時執行 ip addr 命令,wlan0 的狀態為 DOWN 也就是關閉狀態,因此需要手動啟用。於是我嘗試使用 wifi up 命令來啟用,但是並沒有成功,好像是提示 wlan0處於disabled狀態,這時候如果你執行 wifi status 應該可以看到 radio0disabled 屬性為 true

因此需要修改 /etc/config/wireless 文件(系統帶有 vi 命令),將 radio0 配置中的 disabled 改為 0

...
config wifi-device 'radio0'
        ...
        option disabled '0'
        ...

然后執行 /etc/init.d/network restart 重啟網絡服務,這時候再次使用 ip addr 查看網絡情況,無線網卡應該就已經啟用了,如果沒有的活,可以嘗試使用 wifi up 或者 ip 命令手動啟用

配置網絡

我的配置方式是使用wlan0(無線網卡)建立本地無線局域網,而eno0(以太網卡)只用於連接WAN。

因此我將原本配置文件的 lan 配置中包含 bridge 那一行刪掉了,因為我並不打算用於橋接,並且改成了使用無線網卡 wlan0(原本是eno0)。

還有一點值得注意的是,我將 lan 中的 ipaddr 改為了 192.168.2.1 , 這是為了避免將WAN口連接到我們宿舍的路由器上時發生地址沖突,這樣配置之后,連接到樹莓派的無線局域網中的設備的ip也將是192.168.2.*,用那些設備登錄路由器設置(現在還不能用,只有裝好了lcui才能用)或者登錄ssh的話要使用 192.168.2.1 這個地址。

如果你使用網線連接電腦的方式登錄ssh,這樣配置會導致你無法繼續使用這種方式,不過如果wifi配置正確的話,應該可以連接wifi來繼續使用ssh。

config interface 'lan'
	option ifname 'wlan0'
	option proto 'static'
	option ipaddr '192.168.2.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

對於WAN,要根據實際情況配置

  • 如果是寬帶的話,一般是使用 PPPOE 方式
config interface 'wan'
	option proto 'pppoe'
	option ifname 'eth0'
	option ipv6 'auto'
	option username '用戶名'
	option password '密碼'
  • 如果是DHCP局域網,配置更為簡單
config interface 'wan'
	option proto 'dhcp'
	option ifname 'eth0'

改好配置文件之后, /etc/init.d/network restart 重啟網絡服務,測試一下能否連接wifi,出問題的話,也要多使用 ip addr 命令來排查錯誤,查找原因。

正常情況下,現在應該已經可以連接wifi,連接此wifi的設備也可以連接到 root@192.168.2.1 了。對於wan口,可以使用 ip addr 查看wan口是否已經獲取到了ip地址,沒有的話好好檢查下配置。

檢測是否一切正常

如果你的WAN可以正常連接,WIFI也可以正常使用的話,那么恭喜,如果WAN正常連接而WIFI不能上網的話,可能是防火牆配置的問題,下文會告訴你怎么改配置。既然已經可以連接網絡了,我們不妨先來安裝好 lcui ,然后就可以像路由器一樣登錄管理界面了。

安裝 lcui 管理程序

參見https://openwrt.org/zh-cn/doc/howto/luci.essentials

安裝

在軟件庫中檢索可用軟件包的最新列表:

  opkg update

完整安裝一個不需要HTTPS支持的LuCI:

  opkg install luci

完整安裝一個需要HTTPS支持的LuCI:

  opkg install luci-ssl

開始使用Web服務器(uHTTPd)

Web服務器uHTTPd是LuCI安裝包的一個依賴軟件,它會在你安裝LuCI時自動安裝。

安裝后,Web服務器是未運行的!你需要手動開啟它。你還應該啟動Web服務器,以使它在你重啟路由器時自動啟動。

下面的第一個命令啟動Web服務器,第二個使它在重啟時啟動。

  /etc/init.d/uhttpd start
  /etc/init.d/uhttpd enable

安裝好之后,應該就可以登錄OpenWrt管理界面了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM