Linux中國

使用樹莓派建立一個帶有移動網路連接功能的路由器

樹莓派是一種小型單板電腦,儘管只有信用卡大小,但是能做許多事情。實際上,這個小電腦幾乎可以成為你想讓它成為的任何東西,只要你打開想像力。

樹莓派愛好者已經做了許多不同的項目,從簡單的程序到複雜的自動化項目和解決方案,如氣象站,甚至智能家居設備。這篇文章將展示怎樣使用 OpenWRT 項目將你的樹莓派變成帶有 LTE 移動網路連接功能的路由器。

關於 OpenWRT 和 LTE

OpenWRT 是一個利用 Linux 內核為嵌入式設備開發的開源項目,它已經存在超過 15 年了,擁有一個龐大而活躍的社區。

有許多使用 OpenWRT 的方法,但是它的主要目的還是用在路由器上。它提供了包管理功能和一個完全可寫的文件系統,並且因為它的的開源屬性,你可以查看和修改代碼,並貢獻到開源生態。如果你想對你的路由器獲得更多的控制,這就是你想要的系統。

長期演進技術 Long-term evolution (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 打開 「 設置 Settings 」 ,導航到網路設置,選擇 「 手動 Manual 」 ,然後鍵入以下的 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")

首次登錄不需要密碼,所以直接點擊 「 登錄 Login 」 按鈕繼續。

設置網路連接

樹莓派只有一個乙太網口,而普通路由器有兩個:一個是 WAN(有線區域網路)口,另一個是 LAN (本地區域網路)。

你有兩個選擇:

  1. 使用你的乙太網口接入互聯網
  2. 使用 WIFI 接入互聯網

使用乙太網連接

你決定使用乙太網,導航到 「 網路 Network 介面 Interfaces 」。在這個設置頁面,按下與 「LAN」 介面對應的藍色 「 編輯 Edit 」 按鈕。

![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 將樹莓派連接到互聯網,導航到 「 網路 Network 無線 Wireless 」 。在 「 無線 Wireless 」 菜單里,按下藍色的 「 掃描 Scan 」 按鈕查找你的家庭網路。

![Scan the network](/data/attachment/album/202204/15/123839lxuz8tgubdblgzxd.png "Scan the network")

在彈出的窗口中,找到你的 WiFi 網路然後連接它。不要忘記 「 保存並應用 Save and Apply 」 設置。

在這 「 網路 Network 介面 Interfaces 」 部分,你應該看到了一個新的介面。

![New interface](/data/attachment/album/202204/15/123839b5yzqhfv6leb55zy.png "New interface")

當你在把樹莓派投入生產環境使用之前,確保為你的 OpenWRT 設置一個密碼!

安裝必要的軟體包

默認狀態下,路由器並沒有安裝許多軟體包。OpenWRT 提供了一個包管理器,帶有一系列你需要安裝的。導航到 「 系統 System 軟體 Software 」 然後通過按下標有 「 更新列表… Update lists... 」 的按鈕來更新你的包管理器。

![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(如果沒有安裝的話)

另外,下載這個數據機管理軟體包,然後在彈出的窗口中按下標有 「 上傳軟體包… Upload Package... 」 的按鈕來安裝它。重啟樹莓派讓安裝包生效。

設置移動網路介面

所有這些軟體包被安裝完之後,你可以設置移動網路介面。在連接數據機到樹莓派之前,請閱讀 數據機的說明書,對其進行設置。然後連接你的移動數據機到樹莓派,然後等待一會直到數據機啟動。

導航到 「 網路 Network 介面 Interfaces 」。在頁面底部,按下 「 添加一個新介面… Add new interface... 」 按鈕。在彈出的窗口中,給你的介面起一個名字(比如 「mobile」),然後從下拉列表中選擇 「ModemManager」 。

![Add a new mobile interface](/data/attachment/album/202204/15/123840gs5udo2dsobbmbmb.png "Add a new mobile interface")

按下一個標有 「 創建介面 Create Interface 」 的按鈕。你應該看到一個新的彈出窗口。這是設置介面的一個主窗口。在這個窗口中,選擇你的數據機,然後鍵入像 接入點名稱 Access Point Name (APN)或是 PIN 碼之類的信息。

![Configuring the interface](/data/attachment/album/202204/15/123840y4xifbjzj8fqzjbu.png "Configuring the interface")

注意: 如果在列表中沒有數據機設備出現,嘗試重啟樹莓派或者安裝 kmod-usb-net-qmi-wwan 軟體包 。

當你已經配置完你的介面,按下 「 保存 Save 」 然後 「 保存並應用 Save and Apply 」。給系統一些生效的時間。如果一切正常,你應該看到像這樣的一些東西。

![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 命令檢查你的介面。它只顯示活動的介面。

設置防火牆

要讓移動網介面運行,你需要為移動網路介面和本地網路介面配置防火牆,以便引導流量到正確的介面。

導航到 「 網路 Network 防火牆 Firewall 」。在頁面的底部,你應該看到一個叫做 「 區域 Zones 」 的部分。

![Firewall zones](/data/attachment/album/202204/15/123841kac5yawr9rf11reb.png "Firewall zones")

設置防火牆最簡單的方法就是調整 「wan」 區域。在 「 已覆蓋的網路 Covered networks 」 選項里按下 「 編輯 Edit 」 按鈕,選擇你的移動網路介面,然後 「 保存並應用 Save and Apply 」 你的設置。如果你不想用 WiFi 連接你的樹莓派,你可以從 「 已覆蓋的網路 Covered networks 」 里刪除 「wwan」 介面,或者關閉 WiFi 連接。

![Firewall zone settings](/data/attachment/album/202204/15/123841lhoy4nyw6phag6ge.png "Firewall zone settings")

如果你想為每個介面設置一個獨立區域,只需創建一個新區域然後分配必要的介面即可。舉個例子,你可能想有一個覆蓋移動網路介面的區域,並且通過它來轉發 LAN 介面流量。按下 「 添加 Name 」 按鈕,然後給你的區域 「 命名 Name 」, 檢查 「偽裝」 複選框,選中 「 已覆蓋的網路 Covered networks 」 ,並選擇哪些區域可以轉發其流量。

![Firewall zone settings](/data/attachment/album/202204/15/123841j1ghr2e92ebaheee.png "Firewall zone settings")

然後 「 保存並應用 Save and Apply 」 這些修改。現在你有一個新的區域。

設置一個接入點

最後一步是為你的設備接入互聯網設置一個網路接入點。要設置一個接入點,導航到 「 網路 Network 無線 Wireless 」 。你將會看到一個 WiFi 設備介面,一個名為 OpenWRT 的禁用的接入點,以及一個用於通過 WiFi 連接互聯網的連接(如果你之前沒有禁用或刪除它)。在這個禁用的介面上,按下 「 編輯 Edit 」 按鈕,然後 「 啟用 Enable 」 該介面。

![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")

要為這個介面添加密碼,選擇 「 無線安全 Wireless Security 」 選項,選擇 「WPA2-PSK」 加密方式然後在 「 密鑰 Key 」 選項欄位鍵入介面的密碼。

![Setting a password](/data/attachment/album/202204/15/123842snb29bh5cj12nnob.png "Setting a password")

然後 「 保存並應用 Save and Apply 」 設置。如果設置正確的話,當用你的設備掃描可用接入點的話,你應該可以看到你分配了名稱的新接入點。

額外的軟體包

如果你願意,你可以通過網頁界面為你的路由器下載額外的軟體包。只需到 「 系統 System 軟體 Software 」 然後安裝你想從列表或者互聯網上下載的軟體包並上傳它。如果你在列表中沒有看到任何軟體包,請按下 「 更新列表… Update lists... 」 按鈕。

你也可以添加其他擁有適合與 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。