在 Windows 的 WSL2(Windows Subsystem for Linux 2)环境中,通过 QEMU 模拟器运行 OpenWrt 是一种轻量级的网络实验和开发方案,尤其适用于路由器固件开发、网络功能测试和 LuCI 界面的调试。以下是详细的安装和配置步骤:


一、前提条件

  • 操作系统:Windows 10 或 Windows 11 专业版
  • WSL 版本:WSL2
  • 虚拟化支持:启用 Hyper-V 和 Windows 虚拟机监控程序平台(WHPX)
  • 硬件要求:支持虚拟化的 CPU(如 Intel VT-x 或 AMD-V)
  • 网络配置:支持桥接网络的虚拟交换机

二、安装步骤

1. 安装 WSL2 和 Ubuntu 发行版

在 PowerShell 中以管理员身份运行以下命令:

wsl --install -d Ubuntu

安装完成后,启动 Ubuntu 并设置用户账户。

2. 安装 QEMU 和相关工具

在 WSL2 的 Ubuntu 环境中,更新系统并安装所需的工具:

sudo apt update && sudo apt upgrade
sudo apt install qemu qemu-system-x86 qemu-utils

如果需要图形界面支持,可以安装 virt-managerlibvirt

sudo apt install virt-manager libvirt-bin

注意:在 WSL2 中运行图形界面可能需要额外的配置,如安装 X 服务器等。

3. 下载 OpenWrt 镜像

从 OpenWrt 官方网站下载适用于 x86_64 架构的镜像文件:

wget https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz
gzip -d openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz

4. 配置 QEMU 启动 OpenWrt

使用以下命令启动 QEMU 虚拟机:

qemu-system-x86_64 -m 512M -cpu host -smp 2 -drive file=openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img,format=raw -net nic -net user,hostfwd=tcp::2222-:22

此命令将分配 512MB 内存、2 个 CPU 核心,并通过 SSH(端口 2222)进行远程连接。

5. 配置网络和 LuCI 界面

在 OpenWrt 中设置网络:

uci set network.lan.proto='dhcp'
uci commit network
/etc/init.d/network restart

安装 LuCI 界面:

opkg update
opkg install luci

然后,在浏览器中访问 http://localhost:8080,使用 root 用户登录。


三、增强功能(可选)

1. 添加桥接网络

为了让 OpenWrt 具有更真实的网络环境,可以将其网络接口桥接到宿主机的物理网卡上。

首先,在 Windows 中创建一个虚拟交换机,并将其与物理网卡桥接。

然后,在 WSL2 中使用工具(如 WSLAttachSwitch)将该虚拟交换机附加到 WSL2 中。

在 OpenWrt 中配置新的网络接口:

uci set network.wan=interface
uci set network.wan.ifname='eth1'
uci set network.wan.proto='dhcp'
uci commit network
/etc/init.d/network restart

这样,OpenWrt 将通过桥接的网络接口连接外部网络。

2. 配置防火墙和路由功能

根据需要,可以在 OpenWrt 中配置防火墙规则和路由功能,实现如 NAT、端口转发等功能。


四、参考资料

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