在ubuntu(wsl)环境中通过QEMU模拟器运行openwrt
在 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-manager 和 libvirt:
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、端口转发等功能。
四、参考资料
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)