
OpenWrt 从入门到精通:全面掌握 OpenWrt 使用与配置
OpenWrt 简介
OpenWrt 是一个基于 Linux 的开源嵌入式操作系统 ,主要用于路由器和其他网络设备。它不仅仅是一个路由器固件,而是一个完整的、高度可定制的操作系统平台,允许用户对网络设备进行深度控制和功能扩展。
常见固件:官方openwrt、immortalwrt、Lean固件、istore、其他
immortalwrt 和Lean是国内大部分用户的固件选择,也为大家更方便的使用openwrt做出了卓越贡献!
感谢天灵、Lean等大佬们的付出。
英特尔CPU性能对比:https://bulianglin.com/g/aHR0cHM6Ly93d3cuaW50ZWwuY24vY29udGVudC93d3cvY24vemgvc2VhcmNoLmh0bWw
OpenWrt 支持的设备:https://openwrt.org/toh/start
OpenWrt 分类以及选择
OpenWrt 分类
官方 openwrt:应用商店在国外,没有科学插件,可以看作官方正版windows11,更新及时,但是软件商店需要科学,以及安装科学插件比较麻烦、OpenWrt 22.03版本开始使用基于 nftables 的 firewall4 防火墙。
immortalwrt:openwrt的分支项目,从官方基础上做了针对中国用户的优化比如添加翻墙插件以及驱动方面的优化,软件源提供了大量常用的第三方插件,并且提供了cdn加速的镜像源,可以非常方便的安装和管理插件。同时跟随官方更新,改动较少,可以看作windows中国特供版,不足是新版本舍弃了旧版防火墙可能对老插件兼容不是很好, 23.05版本开始 firewall4 防火墙,之前有几个版本为了兼容性混用两种防火墙。
Lean的固件:在官方较早的一个分支版本上开发,没有跟随官方版本更新,但对大部分插件兼容性很好,应用商店不够完善,适合编译,可以看作windows7修改版,不足之处暂时不兼容新的插件比如homeproxy和MihomoTproxy。iptables 的 firewall3 防火墙。
- 官方版本:https://firmware-selector.openwrt.org/
- immortalwrt:https://firmware-selector.immortalwrt.org/
- Lean官方构建:https://github.com/coolsnowwolf/lede/actions
固件选择
如果你没有特别多的插件以及老的插件使用需求,尽量选择官方 openwrt 或者 immortalwrt,
如果你喜欢折腾需要很多插件,但是不太使用较新的插件比如homeproxy、可以自行编译Lean,或者直接使用Lean自动构建的固件。
自定义构建参考Package:https://downloads.immortalwrt.org/releases/23.05.1/packages/x86_64/luci/Packages
固件格式选择:如果是X86架构软路由尽量选择 EXT4
, 唯一缺点不能重置,如果有经常重置需求选择 SQUASHFS
格式
❗ 不建议使用网上下载的第三方固件,无论其多么有名,都是基于上述源码编译而来,无法确保安全性和稳定性。
另外,不要太在意固件名称和皮肤样式。这些都可以在编译时自定义,不影响性能。OpenWrt 本身是命令行系统,默认黑色主题虽然简陋但非常稳定。
OpenWrt 扩容
安装前直接扩容镜像(只有 squashfs 固件有效):
需在 Linux 系统中操作,例如 OpenWrt、Debian、Ubuntu 等。
检查是否具备所需依赖:
which gzip
which dd
which parted
- Step1:把镜像上传至openwrt根目录(上传位置可以自己决定)
- Step2:按顺序执行以下命令(命令中的镜像名字根据自己实际填写,以
immortalwrt.img
为例)
# 切换到根目录
cd /
# 解压缩镜像文件
gzip -kd immortalwrt.img.gz
# 解压成功后删除压缩包,方便后面选择文件
# 扩展镜像文件的大小 (count=500 表示增加 500MB 的空间)
dd if=/dev/zero bs=1M count=500 >> immortalwrt.img
# 使用分区工具操作镜像
parted immortalwrt.img
# 查看分区情况
print
# 调整分区大小 (将第 2 个分区扩展至镜像文件的 100%)
resizepart 2 100%
# 查看是否扩展成功
print
# 退出分区工具
quit
⚠️ 若为 EFI 固件,在扩容过程中会弹出额外选项,请选择
Ok
并选择Fix
。
安装后扩容镜像:
方法一:EXT4 格式 —— 扩容系统根目录
- 更新软件商店;
- 安装
diskman
工具; - 在挂载点设置中,禁用“自动挂载”选项;
- 创建一个 2GB 大小的新分区(根据需求调整大小),并将其格式化为 ext4 文件系统;
- 将新分区挂载为系统根目录;
- 复制提示的命令到记事本中,将命令中的
/dev/sda1
替换为实际的分区名称; - 在 SSH 中执行替换后的命令,回车运行直到完成;
- 重启 openwrt;
方法二:SQUASHFS 格式 —— 扩容 Overlay 分区
- 前四步与方法一类似;
- 将新分区挂载为/mnt/sda3 (目的是拷贝overlay文件用,sda3根据自己情况随意命名)
- SSH连接openwrt后执行命令:
cp -r /overlay/* /mnt/sda3
(将原overlay下的配置拷贝至新分区) - 查看新分区目录是否拷贝成功
- 删除刚刚的/mnt/sda3 挂载
- 将新分区重新挂载为overlay
- 重启 openwrt
具体参考:openwrt基础配置 | openwrt固件选择、扩容、docker安装扩容、网络共享samba4安装配置
插件安装
通过安装各种插件,你可以轻松实现广告过滤、科学上网、远程访问等多种高级功能。
apk命令 | opkg命令 | 说明 |
---|---|---|
apk update |
opkg update |
刷新包源 |
apk add pkg |
opkg install pkg |
安装指定包 |
apk del pkg |
opkg remove pkg |
卸载指定包 |
官方 OpenWrt 设置
OpenWrt 的默认登录信息:
- 地址:
http://192.168.1.1
- 用户名 :
root
- 密码 : 未设置(首次登录不需要密码)
openwrt 更换镜像源
用 ssh 工具连接 OpenWrt,随便输入下面的命令进行换源:
- 中科大:
sed -i 's/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g' /etc/opkg/distfeeds.conf
- 清华源:
sed -i 's_https\?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
必备插件安装
- 汉化界面
24.10版本以后,汉化搜索安装下面三个插件即可;
luci-i18n-base-zh-cn # 最重要
luci-i18n-firewall-zh-cn
luci-i18n-package-manager-zh-cn
-
SFTP 服务
安装 openssh-sftp-server 提供通过 SSH 加密通道进行安全文件传输(SFTP)的服务。
-
安装argon主题
参考:luci-theme-argon/README_ZH.md at master · jerrykuku/luci-theme-argon
指定网关、DNS:
tag:proxy,3,192.168.10.2
:所有proxy标签的设备都分配网关为192.168.10.2
tag:proxy,6,192.168.10.2
:所有proxy标签的设备都分配DNS为192.168.10.2
三方 ImmortalWrt 设置
ImmortalWrt 的默认登录信息与 OpenWrt 类似;
📦 必装插件(Luci Apps & Themes)
直接在 软件包
界面搜索下面插件安装即可,如果搜不到可以进行离线安装;
插件名称 | 功能简述 | 用途说明 |
---|---|---|
luci-theme-argon |
Argon 主题皮肤 | 提供美观现代的 Web 管理界面主题 |
luci-i18n-ttyd-zh-cn |
ttyd 的中文包 | 支持浏览器终端服务界面显示为中文 |
luci-app-openclash |
OpenClash 客户端 | 强大的科学上网图形化配置工具 |
luci-i18n-passwall-zh-cn |
PassWall 中文包 | 网络代理 |
luci-i18n-homeproxy-zh-cn |
HomeProxy 中文包 | 网络代理 |
参考文章
- 感谢你赐予我前进的力量