在 ESXi 虚拟化环境下安装 OpenWrt 是一个常见的需求,特别是用于搭建虚拟路由器、网络测试等。下面给你详细步骤指导,帮你在 VMware ESXi 上成功安装并运行 OpenWrt 虚拟机。
一、准备工作
-
ESXi 环境已搭建好,并且可以通过 vSphere Client 或 Web Client 管理。
-
下载好 OpenWrt 镜像 。推荐使用 OpenWrt 的 x86 版本,常用格式有
.img
和.iso
:- 官网下载地址: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
:
css
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)
bash
# 上传文件(通过 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
磁盘镜像直接启动:
ini
.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 存储目录:
typescript
scp openwrt.vmdk root@esxi-host:/vmfs/volumes/datastore1/OpenWrt/
php
65 Bytes
© 菜鸟-创作你的创作
- 创建虚拟机目录并上传
.vmx
bash
ssh root@esxi-host
mkdir /vmfs/volumes/datastore1/OpenWrt/OpenWrt_VM
# 上传 openwrt.vmx 到该目录
php
90 Bytes
© 菜鸟-创作你的创作
- 注册虚拟机
bash
vim-cmd solo/registervm /vmfs/volumes/datastore1/OpenWrt/OpenWrt_VM/openwrt.vmx
php
79 Bytes
© 菜鸟-创作你的创作
- 启动虚拟机
bash
vim-cmd vmsvc/power.on <vmid>
php
29 Bytes
© 菜鸟-创作你的创作
<vmid>
通过
bash
vim-cmd vmsvc/getallvms
php
23 Bytes
© 菜鸟-创作你的创作
查看。
三、网络设置建议
- ESXi 创建的虚拟交换机(vSwitch)中,确保
VM Network
或自定义网络存在。 - 如果需要多网口,修改
.vmx
添加第二个网卡:
ini
ethernet1.present = "TRUE"
ethernet1.virtualDev = "vmxnet3"
ethernet1.networkName = "Internal Network"
ethernet1.addressType = "generated"
php
138 Bytes
© 菜鸟-创作你的创作
- OpenWrt 内部使用
uci
命令配置网络接口:
ini
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 访问(若网络配置允许)。