使用樹莓派建立一個帶有移動網路連接功能的路由器
樹莓派是一種小型單板電腦,儘管只有信用卡大小,但是能做許多事情。實際上,這個小電腦幾乎可以成為你想讓它成為的任何東西,只要你打開想像力。
樹莓派愛好者已經做了許多不同的項目,從簡單的程序到複雜的自動化項目和解決方案,如氣象站,甚至智能家居設備。這篇文章將展示怎樣使用 OpenWRT 項目將你的樹莓派變成帶有 LTE 移動網路連接功能的路由器。
關於 OpenWRT 和 LTE
OpenWRT 是一個利用 Linux 內核為嵌入式設備開發的開源項目,它已經存在超過 15 年了,擁有一個龐大而活躍的社區。
有許多使用 OpenWRT 的方法,但是它的主要目的還是用在路由器上。它提供了包管理功能和一個完全可寫的文件系統,並且因為它的的開源屬性,你可以查看和修改代碼,並貢獻到開源生態。如果你想對你的路由器獲得更多的控制,這就是你想要的系統。
長期演進技術 (LTE)是一個基於 GSM/EGDE 和 UMTS/HSPA 技術的無線寬頻通信標準。我使用的 LTE 數據機是一個 USB 設備,可以為樹莓派電腦增加 3G 或 4G(LTE)蜂窩連接。
![Teltonika TRM240 modem](/data/attachment/album/202204/15/123837qmzh759hi2z6ouew.png "Teltonika TRM240 modem")
安裝前的準備
對這個項目來說,你需要:
- 一個帶有電源線的樹莓派
- 一台運行 Linux 的電腦
- 一張至少 16GB 的 SD 儲存卡
- 乙太網線
- LTE 數據機(我使用的是 Teltonika TRM240)
- 一張移動網路的 SIM 卡
安裝 OpenWRT
首先,下載最新的 兼容樹莓派的 OpenWRT 的發布版本。在 OpenWRT 官網,你可以看到 4 個鏡像:兩個 ext4 文件系統的和兩個 squashfs 文件系統的。我使用 ext4 文件系統。你可以下載 factory 或者 sysupgrade 鏡像,這兩個都運行良好。
![OpenWRT image files](/data/attachment/album/202204/15/123837luqias8lnu8nuqa1.png "OpenWRT image files")
下載了鏡像後,你按照 以下的說明 需要解壓並安裝它到 SD 卡上。這將會花些時間安裝固件,需要些耐心。一旦安裝完成,在你的 SD 卡上將會有兩個分區。一個是用來放 bootloader ,另一個是 OpenWRT 系統。
啟動系統
要啟動你的新系統,插入 SD 卡到樹莓派,用乙太網線把樹莓派和你的路由器(或者交換機)相連,然後點亮。
如果你有使用樹莓派的經驗,你可能習慣於通過終端使用 SSH 訪問過它,或者通過顯示器和鍵盤連接到樹莓派。OpenWRT 工作有一點點不同。你與這個系統交互是通過網頁瀏覽器,所以你必須能夠通過網路來訪問你的樹莓派。
預設狀態下,樹莓派使用的 IP 地址是:192.168.1.1。用來配置樹莓派的計算機必須和樹莓派在同一個子網中。如果你的網路沒有使用 192.168.1.x 地址,或者你不能確定,在 GNOME 打開 「 設置 」 ,導航到網路設置,選擇 「 手動 」 ,然後鍵入以下的 IP 地址和子網掩碼:
- IP 地址:192.168.1.15
- 網路掩碼:255.255.255.0
![IP addresses](/data/attachment/album/202204/15/123837fj0d5jqjrldld566.png "IP addresses")
在你的電腦上打開瀏覽器然後導航到 192.168.1.1 。這將打開一個驗證網頁,你可以登錄到你的樹莓派。
![OpenWRT login page](/data/attachment/album/202204/15/123838hj2af0wjfrd3fqdf.png "OpenWRT login page")
首次登錄不需要密碼,所以直接點擊 「 登錄 」 按鈕繼續。
設置網路連接
樹莓派只有一個乙太網口,而普通路由器有兩個:一個是 WAN(有線區域網路)口,另一個是 LAN (本地區域網路)。
你有兩個選擇:
- 使用你的乙太網口接入互聯網
- 使用 WIFI 接入互聯網
使用乙太網連接
你決定使用乙太網,導航到 「 網路 → 介面 」。在這個設置頁面,按下與 「LAN」 介面對應的藍色 「 編輯 」 按鈕。
![LAN interface](/data/attachment/album/202204/15/123838t51ez044nuu5benq.png "LAN interface")
應該會出現一個彈窗,在這個窗口中,你需要鍵入與你將要連接樹莓派的路由器子網匹配的 IP 地址。如果需要的話,修改子網掩碼,並輸入樹莓派將要連接的路由器的 IP 地址。
![Enter IP in the LAN interface](/data/attachment/album/202204/15/123838plnoy7zyyiemnne1.png "Enter IP in the LAN interface")
保存設置,然後通過乙太網將你的樹莓派連接到路由器。你現在可以用這個新的 IP 地址訪問樹莓派。
當你在把樹莓派投入生產環境使用之前,確保為你的 OpenWRT 設置一個密碼!
使用 WiFi 連接
如果你想通過 WiFi 將樹莓派連接到互聯網,導航到 「 網路 → 無線 」 。在 「 無線 」 菜單里,按下藍色的 「 掃描 」 按鈕查找你的家庭網路。
![Scan the network](/data/attachment/album/202204/15/123839lxuz8tgubdblgzxd.png "Scan the network")
在彈出的窗口中,找到你的 WiFi 網路然後連接它。不要忘記 「 保存並應用 」 設置。
在這 「 網路 → 介面 」 部分,你應該看到了一個新的介面。
![New interface](/data/attachment/album/202204/15/123839b5yzqhfv6leb55zy.png "New interface")
當你在把樹莓派投入生產環境使用之前,確保為你的 OpenWRT 設置一個密碼!
安裝必要的軟體包
默認狀態下,路由器並沒有安裝許多軟體包。OpenWRT 提供了一個包管理器,帶有一系列你需要安裝的。導航到 「 系統 → 軟體 」 然後通過按下標有 「 更新列表… 」 的按鈕來更新你的包管理器。
![Updating packages](/data/attachment/album/202204/15/123839anspzfff8smmxxxf.png "Updating packages")
你將會看到許多軟體包;你需要安裝以下這些:
usb-modeswitch
kmod-mii
kmod-usb-net
kmod-usb-wdm
kmod-usb-serial
kmod-usb-serial-option
kmod-usb-serial-wwan
(如果沒有安裝的話)
另外,下載這個數據機管理軟體包,然後在彈出的窗口中按下標有 「 上傳軟體包… 」 的按鈕來安裝它。重啟樹莓派讓安裝包生效。
設置移動網路介面
所有這些軟體包被安裝完之後,你可以設置移動網路介面。在連接數據機到樹莓派之前,請閱讀 數據機的說明書,對其進行設置。然後連接你的移動數據機到樹莓派,然後等待一會直到數據機啟動。
導航到 「 網路 → 介面 」。在頁面底部,按下 「 添加一個新介面… 」 按鈕。在彈出的窗口中,給你的介面起一個名字(比如 「mobile」),然後從下拉列表中選擇 「ModemManager」 。
![Add a new mobile interface](/data/attachment/album/202204/15/123840gs5udo2dsobbmbmb.png "Add a new mobile interface")
按下一個標有 「 創建介面 」 的按鈕。你應該看到一個新的彈出窗口。這是設置介面的一個主窗口。在這個窗口中,選擇你的數據機,然後鍵入像 接入點名稱 (APN)或是 PIN 碼之類的信息。
![Configuring the interface](/data/attachment/album/202204/15/123840y4xifbjzj8fqzjbu.png "Configuring the interface")
注意: 如果在列表中沒有數據機設備出現,嘗試重啟樹莓派或者安裝 kmod-usb-net-qmi-wwan
軟體包 。
當你已經配置完你的介面,按下 「 保存 」 然後 「 保存並應用 」。給系統一些生效的時間。如果一切正常,你應該看到像這樣的一些東西。
![Configured interface](/data/attachment/album/202204/15/123840rbwocykiaobocai4.png "Configured interface")
如果你想通過介面查看你的網路連接,你可以使用 SSH 連接到你的樹莓派 shell。在終端里,鍵入:
ssh root@192.168.1.1
預設 IP 地址是 192.168.1.1:如果你修改了它,就用修改後的 IP 地址連接。當連接後,在終端里執行命令:
ping -I ppp0 google.com
如果一切正常運行,那麼你應該從 Google 的伺服器接收到 ping 回包 。
![Terminal interface](/data/attachment/album/202204/15/123840apwjwktttpq4i5qa.png "Terminal interface")
ppp0
是你創建的移動網路介面的默認介面名稱。你可以通過使用 ifconfig
命令檢查你的介面。它只顯示活動的介面。
設置防火牆
要讓移動網介面運行,你需要為移動網路介面和本地網路介面配置防火牆,以便引導流量到正確的介面。
導航到 「 網路 → 防火牆 」。在頁面的底部,你應該看到一個叫做 「 區域 」 的部分。
![Firewall zones](/data/attachment/album/202204/15/123841kac5yawr9rf11reb.png "Firewall zones")
設置防火牆最簡單的方法就是調整 「wan」 區域。在 「 已覆蓋的網路 」 選項里按下 「 編輯 」 按鈕,選擇你的移動網路介面,然後 「 保存並應用 」 你的設置。如果你不想用 WiFi 連接你的樹莓派,你可以從 「 已覆蓋的網路 」 里刪除 「wwan」 介面,或者關閉 WiFi 連接。
![Firewall zone settings](/data/attachment/album/202204/15/123841lhoy4nyw6phag6ge.png "Firewall zone settings")
如果你想為每個介面設置一個獨立區域,只需創建一個新區域然後分配必要的介面即可。舉個例子,你可能想有一個覆蓋移動網路介面的區域,並且通過它來轉發 LAN 介面流量。按下 「 添加 」 按鈕,然後給你的區域 「 命名 」, 檢查 「偽裝」 複選框,選中 「 已覆蓋的網路 」 ,並選擇哪些區域可以轉發其流量。
![Firewall zone settings](/data/attachment/album/202204/15/123841j1ghr2e92ebaheee.png "Firewall zone settings")
然後 「 保存並應用 」 這些修改。現在你有一個新的區域。
設置一個接入點
最後一步是為你的設備接入互聯網設置一個網路接入點。要設置一個接入點,導航到 「 網路 → 無線 」 。你將會看到一個 WiFi 設備介面,一個名為 OpenWRT 的禁用的接入點,以及一個用於通過 WiFi 連接互聯網的連接(如果你之前沒有禁用或刪除它)。在這個禁用的介面上,按下 「 編輯 」 按鈕,然後 「 啟用 」 該介面。
![Enabling wireless network](/data/attachment/album/202204/15/123842m99yjgw1j39j9dhr.png "Enabling wireless network")
如果你想,你可以通過編輯 「ESSID」 選項來修改介面名稱。你也可以選擇它要關聯的網路。默認情況下,它會與 LAN 介面關聯。
![Configuring the interface](/data/attachment/album/202204/15/123842iaiqxd88asqcyh9y.png "Configuring the interface")
要為這個介面添加密碼,選擇 「 無線安全 」 選項,選擇 「WPA2-PSK」 加密方式然後在 「 密鑰 」 選項欄位鍵入介面的密碼。
![Setting a password](/data/attachment/album/202204/15/123842snb29bh5cj12nnob.png "Setting a password")
然後 「 保存並應用 」 設置。如果設置正確的話,當用你的設備掃描可用接入點的話,你應該可以看到你分配了名稱的新接入點。
額外的軟體包
如果你願意,你可以通過網頁界面為你的路由器下載額外的軟體包。只需到 「 系統 → 軟體 」 然後安裝你想從列表或者互聯網上下載的軟體包並上傳它。如果你在列表中沒有看到任何軟體包,請按下 「 更新列表… 」 按鈕。
你也可以添加其他擁有適合與 OpenWRT 一起使用的軟體包的倉庫。軟體包和它們的網頁界面是分開安裝的。軟體包名稱是以 「luci-」 開始的是網也界面軟體包。
![Packages with luci- prefix](/data/attachment/album/202204/15/123842kjdhl54hh9rlqbae.png "Packages with luci- prefix")
試試看
這就是我的樹莓派路由設置的過程。
![Raspberry Pi router](/data/attachment/album/202204/15/123843a89zopodddooo2h8.jpg "Raspberry Pi router")
從樹莓派建立一個路由器不是很困難。缺點是樹莓派只有一個乙太網介面。你可以用一個 USB-to-Ethernet 適配器來增加更多的網口。不要忘記在介面的網站上設置網口。
OpenWRT 支持大量的移動數據機,你可以用管理數據機的通用工具 modemmanager 為它們設置移動網路介面。
你有沒有把你的樹莓派當作路由器使用?請在評論中告訴我們情況。
via: https://opensource.com/article/21/3/router-raspberry-pi
作者:Lukas Janėnas 選題:lujun9972 譯者:hwlife 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive