Raspberry Pi 是一款小型的单板计算机,尽管只有信用卡大小,却功能强大。实际上,这款小型计算机几乎可以成为您想要的任何东西。您只需要展开您的想象力。
Raspberry Pi 爱好者已经制作了许多不同的项目,从简单的程序到复杂的自动化项目和解决方案,例如气象站甚至智能家居设备。本文将展示如何使用 OpenWRT 项目将您的 Raspberry Pi 变成具有 LTE 移动连接功能的路由器。
关于 OpenWRT 和 LTE
OpenWRT 是一个开源项目,它使用 Linux 定位嵌入式设备。它已经存在超过 15 年,拥有庞大而活跃的社区。
OpenWRT 有许多用途,但其主要用途是在路由器中。它提供了一个完全可写的文件系统,带有软件包管理,并且由于它是开源的,您可以查看和修改代码并为生态系统做出贡献。如果您想更好地控制您的路由器,这就是您想要使用的系统。
长期演进 (LTE) 是一种基于 GSM/EDGE 和 UMTS/HSPA 技术的无线宽带通信标准。我使用的 LTE 调制解调器是一个 USB 设备,可以为 Raspberry Pi 计算机添加 3G 或 4G (LTE) 蜂窝连接。

(Lukas Janenas, CC BY-SA 4.0)
先决条件
对于此项目,您将需要:
- 一台 Raspberry Pi 和电源线
- 一台计算机,最好运行 Linux
- 一张至少 16GB 的 microSD 卡
- 一根以太网线
- 一个 LTE 调制解调器(我使用的是 Teltonika TRM240)
- 一张用于移动连接的 SIM 卡
安装 OpenWRT
要开始使用,请下载最新的 Raspberry Pi 兼容版本的 OpenWRT。在 OpenWRT 网站上,您会看到四个镜像:两个带有 ext4 文件系统,两个带有 squashfs 文件系统。我使用 ext4 文件系统。您可以下载 factory 或 sysupgrade 镜像;两者都很好用。

(Lukas Janenas, CC BY-SA 4.0)
下载镜像后,您需要解压它并通过遵循这些说明将其安装到 SD 卡上。安装固件可能需要一些时间,请耐心等待。完成后,您的 microSD 卡上将有两个分区。一个用于引导加载程序,另一个用于 OpenWRT 系统。
启动系统
要启动您的新系统,请将 microSD 卡插入 Raspberry Pi,使用以太网线将 Pi 连接到您的路由器(或交换机),然后打开电源。
如果您有 Raspberry Pi 的使用经验,您可能习惯于通过 SSH 终端访问它,或者只是将其连接到显示器和键盘。OpenWRT 的工作方式略有不同。您通过 Web 浏览器与此软件进行交互,因此您必须能够通过网络访问您的 Pi。
默认情况下,Raspberry Pi 使用以下 IP 地址:192.168.1.1。您用于配置 Pi 的计算机必须与 Pi 位于同一子网中。如果您的网络不使用 192.168.1.x 地址,或者您不确定,请打开 GNOME 中的设置,导航到网络设置,选择手动,然后输入以下 IP 地址和网络掩码:
- IP 地址 192.168.1.15
- 网络掩码 255.255.255.0

(Lukas Janenas, CC BY-SA 4.0)
在您的计算机上打开 Web 浏览器并导航到 192.168.1.1。这将打开一个身份验证页面,以便您可以登录到您的 Pi。

(Lukas Janenas, CC BY-SA 4.0)
目前不需要密码,只需单击登录按钮继续。
配置网络连接
Raspberry Pi 只有一个以太网端口,而普通路由器有几个:一个用于 WAN(广域网),另一个用于 LAN(局域网)。您有两个选择:
- 使用您的以太网端口进行网络连接
- 使用 WiFi 进行网络连接
要使用以太网
如果您决定使用以太网,请导航到网络 → 接口。在配置页面上,按与 LAN 接口关联的蓝色编辑按钮。

(Lukas Janenas, CC BY-SA 4.0)
应该会出现一个弹出窗口。在该窗口中,您需要输入 IP 地址以匹配您将 Raspberry Pi 连接到的路由器的子网。根据需要更改网络掩码,并输入 Raspberry Pi 将连接到的路由器的 IP 地址。

(Lukas Janenas, CC BY-SA 4.0)
保存此配置并通过以太网将您的 Pi 连接到路由器。您现在可以使用这个新 IP 地址访问 Raspberry Pi。
请务必在将您的 OpenWRT 路由器投入生产使用之前设置密码!
要使用 WiFi
如果您想通过 WiFi 将 Raspberry Pi 连接到互联网,请导航到网络 → 无线。在无线菜单中,按蓝色扫描按钮以查找您的家庭网络。

(Lukas Janenas, CC BY-SA 4.0)
在弹出窗口中,找到您的 WiFi 网络并连接到它。不要忘记保存并应用配置。
在网络 → 接口部分,您应该看到一个新的接口。

(Lukas Janenas, CC BY-SA 4.0)
请务必在将您的 OpenWRT 路由器投入生产使用之前设置密码!
安装必要的软件包
默认情况下,路由器没有很多软件包。OpenWRT 提供了一个软件包管理器,其中包含您需要安装的软件包。导航到系统 → 软件包并通过按下标记为“更新列表…”的按钮来更新您的软件包管理器。

