[原创] 一起玩树莓派3+将树莓派打造成功能强大的路由器

shenlan1986   2016-11-9 20:57 楼主
       前面我们基于桥接模式实现了随身WiFi的功能,现在我将使用另一种方式来实现,使用openwrt来搭建一个功能更强大的无线路由器。
       我参考了网络上https://my.oschina.net/wangandi/blog/687389这篇文章的操作过程,但是这篇文章中有些步骤存在问题,会导致失败,发现问题并解决掉。
       首先我们需要下载OpenWrt镜像,OpenWrt本身还没有支持pi3,我们需要下载LEDE镜像,LEDE是OpenWrt的一个分支,正如官方网站(https://www.lede-project.org/)是这样介绍LEDE的。
       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的镜像
lede.jpg
下载地址:
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卡中。
winimage.png openwrtwrite.png writesu.png
3.将SD卡插入到树莓派中,上电开机。
启动.jpg
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'
wireless.png
6.安装luci软件,然后就可以通过浏览器访问路由器。这个步骤中很重要的一步是:打开路由器Linux终端中,输入命令“opkg update”,开始下载Packages.gz并更新,如果不执行这一步,导致的问题就是Cannot install,Unknown package ’luci’。
opkg.jpg
输入命令“opkginstall luci”,安装luci软件,先开始自动下载软件的关联库,下载完成后会自动安装配置,我们只需要等待安装完成的提示:Configruing luci. 。
输入命令“/etc/init.d/uhttpdenable”回车,打开uhttpd服务。
输入命令“/etc/init.d/uhttpdstart”回车,启动uhttpd。
luciconfig.jpg
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启动界面。
openwrtputty.png
打开手机WiFi,搜索到openwrt_raspberry_pi3,输入密码连接到AP openwrt_raspberry_pi3。
scan.png connect.png
连接成功后,查看IP信息。
info.png

连上WiFi后,用手机浏览器访问EEworld论坛。
访问论坛.png
在终端中使用命令ifconfig查看本机网络信息。本机IP为192.168.1.11。
ifconfig.png
在电脑端的浏览器中输入“192.168.1.11”,访问路由器配置界面,输入root账号及密码。
访问.jpg
路由器首页和一般的路由器首页信息比较类似。
主页.jpg
无线统计页面,可以获取到WiFi的运行状态和连接的设备。
wirelessoverview.jpg

回复评论 (3)

看了有点蠢蠢欲动的感觉
点赞  2016-11-9 22:59
config interface 'lan'
        option type 'bridge'
#      option ifname 'eth0'

这块应该注释掉,否则eth0不能自动获取ip地址
点赞  2017-7-15 14:09
需要连接热点吗
点赞  2017-12-28 16:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复