安装笔记-系列文章目录
安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT
文章目录
- 安装笔记-系列文章目录
- 安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT
- 前言
- 一、软件介绍
- 名称:OpenWRT
- 主页
- 官方介绍
- 二、安装步骤
- 测试版本:openwrt-23.05.3-x86-64
- 下载链接
- 开启 Windows 虚拟化功能 WHPX
- 运行测试
- 配置上网功能
- 网络拓扑结构
- 配置 OpenWrt 远程连接
- 配置 LuCI 管理界面
- 三、应用场景
- 本地构建小型 Linux 服务器
- 网站开发测试环境
- 四、参考资料
- 总结
前言
本文记录在 Windows 环境下在 QEMU 虚拟机中安装运行 OpenWRT 的步骤。
实验使用的电脑如下:
CPU:
Intel Core i5 8265U
操作系统:
Microsoft Windows 10 Professional (x64), Version 22H2, Build 19045.4412
一、软件介绍
名称:OpenWRT
主页
项目主页:https://openwrt.org/
官方介绍
OpenWrt项目是一个针对嵌入式设备定制的Linux操作系统。
OpenWrt项目不是试图创建一个单一的、静态的固件,而是提供了一个完全可写的文件系统和包管理功能。
这使您摆脱了厂商提供的应用选择和配置,允许您通过使用包来定制设备,以适应任何应用程序。
对于开发者来说,OpenWrt是一个构建应用程序而无需围绕它构建完整固件的框架;对于用户来说,这意味着完全定制的能力,可以以从未设想过的方式使用设备。
二、安装步骤
测试版本:openwrt-23.05.3-x86-64
下载链接
generic-ext4-combined-efi.img.gz
https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz
开启 Windows 虚拟化功能 WHPX
- 在 “启用或关闭 Windows 功能” 中勾选 “Windows 虚拟机监控程序平台"
运行测试
1、下载 .img.gz 文件后解压出 .img 文件
2、使用以下命令启动 QEMU 虚拟机:
..\qemu\8.2.0\qemu-system-x86_64.exe -L "D:\qkd-app\vmos\data" -cpu "Penryn,vendor=GenuineIntel,+ssse3,+sse4.2" -M "q35,accel=whpx,kernel-irqchip=off" -m 1G -bios "data\ovmf.fd" -netdev "user,id=hn0,hostfwd=tcp::50022-:22,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443" -device "e1000,netdev=hn0,id=nic1" -debugcon "file:debug.log" -global "isa-debugcon.iobase=0x402" -hda openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img
3、启动成功,画面如下:
4、在 OpenWrt 的控制台设置 root 的登录密码,输入以下命令:
passwd
配置上网功能
网络拓扑结构
- OpenWrt eth0: LAN
- OpenWrt 主机配置为客户设备模式,挂在 QEMU 的 SLIRP 网络中
- OpenWrt 主机 LAN 网卡开启 DHCP-client 模式,自动获取 IP 地址
- QEMU 网络设备的设置中增加 Windows 主机端口转发,将 Windows 主机的 50022 端口转发到 QEMU 访客系统(即 OpenWrt 主机)的 22 端口,从而实现从 Windows 主机通过 SSH 连接访问 OpenWrt 主机系统的功能
配置 OpenWrt 远程连接
1、设置 QEMU 启动选项,输入以下命令:
..\qemu\8.2.0\qemu-system-x86_64.exe -L "D:\qkd-app\vmos\data" -cpu "Penryn,vendor=GenuineIntel,+ssse3,+sse4.2" -M "q35,accel=whpx,kernel-irqchip=off" -m 1G -bios "data\ovmf.fd" -netdev "user,id=hn0,hostfwd=tcp::50022-:22,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443" -device "e1000,netdev=hn0,id=nic1" -debugcon "file:debug.log" -global "isa-debugcon.iobase=0x402" -hda openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img
2、配置 OpenWrt 主机为客户设备模式,并开启 DHCP-client 功能
在 OpenWrt 主机终端输入以下命令:
uci set network.lan.proto="dhcp"
uci commit network
service network restart
然后,输入以下命令检查 OpenWrt 主机是否正确获取到 QEMU SiLRP 网络 DHCP 服务器分配的 IP 地址
ip addr
从上图可见,OpenWrt 主机已经成功获得 10.0.2.15 的 IP 地址
3、从 Windows 主机通过 SSH 连接 OpenWrt 访客主机
主机:localhost
端口:50022
成功登录 OpenWrt 主机后,界面如下:
4、测试网络联通性
在 PuTTY 窗口输入以下命令:
ping www.baidu.com
上图可见,OpenWrt 访客主机能访问到 www.baidu.com ,网络通畅。
配置 LuCI 管理界面
5、在 Windows 主机浏览器中输入以下网址:
https://localhost/
输入 root 密码,登入 LuCI 管理界面如下:
查看路由信息:
查看系统信息:
软件列表:
三、应用场景
本地构建小型 Linux 服务器
网站开发测试环境
四、参考资料
1、OpenWrt in QEMU
总结
本文介绍了在 Windows 上通过 QEMU/x86_64 运行 OpenWrt 发行版本。