(Lukas Janenas, CC BY-SA 4.0)
您将看到很多软件包;您需要安装以下软件包:
- usb-modeswitch
- kmod-mii
- kmod-usb-net
- kmod-usb-wdm
- kmod-usb-serial
- kmod-usb-serial-option
- kmod-usb-serial-wwan(如果未安装)
此外,下载此 modemmanager 软件包,并通过按下弹出窗口中标记为上传软件包…的按钮来安装它。重新启动 Raspberry Pi 以使软件包生效。
设置移动接口
安装完所有这些软件包后,您可以设置移动接口。在将调制解调器连接到 Raspberry Pi 之前,请阅读调制解调器说明进行设置。然后将您的移动调制解调器连接到 Raspberry Pi,并稍等片刻,直到调制解调器启动。
导航到网络 → 接口。在页面底部,按下添加新接口…按钮。在弹出窗口中,为您的接口命名(例如,mobile),并从下拉列表中选择 ModemManager。

(Lukas Janenas, CC BY-SA 4.0)
按下标记为创建接口的按钮。您应该看到一个新的弹出窗口。这是配置接口的主窗口。在此窗口中,选择您的调制解调器并输入任何其他信息,例如接入点名称 (APN) 或 PIN 码。

(Lukas Janenas, CC BY-SA 4.0)
注意:如果列表中没有出现调制解调器设备,请尝试重新启动您的 Raspberry Pi 或安装 kmod-usb-net-qmi-wwan 软件包。
完成接口配置后,按保存,然后按保存并应用。给系统一些时间生效。如果一切顺利,您应该会看到类似这样的内容。

(Lukas Janenas, CC BY-SA 4.0)
如果您想通过此接口检查您的互联网连接,您可以使用 ssh 连接到您的 Raspberry Pi shell。在终端中,输入:
ssh root@192.168.1.1
默认 IP 地址是 192.168.1.1;如果您更改了它,则使用该 IP 地址进行连接。连接后,在终端中执行此命令:
ping -I ppp0 google.com
如果一切正常,那么您应该会收到来自 Google 服务器的 ping 返回。

(Lukas Janenas, CC BY-SA 4.0)
ppp0 是您创建的移动接口的默认接口名称。您可以使用 ifconfig 检查您的接口。它仅显示活动接口。
设置防火墙
要使移动接口工作,您需要为 mobile 接口和 lan 接口配置防火墙,以将流量定向到正确的接口。
导航到网络 → 防火墙。在页面底部,您应该看到一个名为 区域 的部分。

(Lukas Janenas, CC BY-SA 4.0)
配置防火墙的最简单方法是调整 wan 区域。按下编辑按钮,并在覆盖网络选项中,选择您的 mobile 接口,然后保存并应用您的配置。如果您不想使用 WiFi 连接到互联网,您可以从覆盖网络中删除 wwan 或禁用 WiFi 连接。

(Lukas Janenas, CC BY-SA 4.0)
如果您想为每个接口设置单独的区域,只需创建一个新区域并分配必要的接口即可。例如,您可能想要创建一个移动区域,该区域覆盖移动接口,并用于转发 LAN 接口流量。按下添加按钮,然后命名您的区域,选中伪装复选框,选择覆盖网络,然后选择哪些区域可以转发其流量。

(Lukas Janenas, CC BY-SA 4.0)
然后保存并应用更改。现在您有了一个新区域。
设置接入点
最后一步是配置一个带有接入点的网络,供您的设备连接到互联网。要设置接入点,请导航到网络 → 无线。您将看到一个 WiFi 设备接口、一个名为 OpenWRT 的禁用接入点,以及一个用于通过 WiFi 连接到互联网的连接(如果您之前没有禁用或删除它)。在禁用接口上,按下编辑按钮,然后启用该接口。

(Lukas Janenas, CC BY-SA 4.0)
如果您愿意,您可以通过编辑 ESSID 选项来更改接口名称。您还可以选择它将与哪个网络关联。默认情况下,它将与 lan 接口关联。

(Lukas Janenas, CC BY-SA 4.0)
要为此接口添加密码,请选择无线安全选项卡。在该选项卡中,选择加密方式 WPA2-PSK,并在密钥选项字段中输入接口的密码。

(Lukas Janenas, CC BY-SA 4.0)
然后保存并应用配置。如果配置设置正确,当您使用设备扫描可用的接入点时,您应该会看到一个带有您分配的名称的新接入点。
其他软件包
如果您愿意,您可以通过 Web 界面为您的路由器下载其他软件包。只需转到系统 → 软件包,然后从列表中安装您想要的软件包,或者从互联网下载并上传它。如果您在列表中看不到任何软件包,请按下更新列表…按钮。
您还可以添加其他存储库,这些存储库具有与 OpenWRT 配合使用的软件包。软件包及其 Web 界面是单独安装的。以 luci- 前缀开头的软件包是 Web 界面软件包。

(Lukas Janenas, CC BY-SA 4.0)
试试看
这是我的 Raspberry Pi 路由器设置的样子。

(Lukas Janenas, CC BY-SA 4.0)
从 Raspberry Pi 构建路由器并不困难。缺点是 Raspberry Pi 只有一个以太网端口。您可以使用 USB 转以太网适配器添加更多端口。不要忘记在接口网站上配置端口。
OpenWRT 支持大量的移动调制解调器,您可以使用 modemmanager 为任何调制解调器配置移动接口,modemmanager 是一种用于管理调制解调器的通用工具。
您是否使用过 Raspberry Pi 作为路由器?请在评论中告诉我们您的使用情况。
4 条评论