OpenWrt新手必备之技能
前言
Openwrt的生态相当复杂,初次接触的人会感受到不少困惑,应该选择什么样的硬件,从哪里找到合适的固件,需要安装哪些插件,自自己动手还是拿来主义,系统不小心搞坏了怎么重置,如何更新或切换其他的固件,下面我们就这些困惑逐步展开解释。
一、硬件选择
首先你需要一个支持openwrt的设备,这个你可以在某宝上搜索软路由就可以,可以是ARM的设备,也可以是X86的设备。
如果你原来的家用路由器可以刷出openwrt系统,也可以直接拿自己的路由器开刷。
本人先后折腾的过的软路由主要有NanoPi R1S-H5,E3845, J4125,配置越来越高,后来发现性能都过剩了。
二、固件选择
固件的来源,可以自己编译,也可以用别人的,两种都尝试过了,后来发现在网上定制编译最适合自己,这样固件里面的插件可以按需添加,另外该平台还提供了固件类型,默认IP地址和密码,是否开启IPv6,根分区大小等定制选项。
- X86固件来源:openwrt在线定制编译
- 其他网友推荐的固件,之前一直在用。固件链接
- 最近比较流行的iStore ,是一个开源且标准的 OpenWRT 软件中心实现。https://github.com/linkease/istore
至于固件的安全性,见仁见智了,如果自己没有能力分析的话,暂时只能依靠各位网友的试用反馈和开源审查了。
另外一个可选的固件安全性评估系统https://www.virustotal.com/,把固件上传上去就可以。
备注:为了方面后面固件的在线更新或替换,建议固件类型选择Squashfs格式的。
固件选择示意图:
三 、固件安装
如果是ARM的设备,如R1S-H5,先在SD卡上刷系统,烧录软件建议用Etcher。
如果是X86的设备,首次烧录系统的时候需要制作一个USB启动盘,可以用老毛桃的软件做一个启动U盘。然后把烧录软件Ether和固件一起拷贝到U盘上,然后从U盘启动安装。X86系统开机进入BIOS的热键一般是DEL键,如果不是请咨询设备的卖家。
X86系统使用ether烧录后后可能提示校验失败,不用管他。直接把U盘拔掉启动即可。
也可以使用其他的U盘启动盘制作工具,网上教程很多,不赘述了。
四 、如何组网
刷完系统,软路由可以通电接入网络了,现在就涉及到如何接入家庭网络。软路由一般有主路由和旁路由两种工作模式。
我这里以自己常用的主路由模式为例子说明如何接入现有家庭网络。
4.1. 确认固件的基本信息
下面只是样例,实际的参数值参考自己拿到的固件的信息:
-
固件默认的接入IP地址或主机名。例如192.168.5.1 (如果是自定义的固件,注意预设值IP地址不要同已有的网络冲突)
-
固件默认的账号和密码:用户名root , 密码:root
-
固件的WAN口是哪个, LAN是哪个或哪几个。一般是eth0是LAN口(内网通信的), eth1是WAN口(对外通信的)。
**提示:**有些设备网口的物理口编号不是从eth0开始,而是从eth1开始。这时候的物理口eth1就对应系统中的逻辑口eth0。
如果实在不知道,也可以接上显示器和键盘,进入Openwrt的控制台,查看一下cat /etc/config/network配置文件。
[root@OpenWrt: ~] # cat /etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge' # eth0,eth2,eth3都是LAN口
list ports 'eth0'
list ports 'eth2'
list ports 'eth3'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.5.1' #LAN口的IP地址
option delegate '0'
config interface 'wan'
option device 'eth1' # eth1是WAN口(外网口)
option proto 'dhcp'
option ipv6 '0'
option delegate '0'
config interface 'docker'
option device 'docker0'
option proto 'none'
option auto '0'
config device
option type 'bridge'
option name 'docker0'
4.2. 接线组网
假定我们预期的网络拓扑结构如下:
按照如下的方式接线:
1、光猫的LAN口–>软路由的WAN口
2、软路由的LAN口–>家用无线路由器的WAN口
3、其他上网设备以无线或有线的方式接入家用的路由器。
这里使用了多个网段,光猫 192.168.1.0网段,软路由192.168.5.0网络,家用路由器192.168.31.0网络。也可以通过修改让软路由和家用路由器属于同一个网段,或者无线路由器仅作为AP设备接入,实际的网络拓扑以用户的实际需要为准。
**提示:**不过为了出现故障的时候方便分网络排查,用多个网段也没有问题,实际使用中也没有性能问题。(youtube 4k播放流畅)
五、系统配置
组网成功后,我们就可以通过IP或者主机名接入(如果软路由设置了mDNS)。
我们使用IP地址和账号登录系统,然后进行??上网的配置,此处配置过程略过,在后续的插件使用篇再介绍。
六、备份与升级
下面讲到最重要的一个功能,系统的备份和升级功能。
1、通过升级功能,上传新的固件版本,在线完成固件更新。(包括升级/降级/新安装其他固件)
2、通过备份和恢复功能,可以在系统给搞坏后重置系统,然后在基于原来的备份恢复配置。
提示:
-
这里要求你之前刷的固件的文件系统是Squashfs格式的。
-
有的时候系统搞坏了,无法进入Web 页面进行重置,也可以通过ssh方式登录系统,用命令行方式输入firstboot后,在确认y重置系统,再输入reboot重启系统。
提示:有些类似AdGuardHome的配置文件,是在/etc/AdGuardHome.yaml,不在默认的备份列表里面。需要自己在备份的配置里面添加。如下图所示:
squashfs简介:
squashfs 固件的 rootfs 分区以高度压缩的方式存在,对于存储容量小的设备来说是个不错的选择。
启动系统时内核先以只读方式挂载原始 rootfs 分区,接着在 rootfs 分区之上挂载一个 overlay 分区并这两个分区合并,最终对外体现为一个可读写的 rootfs 分区。
对于原始 rootfs 分区的所有修改 (包括文件的添加和删除) 都在 overlay 分区中进行,这也意味着如果清除 overlay 分区的所有内容,OpenWrt 系统将对外体现为全新刷入固件时的状态。OpenWrt 的系统还原就利用了这样的特性,如果你一不小心玩坏固件,只要还能进入 LuCI 或 SSH,就可以很方便地进行 “系统还原操作”。
七、小结
作为新手,需要了解自己的设备类型,找到适合的固件,知道如何查询固件的基本信息(WAN口和LAN口,后台IP和账号/密码),文章来源:https://www.toymoban.com/news/detail-416937.html
系统的备份和恢复,固件的在线更新和切换等基本技能后,就可以顺利的开启Openwrt之途了。文章来源地址https://www.toymoban.com/news/detail-416937.html
八、参考链接
- 关于Openwrt https://zh.m.wikipedia.org/zh-hans/OpenWrt
- 固件烧录 https://doc.embedfire.com/openwrt/user_manal/zh/latest/User_Manual/quick_start/imageflash.html
- 固件文件格式 https://doc.openwrt.cc/1-General/4-Firmware-Format/
到了这里,关于OpenWrt新手必备之技能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!