热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用树莓派建立一个带有移动网络连接功能的路由器

在你的网络路由器上使用OpenWRT获得更多控制功能。树莓派是一种小型单板电脑,尽管只有信用卡大小,但是能做许多事情。实际上,这个小电脑几乎可以成为你想让它成为的任何东西,只要你打

文章目录[隐藏]

  • 关于 OpenWRT 和 LTE
  • 安装前的准备
  • 安装 OpenWRT
  • 启动系统
  • 设置网络连接
    • 使用以太网连接
    • 使用 WiFi 连接
  • 安装必要的软件包
  • 设置移动网络接口
  • 设置防火墙
  • 设置一个接入点
  • 额外的软件包
  • 试试看

在你的网络路由器上使用 OpenWRT 获得更多控制功能。

树莓派是一种小型单板电脑,尽管只有信用卡大小,但是能做许多事情。实际上,这个小电脑几乎可以成为你想让它成为的任何东西,只要你打开想象力。

树莓派爱好者已经做了许多不同的项目,从简单的程序到复杂的自动化项目和解决方案,如气象站,甚至智能家居设备。这篇文章将展示怎样使用 OpenWRT 项目将你的树莓派变成带有 LTE 移动网络连接功能的路由器。

关于 OpenWRT 和 LTE

OpenWRT 是一个利用 Linux 内核为嵌入式设备开发的开源项目,它已经存在超过 15 年了,拥有一个庞大而活跃的社区。

有许多使用 OpenWRT 的方法,但是它的主要目的还是用在路由器上。它提供了包管理功能和一个完全可写的文件系统,并且因为它的的开源属性,你可以查看和修改代码,并贡献到开源生态。如果你想对你的路由器获得更多的控制,这就是你想要的系统。

长期演进技术Long-term evolution(LTE)是一个基于 GSM/EGDE 和 UMTS/HSPA 技术的无线宽带通信标准。我使用的 LTE 调制解调器是一个 USB 设备,可以为树莓派电脑增加 3G 或 4G(LTE)蜂窝连接。

Teltonika TRM240 modem

安装前的准备

对这个项目来说,你需要:

  • 一个带有电源线的树莓派
  • 一台运行 Linux 的电脑
  • 一张至少 16GB 的 SD 储存卡
  • 以太网线
  • LTE 调制解调器(我使用的是 Teltonika TRM240)
  • 一张移动网络的 SIM 卡

安装 OpenWRT

首先,下载最新的 兼容树莓派的 OpenWRT 的发布版本。在 OpenWRT 官网,你可以看到 4 个镜像:两个 ext4 文件系统的和两个 squashfs 文件系统的。我使用 ext4 文件系统。你可以下载 factory 或者 sysupgrade 镜像,这两个都运行良好。

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

在你的电脑上打开浏览器然后导航到 192.168.1.1 。这将打开一个验证网页,你可以登录到你的树莓派。

OpenWRT login page

首次登录不需要密码,所以直接点击 “登录Login” 按钮继续。

设置网络连接

树莓派只有一个以太网口,而普通路由器有两个:一个是 WAN(有线区域网络)口,另一个是 LAN (本地区域网络)。

你有两个选择:

  1. 使用你的以太网口接入互联网
  2. 使用 WIFI 接入互联网

使用以太网连接

你决定使用以太网,导航到 “网络Network → 接口Interfaces”。在这个设置页面,按下与 “LAN” 接口对应的蓝色 “编辑Edit” 按钮。

LAN interface

应该会出现一个弹窗,在这个窗口中,你需要键入与你将要连接树莓派的路由器子网匹配的 IP 地址。如果需要的话,修改子网掩码,并输入树莓派将要连接的路由器的 IP 地址。

Enter IP in the LAN interface

保存设置,然后通过以太网将你的树莓派连接到路由器。你现在可以用这个新的 IP 地址访问树莓派。

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

使用 WiFi 连接

如果你想通过 WiFi 将树莓派连接到互联网,导航到 “网络Network → 无线Wireless” 。在 “无线Wireless” 菜单里,按下蓝色的 “扫描Scan” 按钮查找你的家庭网络。

Scan the network

在弹出的窗口中,找到你的 WiFi 网络然后连接它。不要忘记 “保存并应用Save and Apply” 设置。

