一、准备工作
ESXi 环境已搭建好,并且可以通过 vSphere Client 或 Web Client 管理。
下载好 OpenWrt 镜像。推荐使用 OpenWrt 的 x86 版本,常用格式有 .img 和 .iso:
官网下载地址:https://openwrt.org/downloads
建议下载“x86/64”镜像,通常是 .img.gz 或 .iso
二、创建虚拟机
登录 ESXi Web 管理界面。
点击“创建/注册虚拟机”。
选择“创建新虚拟机”。
填写虚拟机名称,比如 OpenWrt_VM。
选择兼容性(一般默认即可)。
选择操作系统为:
Linux -> Other Linux 5.x or later kernel 64-bit(或相似选项)
设置 CPU、内存资源(OpenWrt 资源需求低,1核 CPU + 128MB RAM 即可)。
创建虚拟硬盘,大小可设为 1GB 左右(视实际需求)。
在“CD/DVD 驱动器”选择使用 ISO 镜像文件,将下载的 OpenWrt ISO 上传并挂载。
三、配置网络
根据需求配置网络适配器类型:
推荐使用 VMXNET3 网络适配器,性能更好。
设置虚拟交换机,确保至少一个网卡连接到你需要的网络。
四、安装 OpenWrt
启动虚拟机,进入 OpenWrt 的安装界面(如果是 ISO 启动)。
根据 OpenWrt 安装提示进行操作。通常 x86 OpenWrt 有交互安装或直接运行方式。
如果使用 .img 格式的镜像,你可以选择直接用作虚拟硬盘镜像:
先将 .img 转成 .vmdk 或使用“rawdisk”方式挂载。
参考下面的转换步骤。
五、使用 .img 镜像作为硬盘
如果你下载的是 .img 格式:
将 .img 文件上传到 ESXi 存储。
使用命令行将 .img 转为 .vmdk,或者使用工具如 qemu-img:
qemu-img convert -f raw -O vmdk openwrt-x86-64.img openwrt.vmdk
php
63 Bytes
© 菜鸟-创作你的创作
上传生成的 openwrt.vmdk 到 ESXi 存储。
创建虚拟机时,选择“使用现有虚拟磁盘”,挂载该 vmdk。
关闭 ISO 启动,直接从硬盘启动。
六、常用配置调整
关闭不必要的设备,如声卡、USB 控制器等,减少资源浪费。
调整显卡类型,可以设置为“无”或“虚拟SVGA”。
设置启动顺序,优先启动硬盘。
网络接口数量,根据需要添加多个虚拟网卡,实现多WAN、多LAN功能。
七、连接与管理
OpenWrt 默认通过 SSH 和 Web 界面管理。
默认 IP 可能是 192.168.1.1,确保虚拟机网络与管理终端处于同一网段。
登录后配置网络、防火墙、DHCP、VPN等。
八、示例参考命令(ESXi Shell)
上传文件(通过 SCP 或 vSphere Client 上传)
scp openwrt.vmdk root@esxi-host:/vmfs/volumes/datastore1/
创建虚拟机
vim-cmd vmsvc/createdummyvm OpenWrt_VM /vmfs/volumes/datastore1/OpenWrt_VM
挂载虚拟磁盘和ISO(需要进一步配置)
php
199 Bytes
© 菜鸟-创作你的创作
总结
步骤 说明
下载镜像 OpenWrt x86/x64 ISO 或 IMG
创建虚拟机 Linux 64位模板,配置CPU/内存
挂载镜像 ISO用于安装,VMDK用于直接启动
配置网络 VMXNET3,连接虚拟交换机
启动安装 按提示完成安装或直接运行
管理和维护 SSH/Web,调整配置
明白,我给你整理一份 ESXi 上 OpenWrt 虚拟机的 .vmx 模板配置文件示例,以及简单的自动化安装和网络设置示例,帮你快速部署并运行 OpenWrt。
一、OpenWrt 虚拟机 .vmx 配置模板示例
这个配置文件适合基于 OpenWrt x86/x64 .vmdk 磁盘镜像直接启动:
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "14"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
memsize = "256" # 内存大小(MB),可调整
numvcpus = "1" # CPU 核数,最低1核
硬盘设置(使用已有vmdk)
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "openwrt.vmdk" # 磁盘文件名
网络适配器(VMXNET3)
ethernet0.present = "TRUE"
ethernet0.virtualDev = "vmxnet3"
ethernet0.networkName = "VM Network" # 虚拟交换机名,根据你的ESXi环境替换
ethernet0.addressType = "generated"
关闭不必要设备
sound.present = "FALSE"
usb.present = "FALSE"
video.vramSize = "8"
svga.present = "FALSE"
启动顺序
bios.bootOrder = "scsi0"
其他
guestOS = "otherlinux-64"
php
680 Bytes
© 菜鸟-创作你的创作
二、自动化上传与部署流程(示例)
上传镜像
通过 SCP 上传 openwrt.vmdk 到 ESXi 存储目录:
scp openwrt.vmdk root@esxi-host:/vmfs/volumes/datastore1/OpenWrt/
php
65 Bytes
© 菜鸟-创作你的创作
创建虚拟机目录并上传 .vmx
ssh root@esxi-host
mkdir /vmfs/volumes/datastore1/OpenWrt/OpenWrt_VM
上传 openwrt.vmx 到该目录
php
90 Bytes
© 菜鸟-创作你的创作
注册虚拟机
vim-cmd solo/registervm /vmfs/volumes/datastore1/OpenWrt/OpenWrt_VM/openwrt.vmx
php
79 Bytes
© 菜鸟-创作你的创作
启动虚拟机
vim-cmd vmsvc/power.on
php
29 Bytes
© 菜鸟-创作你的创作
通过
vim-cmd vmsvc/getallvms
php
23 Bytes
© 菜鸟-创作你的创作
查看。
三、网络设置建议
ESXi 创建的虚拟交换机(vSwitch)中,确保 VM Network 或自定义网络存在。
如果需要多网口,修改 .vmx 添加第二个网卡:
ethernet1.present = "TRUE"
ethernet1.virtualDev = "vmxnet3"
ethernet1.networkName = "Internal Network"
ethernet1.addressType = "generated"
php
138 Bytes
© 菜鸟-创作你的创作
OpenWrt 内部使用 uci 命令配置网络接口:
uci set network.lan.ifname='eth0'
uci set network.lan.proto='static'
uci set network.lan.ipaddr='192.168.1.1'
uci commit network
/etc/init.d/network restart
php
156 Bytes
© 菜鸟-创作你的创作
四、启动后登录
默认用户名通常是 root,无密码或根据版本不同设置。
通过 ESXi 控制台或 SSH 访问(若网络配置允许)。
https://www.52runoob.com/archives/5407