前面我们基于桥接模式实现了随身WiFi的功能,现在我将使用另一种方式来实现,使用openwrt来搭建一个功能更强大的无线路由器。
The LEDE project is a Linux based embedded meta distribution basedon OpenWrt and targeting a wide range of wireless SOHO routers and non-networkdevices.
LEDE spun away from the mother project in May 2016, aims for an opengovernance model and attempts to simplify contributing to encourage newdevelopers in embedded development.
LEDE即Linux Embedded Development Environment,是 OpenWrt 的一个分支,但是操作方式跟OpenWRT完全相同,集成了adbyby、shadow-socks、redsocks2、chinadns等。
1.下载支持Raspberry Pi3的镜像
下载地址:
https://downloads.lede-project.org/snapshots/targets/brcm2708/bcm2710/lede-brcm2708-bcm2710-rpi-3-ext4-sdcard.img
2.烧写镜像到SD卡,原本打算Ubuntu使用dd命令烧写,但是VirtualBox不能将SD卡加载到虚拟机操作系统中,尝试解决没有成功,放弃了这个想法。在Windows使用Win32DiskImager烧写到SD卡中。
3.将SD卡插入到树莓派中,上电开机。
4.启动树莓派后,为root设置一个密码,然后编辑/etc/config/network文件。OpenWrt会将Pi的自带网卡IP地址设为192.168.1.1,在网络环境中和主路由器是相同地址,修改默认IP为192.168.1.11,网关修改为上级路由IP:192.168.1.1,DNS设置为114. 114. 114. 114。
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr'127.0.0.1'
option netmask'255.0.0.0'
config globals 'globals'
option ula_prefix 'fdf5:21a2:7ab9::/48'
config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr'192.168.1.11'
option netmask'255.255.255.0'
option ip6assign '60'
option gateway '192.168.1.1'
option dns '114. 114. 114.114'
config interface 'wan'
option proto 'dhcp'
option ifname 'eth0'
5.修改/etc/config/wireless,这一步需要注意,网上很多文章都是修改/etc /wireless导致不能正确配置。主要是设置 ssid 'openwrt_raspberry_pi3',密码key 'testopenwrt'。
config wifi-device 'radio0'
option type mac80211
option channel '11'
option hwmode '11g'
option path 'platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
option htmode 'HT20'
option disabled '0'
config wifi-iface 'default_radio0'
option device ‘radio0’
option network 'lan'
option mode 'ap'
option ssid 'openwrt_raspberry_pi3'
option encryption 'psk2'
option key 'testopenwrt'
6.安装luci软件,然后就可以通过浏览器访问路由器。这个步骤中很重要的一步是:打开路由器Linux终端中,输入命令“opkg update”,开始下载Packages.gz并更新,如果不执行这一步,导致的问题就是Cannot install,Unknown package ’luci’。
输入命令“opkginstall luci”,安装luci软件,先开始自动下载软件的关联库,下载完成后会自动安装配置,我们只需要等待安装完成的提示:Configruing luci. 。
输入命令“/etc/init.d/uhttpdenable”回车,打开uhttpd服务。
输入命令“/etc/init.d/uhttpdstart”回车,启动uhttpd。
7.修改/etc/config/firewall,在文件尾部添加rule允许通过wan连接ssh。
#open ssh on wan interface
config rule
option src wan
option dest_port 22
option target ACCEPT
option proto tcp
使用Putty登录树莓派,看到BusyBox启动界面。
打开手机WiFi,搜索到openwrt_raspberry_pi3,输入密码连接到AP openwrt_raspberry_pi3。
连接成功后,查看IP信息。
连上WiFi后,用手机浏览器访问EEworld论坛。
在终端中使用命令ifconfig查看本机网络信息。本机IP为192.168.1.11。
在电脑端的浏览器中输入“192.168.1.11”,访问路由器配置界面,输入root账号及密码。
路由器首页和一般的路由器首页信息比较类似。
无线统计页面,可以获取到WiFi的运行状态和连接的设备。