在这 “网络Network→ 接口Interfaces” 部分,你应该看到了一个新的接口。

New interface

当你在把树莓派投入生产环境使用之前,确保为你的 OpenWRT 设置一个密码!

安装必要的软件包

默认状态下,路由器并没有安装许多软件包。OpenWRT 提供了一个包管理器,带有一系列你需要安装的。导航到 “系统System → 软件Software” 然后通过按下标有 “更新列表…Update lists...” 的按钮来更新你的包管理器。

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

按下一个标有 “创建接口Create Interface” 的按钮。你应该看到一个新的弹出窗口。这是设置接口的一个主窗口。在这个窗口中,选择你的调制解调器,然后键入像接入点名称Access Point Name(APN)或是 PIN 码之类的信息。

Configuring the interface

注意: 如果在列表中没有调制解调器设备出现,尝试重启树莓派或者安装 kmod-usb-net-qmi-wwan 软件包 。

当你已经配置完你的接口,按下 “保存Save” 然后 “保存并应用Save and Apply”。给系统一些生效的时间。如果一切正常,你应该看到像这样的一些东西。

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

ppp0 是你创建的移动网络接口的默认接口名称。你可以通过使用 ifconfig 命令检查你的接口。它只显示活动的接口。

设置防火墙

要让移动网接口运行,你需要为移动网络接口和本地网络接口配置防火墙,以便引导流量到正确的接口。

导航到 “网络Network → 防火墙Firewall”。在页面的底部,你应该看到一个叫做 “区域Zones” 的部分。

Firewall zones

设置防火墙最简单的方法就是调整 “wan” 区域。在 “已覆盖的网络Covered networks” 选项里按下 “编辑Edit” 按钮,选择你的移动网络接口,然后 “保存并应用Save and Apply” 你的设置。如果你不想用 WiFi 连接你的树莓派,你可以从 “已覆盖的网络Covered networks” 里删除 “wwan” 接口,或者关闭 WiFi 连接。

Firewall zone settings

如果你想为每个接口设置一个独立区域,只需创建一个新区域然后分配必要的接口即可。举个例子,你可能想有一个覆盖移动网络接口的区域,并且通过它来转发 LAN 接口流量。按下 “添加Name” 按钮,然后给你的区域 “命名Name”, 检查 “伪装” 复选框,选中 “已覆盖的网络Covered networks” ,并选择哪些区域可以转发其流量。

Firewall zone settings

然后 “保存并应用Save and Apply” 这些修改。现在你有一个新的区域。

设置一个接入点

最后一步是为你的设备接入互联网设置一个网络接入点。要设置一个接入点,导航到 “网络Network → 无线Wireless” 。你将会看到一个 WiFi 设备接口,一个名为 OpenWRT 的禁用的接入点,以及一个用于通过 WiFi 连接互联网的连接(如果你之前没有禁用或删除它)。在这个禁用的接口上,按下 “编辑Edit” 按钮,然后 “启用Enable” 该接口。

Enabling wireless network

如果你想,你可以通过编辑 “ESSID” 选项来修改接口名称。你也可以选择它要关联的网络。默认情况下,它会与 LAN 接口关联。

Configuring the interface

要为这个接口添加密码,选择 “无线安全Wireless Security” 选项,选择 “WPA2-PSK” 加密方式然后在 “密钥Key” 选项字段键入接口的密码。

Setting a password

然后 “保存并应用Save and Apply” 设置。如果设置正确的话,当用你的设备扫描可用接入点的话,你应该可以看到你分配了名称的新接入点。

额外的软件包

如果你愿意,你可以通过网页界面为你的路由器下载额外的软件包。只需到 “系统System → 软件Software” 然后安装你想从列表或者互联网上下载的软件包并上传它。如果你在列表中没有看到任何软件包,请按下 “更新列表…Update lists...” 按钮。

你也可以添加其他拥有适合与 OpenWRT 一起使用的软件包的仓库。软件包和它们的网页界面是分开安装的。软件包名称是以 “luci-” 开始的是网也界面软件包。

Packages with luci- prefix

试试看

这就是我的树莓派路由设置的过程。

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中国 荣誉推出

使用树莓派建立一个带有移动网络连接功能的路由器

推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
author-avatar
随之爱_629
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有