Openwrt的生态相当复杂;初次接触的人会感受到不少困惑;应该选择什么样的硬件;从哪里找到合适的固件;需要安装哪些插件;自自己动手还是拿来主义;系统不小心搞坏了怎么重置;如何更新或切换其他的固件;下面我们就这些困惑逐步展开解释。
首先你需要一个支持openwrt的设备;这个你可以在某宝上搜索软路由就可以;可以是ARM的设备;也可以是X86的设备。
如果你原来的家用路由器可以刷出openwrt系统;也可以直接拿自己的路由器开刷。
本人先后折腾的过的软路由主要有NanoPi R1S-H5;E3845; J4125;配置越来越高;后来发现性能都过剩了。
固件的来源;可以自己编译;也可以用别人的;两种都尝试过了;后来发现在网上定制编译最适合自己;这样固件里面的插件可以按需添加;另外该平台还提供了固件类型;默认IP地址和密码;是否开启IPv6;根分区大小等定制选项。
至于固件的安全性;见仁见智了;如果自己没有能力分析的话;暂时只能依靠各位网友的试用反馈和开源审查了。
另外一个可选的固件安全性评估系统https://www.virustotal.com/;把固件上传上去就可以。
备注;为了方面后面固件的在线更新或替换;建议固件类型选择Squashfs格式的。
固件选择示意图;
如果是ARM的设备;如R1S-H5;先在SD卡上刷系统;烧录软件建议用Etcher。
如果是X86的设备;首次烧录系统的时候需要制作一个USB启动盘;可以用老毛桃的软件做一个启动U盘。然后把烧录软件Ether和固件一起拷贝到U盘上;然后从U盘启动安装。X86系统开机进入BIOS的热键一般是DEL键;如果不是请咨询设备的卖家。
X86系统使用ether烧录后后可能提示校验失败;不用管他。直接把U盘拔掉启动即可。
也可以使用其他的U盘启动盘制作工具;网上教程很多;不赘述了。
刷完系统;软路由可以通电接入网络了;现在就涉及到如何接入家庭网络。软路由一般有主路由和旁路由两种工作模式。
我这里以自己常用的主路由模式为例子说明如何接入现有家庭网络。
下面只是样例;实际的参数值参考自己拿到的固件的信息;
固件默认的接入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;
假定我们预期的网络拓扑结构如下;
按照如下的方式接线;
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和账号/密码),
系统的备份和恢复;固件的在线更新和切换等基本技能后;就可以顺利的开启Openwrt之途了。