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”进入密码设置界面。
4.2.2 设置自带网卡IP信息
目前USB网卡和无线网卡的驱动都还没有安装,要实现完整路由器的功能,需要先安装驱动。安装驱动的前提是树莓派先要能上网。因此,需要先设置自带网卡的IP信息。
从“Network->Interface”进入网络接口设置界面,此时只有一个网络接口,点“Edit”按钮编辑网络参数。
我这里设置如下。
4.2.3 安装网卡驱动及相关软件
从菜单项“System->Software”可进入软件安装界面。点击“Update lists”按钮更新软件包列表,然后到“Avaible packages”寻找软件,安装即可。这里需要安装的是USB网卡驱动kmod-usb-net-asix,无线网卡驱动kmod-rtl8192cu,让AP模式支持WPA加密的两个软件包hostapd、hostapd-utils。
注意安装完需要重启树莓派,才能正确识别两个外接网卡。
4.2.4 配置wan口
从“Network->Interface”进入网络接口设置界面,点击“Add new interface...”按钮,添加新的网络接口“wan”,并把它设置为自动获取IP地址。
配置完成后,网络接口设置界面会多出来一个wan口。
4.2.5 配置LAN口
从“Network->Interface”进入网络接口设置界面,点击LAN口的“Edit”按钮,设置参数如下。注意,如果没有用到IPv6,可以在“DHCP Server”的“IPv6 Settings”里面,把自动派发IPv6地址的功能禁用掉,否则上网可能会出现问题。
4.2.6 配置无线
先确认无限网卡和自带网卡属于桥接状态。这是无线和LAN口处于同一局域网段,共享DHCP派发范围的关键。
从“Network->Interface”进入网络接口设置界面,点击LAN口的“Edit”按钮,在“Common Configuration”的“Physical Settings”里面,确认“Bridge interfaces”、lan口网卡、无线网卡的复选框是勾选状态。
从“Network->Wifi”进入无线设置界面,然后点击“Edit”按钮。
在“Interface Configuration”的“Wireless Security”设置无线路由器的密码,其他配置可以不用理会。
保存配置后点击“Enable”按钮,然后重启路由器,配置结束。
5 参考文档
5.1 OpenWrt的树莓派页面
5.3 Installing OpenWRT on a Raspberry Pi as a New Home Firewall
Visits: 4775