摘要:
有些学校宿舍没有无线校园网,只有一根入户网线,每次开机还要宽带连接,非常dan疼。普通人肯定会直接买套路由器+AP组WiFi用。但我们是垃圾佬,因此手搓。本篇使用树莓派作为演示,实际也有香橙派这种十几块就能搞定的究极省钱方案。
思路:(可以直接跳到二章2节开始操作)
1、一张图简单解释外部网线如何经过路由器形成局域网
WAN口:连接外部网络服务商的线
LAN口:本地局域网内设备和路由器连接的线,末端可以是AP这样的无线信号发射器(WiFi)、直接连接电脑(RJ45)或者再串一个路由等
简言之就是本地设备的数据经LAN口传输至路由汇总然后通过WAN口交给服务商帮你转发
2、我们需要做什么
我们要做的就是在硬件设备上拥有至少一个WAN口、一个LAN口、一套实现路由操作的软件即可。这里有几件事需要我们了解:
1)虽然与服务商通信的WAN口通常是光纤或者拨号网口这样的物理线材,这是服务商规定的。但是LAN可以是任何能够进行信息传递的媒介,由我们自己决定。
2)如果不熟悉网络,可能会直观上觉得无线网卡的主要职责是接受WiFi向我们发送的数据,也就是我们管路由器“要”。然而事实上无线网卡也可以主动“给”,而且速度并不慢。所以我们完全可以将无线网卡配置为向外输送信息的LAN口。
3)OpenWRT是一款开源免费的路由固件,其中包含了支持各种协议的路由软件,背后的原理暂时可以不用管,我们只需要知道,对于OpenWrt的开发/维护人员,应该给他们发诺贝尔奖。
4)这里我主要想说明如果你的设备/开发板只有一个网口应该怎么办。如果网口非常多,那很简单,直接线连即可。
开始操作
1、材料
首先我们需要这么几个东西:
2、固件下载
可以从这里下载对应的固件
OpenWrt官网:https://firmware-selector.openwrt.org/
我更推荐下载别人配置好的,假设后续需要增加功能也可以更方便地配置:https://github.com/SuLingGG/OpenWrt-Rpi
为了防止有人找不到怎么下载,我这里啰嗦一下😂
好了,等它下载完我们的软硬件都准备好了,下面开始正式操作
2、操作
1)第一步,先把系统烧到板子上
我用的tf卡+Win32DiskImager(这个东西网上随便搜都有),tf卡插到读卡器,然后插到电脑上,打开软件Win32DiskImager,注意盘别选错了
点写入,稍微等一会,看见下图就可以拔下来了
2)板子连线
3)软件配置
插上网线和串口,给板子上电,我喜欢串口控制,所以用MobaXterm(网上搜可以免费下载)
连接好了以后敲一下回车,能看见这些东西,板子就算启动了
然后就可以访问板子上的openwrt控制台了
直接点log in 的按钮,可以点的,信我
进来以后长这样
-------------------------------------------------------------------安全线-----------------------------------------------------
接下来注意操作顺序:因为我们只有一个网口,所以最后的结果就是我们需要把以太网网口作为WAN连接外部网线,网卡作为LAN开热点用。假设先配置网口为WAN口,那么将直接掉线且无法再通过网线访问板子,所以我们必须先把热点打开,然后通过热点再次访问板子来修改以太网接口
1.首先打开无线网
点编辑
应用设置
设置成功以后WiFi这里就能看到了
根据刚才设置的密码进行连接,当然,现在暂时是没有网的,没关系
拔掉网线换成从墙上引出来那根服务商提供的,再次访问openwrt(因为直到拔掉网线以前我们都是通过以太网接口进行访问的,所以拔掉会直接掉线),现在我们需要对接口进行配置
默认情况下无线网卡和以太网都作为br-lan使用的(所以我们才可以通过无线网进行访问),现在我们需要让以太网口成为WAN口,就需要先将它分离出来
别忘了保存并应用!
现在OpenWrt这边就配置完毕了,可以进串口控制台看一眼
ifconfig
理论上现在就有网了,可以测试一下
3、后续细节的补充
现在还没完,因为如果你断电再启动你会发现网没了,比如这样
不过这是小问题,开机重新刷新一下配置就可以了比如这样
/etc/init.d/network restart
这样就好了
不过这么操作还是不够优雅,甚至可以说很弱智,所以我们需要让它每次重启都执行这个操作,先创建一个shell脚本(是的,自带了vim编辑器,爽,大声斥责某些板子)
vim restart.sh
按一下键盘的i,进入插入模式才能正常输入内容,里面加上这个(是ash,不是bash也不是sh)
保存退出
:wq
增加可执行权限,
然后配置到开机自动执行里面,实际上直接把上面的指令粘进来也是完全可以的
我这么做只是为了把我们自己diy的启动文件放在一起方便增加或者修改,注意放在exit 0前面保存退出
chmod +x restart.sh
vim /etc/rc.local
重启,发现完全重启过后也有网了(这个过程可能持续半分钟左右,不会特别长)
reboot
4、后话
打开“那个”测试网站,发现也是可以用的,前提是你得会施法