树莓派安装OpenWrt

1 前言

当初买树莓派回来,是想用它做2件事:一是编个程序,用传感器自动检测温湿度;二是想通过它,用手机实现远程开关电灯。结果2年多下来,大部分时间它处于闲置状态,一直也没有积攒起足够的兴趣去做这两件事。直到由于工作原因和自己的需要,先后两次刷入OpenWrt,把它当作路由器使,才最终物尽其用。

2 软硬件环境及目标

2.1 软件

Windows 10 x64

Cygwin x64

OpenWrt Chaos Calmer 15.05.1

2.2 硬件

树莓派B+ x1

UNITEK Y-1466 USB百兆网卡(芯片应该是ASIX AX88772C) x1

Netcore NW362无线网卡(芯片Realtek rtl8192cu) x1

具有AV接口或HDMI接口的显示器 x1 (可选)

2.3 目标

我不打算用树莓派替换现有的无线路由器,目前要做的是让它通过现有路由器上网,后续会把它配置为OpenVPN服务器。

我现有路由器的LAN口是192.168.1.0/24网段,树莓派各个网卡安排如下:

  • USB网卡作为WAN口,从现有路由器自动获取IP。
  • 自带网卡作为LAN口,网段192.168.2.0/24设置IP 192.168.2.1,DHCP IP派发范围192.168.2.100~192.168.2.249
  • 无线网卡与LAN属同一网段,DHCP派发范围相同。

3 下载及刷入OpenWrt

3.1 下载链接

适用于树莓派B+的OpenWrt Chaos Calmer 15.05.1,下载后需要解压缩方可刷入MicroSD卡。

解压后的文件名是openwrt-15.05.1-brcm2708-bcm2708-sdcard-vfat-ext4.img

3.2 刷入SD卡

把MicroSD卡通过读卡器插到电脑的USB接口上,然后以管理员身份运行Cygwin Terminal。用下面命令查看当前系统当前的磁盘及分区,找出哪个是U盘(我电脑上U盘是sdc):

cat /proc/partitions

用下面命令把OpenWrt镜像写入SD卡。一定要看准是哪个是U盘再执行命令,否则可能造成数据丢失,切记。

dd if=./openwrt-15.05.1-brcm2708-bcm2708-sdcard-vfat-ext4.img of=/dev/sdc bs=2M conv=fsync

4 OpenWrt配置

4.1 用命令行进行初始配置

刷入OpenWrt后,树莓派自带网口的默认IP地址是192.168.1.1,可以通过web界面或telnet登入树莓派进行配置。之前我一直不知道这一点,都是外接显示器和键盘,用命令行把自带网口配置成DHCP获取IP,然后安装网卡驱动,再通过web界面进行后续配置的。因此,命令行配置终止于安装网卡驱动。后续配置见4.3 图形界面配置。

配置自带网卡为DHCP获取IP地址:

uci set network.lan.proto=dhcp
uci commit network
/etc/init.d/network restart

修改root账户密码(注意root密码修改后,命令行会关闭telnet登录,改为ssh登录):

passwd

更新可安装软件列表:

opkg update

安装USB网卡驱动:

opkg install kmod-usb-net-asix

安装无线网卡驱动:

opkg install kmod-rtl8192cu

让AP模式支持WPA加密:

opkg install hostapd hostapd-utils

重启树莓派,让驱动生效:

reboot

4.2 图形界面配置

4.2.1 设置密码

下图是OpenWrt的登录界面,初始密码为空。可以先登录,然后点击“Go to password configuration...”设置密码(注意密码设置后,命令行会关闭telnet登录,改为ssh登录)。

也可以从菜单项“System->Administration”进入密码设置界面。

flash-openwrt-to-raspberry-pi_01

4.2.2 设置自带网卡IP信息

目前USB网卡和无线网卡的驱动都还没有安装,要实现完整路由器的功能,需要先安装驱动。安装驱动的前提是树莓派先要能上网。因此,需要先设置自带网卡的IP信息。

从“Network->Interface”进入网络接口设置界面,此时只有一个网络接口,点“Edit”按钮编辑网络参数。

flash-openwrt-to-raspberry-pi_02

我这里设置如下。

flash-openwrt-to-raspberry-pi_03

4.2.3 安装网卡驱动及相关软件

从菜单项“System->Software”可进入软件安装界面。点击“Update lists”按钮更新软件包列表,然后到“Avaible packages”寻找软件,安装即可。这里需要安装的是USB网卡驱动kmod-usb-net-asix,无线网卡驱动kmod-rtl8192cu,让AP模式支持WPA加密的两个软件包hostapd、hostapd-utils。

注意安装完需要重启树莓派,才能正确识别两个外接网卡。

flash-openwrt-to-raspberry-pi_04

4.2.4 配置wan口

从“Network->Interface”进入网络接口设置界面,点击“Add new interface...”按钮,添加新的网络接口“wan”,并把它设置为自动获取IP地址。

flash-openwrt-to-raspberry-pi_05flash-openwrt-to-raspberry-pi_06

配置完成后,网络接口设置界面会多出来一个wan口。

flash-openwrt-to-raspberry-pi_07

4.2.5 配置LAN口

从“Network->Interface”进入网络接口设置界面,点击LAN口的“Edit”按钮,设置参数如下。注意,如果没有用到IPv6,可以在“DHCP Server”的“IPv6 Settings”里面,把自动派发IPv6地址的功能禁用掉,否则上网可能会出现问题。

flash-openwrt-to-raspberry-pi_08

4.2.6 配置无线

先确认无限网卡和自带网卡属于桥接状态。这是无线和LAN口处于同一局域网段,共享DHCP派发范围的关键。

从“Network->Interface”进入网络接口设置界面,点击LAN口的“Edit”按钮,在“Common Configuration”的“Physical Settings”里面,确认“Bridge interfaces”、lan口网卡、无线网卡的复选框是勾选状态。

flash-openwrt-to-raspberry-pi_09

从“Network->Wifi”进入无线设置界面,然后点击“Edit”按钮。

flash-openwrt-to-raspberry-pi_10

在“Interface Configuration”的“Wireless Security”设置无线路由器的密码,其他配置可以不用理会。

保存配置后点击“Enable”按钮,然后重启路由器,配置结束。

flash-openwrt-to-raspberry-pi_11

5 参考文档

5.1 OpenWrt的树莓派页面

5.2 极客DIY:我的树莓派 OpenWrt 路由器

5.3 Installing OpenWRT on a Raspberry Pi as a New Home Firewall

5.4 DIY高性能树莓派OpenWrt无线路由器

5.5 Secure and Turn on Wifi

Visits: 4775

此条目发表在树莓派分类目录,贴了标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

8 + 7 =