在你的网络路由器上使用OpenWRT获得更多控制功能。
树莓派是一种小型单板电脑,尽管只有信用卡大小,但是能做许多事情。实际上,这个小电脑几乎可以成为你想让它成为的任何东西,只要你打开想象力。
树莓派爱好者已经做了许多不同的项目,从简单的程序到复杂的自动化项目和解决方案,如气象站,甚至智能家居设备。这篇文章将展示怎样使用OpenWRT项目将你的树莓派变成带有LTE移动网络连接功能的路由器。
关于OpenWRT和LTE
OpenWRT是一个利用Linux内核为嵌入式设备开发的开源项目,它已经存在超过15年了,拥有一个庞大而活跃的社区。
有许多使用OpenWRT的方法,但是它的主要目的还是用在路由器上。它提供了包管理功能和一个完全可写的文件系统,并且因为它的的开源属性,你可以查看和修改代码,并贡献到开源生态。如果你想对你的路由器获得更多的控制,这就是你想要的系统。
长期演进技术Long-termevolution(LTE)是一个基于GSM/EGDE和UMTS/HSPA技术的无线宽带通信标准。我使用的LTE调制解调器是一个USB设备,可以为树莓派电脑增加3G或4G(LTE)蜂窝连接。
安装前的准备
对这个项目来说,你需要:
- 一个带有电源线的树莓派
- 一台运行Linux的电脑
- 一张至少16GB的SD储存卡
- 以太网线
- LTE调制解调器(我使用的是TeltonikaTRM240)
- 一张移动网络的SIM卡
安装OpenWRT
首先,下载最新的兼容树莓派的OpenWRT的发布版本。在OpenWRT官网,你可以看到4个镜像:两个ext4文件系统的和两个squashfs文件系统的。我使用ext4文件系统。你可以下载factory或者sysupgrade镜像,这两个都运行良好。
下载了镜像后,你按照以下的说明需要解压并安装它到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
在你的电脑上打开浏览器然后导航到192.168.1.1。这将打开一个验证网页,你可以登录到你的树莓派。
首次登录不需要密码,所以直接点击“登录Login”按钮继续。
设置网络连接
树莓派只有一个以太网口,而普通路由器有两个:一个是WAN(有线区域网络)口,另一个是LAN(本地区域网络)。
你有两个选择:
- 使用你的以太网口接入互联网
- 使用WIFI接入互联网
使用以太网连接
你决定使用以太网,导航到“网络Network→接口Interfaces”。在这个设置页面,按下与“LAN”接口对应的蓝色“编辑Edit”按钮。
应该会出现一个弹窗,在这个窗口中,你需要键入与你将要连接树莓派的路由器子网匹配的IP地址。如果需要的话,修改子网掩码,并输入树莓派将要连接的路由器的IP地址。
保存设置,然后通过以太网将你的树莓派连接到路由器。你现在可以用这个新的IP地址访问树莓派。
当你在把树莓派投入生产环境使用之前,确保为你的OpenWRT设置一个密码!
使用WiFi连接
如果你想通过WiFi将树莓派连接到互联网,导航到“网络Network→无线Wireless”。在“无线Wireless”菜单里,按下蓝色的“扫描Scan”按钮查找你的家庭网络。
在弹出的窗口中,找到你的WiFi网络然后连接它。不要忘记“保存并应用SaveandApply”设置。
在这“网络Network→接口Interfaces”部分,你应该看到了一个新的接口。
当你在把树莓派投入生产环境使用之前,确保为你的OpenWRT设置一个密码!
默认状态下,路由器并没有安装许多软件包。OpenWRT提供了一个包管理器,带有一系列你需要安装的。导航到“系统System→软件Software”然后通过按下标有“更新列表…Updatelists...”的按钮来更新你的包管理器。
你将会看到许多软件包;你需要安装以下这些:
- usb-modeswitch
- kmod-mii
- kmod-usb-net
- kmod-usb-wdm
- kmod-usb-serial
- kmod-usb-serial-option
- kmod-usb-serial-wwan(如果没有安装的话)
另外,下载这个调制解调器管理软件包,然后在弹出的窗口中按下标有“上传软件包…UploadPackage...”的按钮来安装它。重启树莓派让安装包生效。
设置移动网络接口
所有这些软件包被安装完之后,你可以设置移动网络接口。在连接调制解调器到树莓派之前,请阅读调制解调器的说明书,对其进行设置。然后连接你的移动调制解调器到树莓派,然后等待一会直到调制解调器启动。
导航到“网络Network→接口Interfaces”。在页面底部,按下“添加一个新接口…Addnewinterface...”按钮。在弹出的窗口中,给你的接口起一个名字(比如“mobile”),然后从下拉列表中选择“ModemManager”。
按下一个标有“创建接口CreateInterface”的按钮。你应该看到一个新的弹出窗口。这是设置接口的一个主窗口。在这个窗口中,选择你的调制解调器,然后键入像接入点名称AccessPointName(APN)或是PIN码之类的信息。
注意:如果在列表中没有调制解调器设备出现,尝试重启树莓派或者安装kmod-usb-net-qmi-wwan软件包。
当你已经配置完你的接口,按下“保存Save”然后“保存并应用SaveandApply”。给系统一些生效的时间。如果一切正常,你应该看到像这样的一些东西。
如果你想通过接口查看你的网络连接,你可以使用SSH连接到你的树莓派shell。在终端里,键入:
sshroot@192.168.1.1
缺省IP地址是192.168.1.1:如果你修改了它,就用修改后的IP地址连接。当连接后,在终端里执行命令:
ping-Ippp0google.com
如果一切正常运行,那么你应该从Google的服务器接收到ping回包。
ppp0是你创建的移动网络接口的默认接口名称。你可以通过使用ifconfig命令检查你的接口。它只显示活动的接口。
设置防火墙
要让移动网接口运行,你需要为移动网络接口和本地网络接口配置防火墙,以便引导流量到正确的接口。
导航到“网络Network→防火墙Firewall”。在页面的底部,你应该看到一个叫做“区域Zones”的部分。
设置防火墙最简单的方法就是调整“wan”区域。在“已覆盖的网络Coverednetworks”选项里按下“编辑Edit”按钮,选择你的移动网络接口,然后“保存并应用SaveandApply”你的设置。如果你不想用WiFi连接你的树莓派,你可以从“已覆盖的网络Coverednetworks”里删除“wwan”接口,或者关闭WiFi连接。
如果你想为每个接口设置一个独立区域,只需创建一个新区域然后分配必要的接口即可。举个例子,你可能想有一个覆盖移动网络接口的区域,并且通过它来转发LAN接口流量。按下“添加Name”按钮,然后给你的区域“命名Name”,检查“伪装”复选框,选中“已覆盖的网络Coverednetworks”,并选择哪些区域可以转发其流量。
然后“保存并应用SaveandApply”这些修改。现在你有一个新的区域。
设置一个接入点
最后一步是为你的设备接入互联网设置一个网络接入点。要设置一个接入点,导航到“网络Network→无线Wireless”。你将会看到一个WiFi设备接口,一个名为OpenWRT的禁用的接入点,以及一个用于通过WiFi连接互联网的连接(如果你之前没有禁用或删除它)。在这个禁用的接口上,按下“编辑Edit”按钮,然后“启用Enable”该接口。
如果你想,你可以通过编辑“ESSID”选项来修改接口名称。你也可以选择它要关联的网络。默认情况下,它会与LAN接口关联。
要为这个接口添加密码,选择“无线安全WirelessSecurity”选项,选择“WPA2-PSK”加密方式然后在“密钥Key”选项字段键入接口的密码。
然后“保存并应用SaveandApply”设置。如果设置正确的话,当用你的设备扫描可用接入点的话,你应该可以看到你分配了名称的新接入点。
额外的软件包
如果你愿意,你可以通过网页界面为你的路由器下载额外的软件包。只需到“系统System→软件Software”然后安装你想从列表或者互联网上下载的软件包并上传它。如果你在列表中没有看到任何软件包,请按下“更新列表…Updatelists...”按钮。
你也可以添加其他拥有适合与OpenWRT一起使用的软件包的仓库。软件包和它们的网页界面是分开安装的。软件包名称是以“luci-”开始的是网也界面软件包。
试试看
这就是我的树莓派路由设置的过程。
从树莓派建立一个路由器不是很困难。缺点是树莓派只有一个以太网接口。你可以用一个USB-to-Ethernet适配器来增加更多的网口。不要忘记在接口的网站上设置网口。
OpenWRT支持大量的移动调制解调器,你可以用管理调制解调器的通用工具modemmanager为它们设置移动网络接口。
你有没有把你的树莓派当作路由器使用?请在评论中告诉我们情况。
via:https://opensource.com/article/21/3/router-raspberry-pi
作者:LukasJanėnas选题:lujun9972译者:hwlife校对:wxy