OpenWrt 旁路由安装与配置记录(爱快+iKuai+WireGuard+OpenClash)
前言
本文记录在爱快(iKuai)虚拟机上部署 OpenWrt 25.12.2 作为旁路由的完整流程,包含磁盘克隆、扩容、软件源修复、中文界面、WireGuard 及 OpenClash 的安装配置。适用于希望利用旧电脑或虚拟机搭建软路由进行网络扩展的玩家。
一、环境说明
| 项目 | 详情 |
|---|---|
| 宿主平台 | 爱快 iKuai 3.7.22 |
| OpenWrt 版本 | 25.12.2 x86_64 |
| 镜像类型 | openwrt-25.12.2-x86-64-generic-ext4-combined-efi.img |
| 使用方式 | 先以"引用磁盘"方式启动,再克隆到 8G 硬盘 |
| OpenWrt LAN IP | 192.168.0.3 |
| 爱快 LAN IP | 192.168.0.1 |
| WireGuard 网段 | 10.6.0.0/24 |
二、镜像下载建议
推荐下载
- UEFI 启动:
openwrt-25.12.2-x86-64-generic-ext4-combined-efi.img.gz - Legacy BIOS 启动:
openwrt-25.12.2-x86-64-generic-ext4-combined.img.gz
为什么不推荐 squashfs?
squashfs 是只读文件系统,虽然支持 overlay,但对于需要安装大量插件的 x86 旁路由场景,ext4 镜像更灵活、更易维护。
包管理器变更
OpenWrt 25.12 已从传统的 opkg 切换到 apk(Alpine Linux 包管理器),本文中所有包管理命令均为 apk,请勿替换为 opkg。
三、安装到爱快虚拟机
1. 创建虚拟机并挂载镜像
- 上传镜像到爱快
- 在爱快中创建虚拟机
- 以「引用磁盘」方式挂载该镜像(不复制,直接引用)
- 另外新增一块 8G 虚拟硬盘作为系统盘
2. 为什么需要克隆?
官方 x86 镜像初始根分区通常只有几百 MB,在引用镜像盘运行时空间很快耗尽。因此需要从引用镜像盘启动后,将系统克隆到 8G 硬盘,再改为从 8G 硬盘启动并扩容。
四、首次启动后修改 IP
将 OpenWrt LAN IP 改为 192.168.0.3,与爱快主路由错开:
uci set network.lan.ipaddr='192.168.0.3'
uci set network.lan.netmask='255.255.255.0'
uci commit network
service network restart
查看当前 LAN 配置确认生效:
uci show network.lan
五、识别磁盘
OpenWrt 默认没有 lsblk,可使用以下方式查看分区:
cat /proc/partitions
| 设备 | 说明 |
|---|---|
sda | 引用镜像盘(较小) |
sdb | 8G 目标硬盘 |
六、克隆系统到 8G 硬盘
dd if=/dev/sda of=/dev/sdb bs=4M conv=fsync
sync
poweroff
⚠️
dd操作会覆盖目标盘所有数据,请务必确认of=指向正确的设备。
关机后在爱快虚拟机设置中,将 8G 硬盘设为第一启动盘,或移除引用镜像盘仅保留 8G 盘启动。
重启后确认磁盘大小已变化:
cat /proc/partitions
此时 sda 应约为 8G(显示为 8388608 blocks 左右),但 sda2(根分区)仍较小,后续需要扩容。
七、修复软件源
由于官方源在当前网络环境下可能存在解析异常,切换为清华镜像源:
sed -i 's_https\?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/apk/repositories.d/distfeeds.list
apk update
💡 如果终端粘贴 URL 时出现异常字符,建议手动检查
/etc/apk/repositories.d/distfeeds.list文件内容。
八、安装扩容工具
apk add parted losetup resize2fs
九、扩容 8G 系统盘(完整流程)
步骤 1:查看当前分区
parted -l -s
步骤 2:扩大分区
parted -f -s /dev/sda resizepart 2 100%
reboot
步骤 3:重启后确认分区已变大
cat /proc/partitions
步骤 4:扩大 ext4 文件系统
losetup /dev/loop0 /dev/sda2 && resize2fs -f /dev/loop0
reboot
步骤 5:检查最终空间
df -h
正确结果应类似 /dev/root 大约 7.9G。
十、旁路由基础设置
1. 关闭 DHCP 服务
旁路由场景下主路由负责分配 IP,OpenWrt 的 DHCP 必须关闭,否则会造成冲突:
uci set dhcp.lan.ignore='1'
uci commit dhcp && service dnsmasq restart
2. 设置网关和 DNS
uci set network.lan.gateway='192.168.0.1'
uci set network.lan.dns='223.5.5.5 119.29.29.29'
uci commit network && service network restart
如果你的主路由 IP 不是
192.168.0.1,请替换为实际值。
十一、安装中文界面
基础中文包
apk add luci-i18n-base-zh-cn
补充常见页面中文
apk add luci-i18n-firewall-zh-cn luci-i18n-package-manager-zh-cn luci-i18n-attendedsysupgrade-zh-cn
刷新 LuCI 缓存
rm -rf /tmp/luci-indexcache /tmp/luci-modulecache/* && /etc/init.d/rpcd restart && /etc/init.d/uhttpd restart
说明:WireGuard 等第三方插件页面可能存在中英混合现象,属于正常情况。
十二、安装 WireGuard
apk update && apk add kmod-wireguard wireguard-tools luci-proto-wireguard
十三、安装 OpenClash 依赖
安装 kmod-tun
apk add kmod-tun
安装 OpenClash 运行依赖
apk add bash dnsmasq-full curl ca-bundle ip-full ruby ruby-yaml kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
十四、安装 OpenClash
1. 获取最新版本信息
curl -L --retry 2 https://api.github.com/repos/vernesong/OpenClash/releases/latest -o /tmp/openclash_version
2. 下载 APK 包
curl -L --retry 2 https://github.com/vernesong/OpenClash/releases/download/v0.47.088/luci-app-openclash-0.47.088.apk -o /tmp/openclash.apk
3. 安装
apk add -q --force-overwrite --clean-protected --allow-untrusted /tmp/openclash.apk
4. 验证安装
刷新 LuCI 界面后,应能在菜单中看到:服务 → OpenClash。
十五、下载 OpenClash 核心
在 OpenClash 插件界面中下载 Meta 内核即可。日志中出现以下内容说明成功:
【Meta】版本内核下载成功【Meta】版本内核更新成功
十六、OpenClash 注意事项
- 🔒 订阅链接和 Token 不要公开
- 如果之前不慎泄露了订阅链接,建议在服务商后台重置
- OpenClash 未启用时页面提示「插件未启动」属于正常现象
- OpenClash 运行时会替换默认的 dnsmasq,使用自带的 dnsmasq-full
十七、当前网络拓扑
爱快(主路由) 192.168.0.1
│
OpenWrt(旁路由) 192.168.0.3
│
WireGuard 服务端 10.6.0.1/24
│
WireGuard 客户端(手机) 10.6.0.2
十八、旁路由与 WireGuard 联动注意事项
由于 OpenWrt 在本方案中是旁路由(非主路由),需要注意:
- WireGuard 握手成功 ≠ 能访问所有内网设备
- 如果只有部分内网设备可达,通常与以下因素有关:
- 回程路由:目标设备返回流量的路由路径
- NAT 配置:是否需要额外的地址转换
- 目标设备网关:目标设备的默认网关是否指向 OpenWrt
十九、WireGuard 访问内网的防火墙配置
推荐方案
建立独立的 wg 防火墙区域,并配置转发规则:创建 wg 区域、允许 wg → lan 转发、必要时添加 MASQUERADE 规则。
参考参数(LuCI 防火墙页面)
| 参数 | 值 |
|---|---|
| 规则名称 | WG-Masquerade |
| 协议 | 任意 |
| 源区域 | wg |
| 源 IP | 10.6.0.0/24 |
| 目标区域 | lan |
| 动作 | MASQUERADE |
二十、重要提醒
- 25.12 使用
apk,所有包管理命令已从opkg切换为apk - 不要随意公开:路由器 root 密码、OpenClash 订阅链接、WireGuard 私钥
- 如果私钥或订阅 Token 已泄露,建议全部重置
- 以后如需重新安装,建议按顺序:ext4 镜像 → 克隆到大硬盘 → 扩容 → 切换镜像源 → 安装插件
二十一、建议后续动作
- ☐ 重置 OpenWrt root 密码
- ☐ 重置 OpenClash 订阅链接
- ☐ 重建 WireGuard 服务端和客户端密钥对
- ☐ 导出一份当前系统配置备份
本文最后更新:2026-08-15 | 静静整理发布
