树莓派直接安装openwrt并同时作为路由/旁路由


树莓派直接安装openwrt并同时作为路由/旁路由

之前的一篇文章介绍了我是如何利用docker在树莓派里部署openwrt并作为旁路网关,并测试了一下用它来科学上网的效果,的确方便了很多,docker的部署也比较简单,并且能充分利用树莓派的资源,但是我也发现了一些原因未知的问题,那就是使用docker部署的openwrt作为旁路科学上网的时候,速度上不去,比如播放4k视频速度最快也只能三万kbps出头,同样的线路如果不是在树莓派上运行v2ray客户端而是直接在电脑上运行时,速度可以达到五万+Kbps,但是此时树莓派的cpu也并没有占满,我很好奇如果直接在树莓派上运行openwrt而不是通过docker,效果会是怎么样的。

一番折腾之后终于在树莓派上安装好了openwrt并能同时作为无线路由/旁路由使用,写下此文作为记录。

感谢美丽应用提供的openwrt固件以及教程,他的文章非常详细的介绍了如何安装配置等等。

另外,itgeeker.net(这域名和我的真像…)提供的方法使我成功让树莓派同时作为无线路由/旁路由使用。

这篇教程中的我的网络结构为 天翼光猫(192.168.1.1)->tenda ac10(192.168.0.1)->树莓派(192.168.0.2)

安装openwrt

选取镜像

因为美丽应用提供了两种文件系统的镜像,分别是squashfs和ext4,但是默认都只分配1000MB的空间,考虑到我并没有扩展分区的需求,并且squashfs可以方便的恢复初始化而不需要重新写入固件并且手上又正好有一张1GB的sd卡,所以我选择了squashfs的系统镜像。

写入镜像

推荐使用工具Rufus进行系统的写入,操作很简单,把sd卡插到电脑上,在rufus里选择好需要写入的镜像即可。

启动并配置系统

把sd卡插入树莓派,注意如果你家的路由器也使用了192.168.1.x的网段时暂时不要插网线先,因为该系统也默认使用了192.168.1.x的网段。通电,等上大概半分钟后就应该能看到一个名为Openwrt的开放热点了,连接该热点,然后浏览器访问192.168.1.1进行配置。

从这里开始,要做的和美丽应用的教程里的就不太一样了,我们不需要再添加WAN以及设置,只需要设置LAN即可。我们首先需要设置LAN的ip段和主路由同一段但是需要注意的是,直接在浏览器里设置LAN的ip段大概率是无法成功的(至少我没有成功),我们需要通过ssh连接到openwrt上进行操作(密码也是password)。

# 编辑网络配置文件 
vi /etc/config/network
# 将lan口编辑成类似于这样的形式,gateway填主路由ip,dns随意

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.0.2'
        option netmask '255.255.255.0'
        option gateway '192.168.0.1'
        list dns '223.5.5.5'

# 然后重启网络
/etc/init.d/network restart

执行上述操作之后,网络会暂时断开,这时候如果你之前没插上网线,现在就可以插上了。

等待半分钟后再次连接,使用192.168.0.2进入openwrt配置界面,修改网络->接口->lan,把dhcp服务-高级选项中的强制dhcp开启,如果本地没有ipv6的话把ipv6分配长度设为禁用,并且把dhcp服务器-ipv6设置里面的路由通告和dhcp6都给关闭。这些操作理论上也可以在第一次登陆的时候进行

配置完毕之后建议再次断开连接,等半分钟再连接Openwrt的热点,此时应该是可以上网了的(如果不行,重启一下openwrt),并且分配到的ip和直接连接主路由分配的ip属于同一段。

树莓派路由

不得不说,实际体验上,树莓派直接运行openwrt感觉要比docker中运行openwrt要舒服一些,占用更低了,平时cpu占用不超过1%(也许算是一种浪费?),也不像docker运行时那么多bug了(如软件包安装出错,也许只是我没配置好…),最为重要的是,运行v2ray的时候,速度突破了docker运行时的30mbps,达到了40mbps甚至50mbps,也许还能更快。

作为无线路由

直接连接Openwrt的热点时,树莓派直接起到了无线路由器的作用,这个固件默认创建的热点属于5ghz wifi,传输速率要比我想象的要快(仅限于一个比较小的范围内,如在一个房间里面),连接树莓派创建的5ghz wifi,在电脑上运行iperf3测速(网络接口速度显示300Mbps)。

直接访问youtube看看4k,比原来docker时的测试要快不少了,此时的系统占用也要低一些。

此时的占用

作为旁路由

考虑到树莓派内置的无线网卡发射功率比较小,只能在一个比较小的范围内接收到信号,所以还是要充分利用家里已有的路由器,在这里,树莓派将作为旁路网关来处理数据,操作也很简单,只需要我们连接wifi的时候手动把网关和dns服务器都设置成192.168.0.2 树莓派的ip 即可,如果主路由还接了其他的路由器,那直接把其他的路由器的网关设为192.168.0.2,然后连接其他路由器的设备就不用再设置网关了。

这次测试中连接主路由的5ghz wifi,网关设置为树莓派。

效果也是相当不错的。

参考对照

尝试直接连接5ghz wifi使用默网关,并在电脑上运行v2ray客户端。

看来仍然有一定的差距。

总结

如果你的树莓派还有其他的作用,那么个人感觉还是在docker里面运行openwrt作为旁路由就够了,如果你有多个树莓派,或者树莓派吃灰了,又或者你有在宿舍弄一个无线路由器的需求(这个openwrt镜像内置了mentohust,可以进行锐捷之类的认证拨号)那么直接装成openwrt就好了。不过在上面的比较中,电脑直接运行v2ray还是要快一些的(暂时不知道原因),就是没那么方便罢了。


文章作者: HavocW
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 HavocW !
评论
  目录