如何从ESXi命令行为新建VMware虚拟机分配IP?附已执行步骤
在ESXi控制台给虚拟机分配静态IP(无GUI操作指南)
没问题,我来帮你一步步搞定这事儿——全程不用GUI,纯命令行操作就行。不过有个前提:如果想直接通过ESXi命令行配置虚拟机内部系统的IP,得确保虚拟机里已经装了VMware Tools;要是没装,就得直接进虚拟机控制台手动配置。下面分两种情况说:
情况一:虚拟机已安装VMware Tools(推荐)
1. 先找到虚拟机的VMID
在ESXi控制台敲这个命令,列出所有虚拟机的信息,找到test_vm.vmx对应的数字ID(比如10):
vim-cmd vmsvc/getallvms
2. 确认虚拟机状态和Tools可用性
先检查虚拟机是不是已经在运行:
vim-cmd vmsvc/power.getstate <你的VMID>
再确认VMware Tools正常工作,输出要是toolsOk就没问题:
vim-cmd vmsvc/get.toolsstatus <你的VMID>
3. 配置静态IP参数
假设你要设的IP是192.168.1.100,子网掩码255.255.255.0,网关192.168.1.1,DNS8.8.8.8,直接敲下面的命令(把VMID换成你实际的数字):
vim-cmd vmsvc/guestnetwork.set <你的VMID> \ --ip "192.168.1.100" \ --netmask "255.255.255.0" \ --gateway "192.168.1.1" \ --dns "8.8.8.8"
要是想顺便改主机名,也可以加这个命令:
vim-cmd vmsvc/guesthostname.set <你的VMID> "test-vm"
4. 验证配置
敲这个命令就能看到虚拟机内部的网络配置,确认是不是生效了:
vim-cmd vmsvc/guestnetwork.get <你的VMID>
情况二:虚拟机未安装VMware Tools
那得直接进虚拟机的控制台手动配置:
1. 打开虚拟机控制台会话
在ESXi控制台敲命令进入虚拟机的控制台:
vim-cmd vmsvc/console.open <你的VMID>
2. 登录虚拟机系统配置IP
- Linux系统:登录后编辑网卡配置文件(不同发行版路径可能不一样,比如CentOS是
/etc/sysconfig/network-scripts/ifcfg-eth0,Ubuntu是/etc/netplan/00-installer-config.yaml),设置静态IP后重启网络服务(比如systemctl restart NetworkManager)。 - Windows系统:登录后打开命令提示符,用
netsh命令配置:netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 1 netsh interface ip set dns "以太网" static 8.8.8.8
内容的提问来源于stack exchange,提问作者suvajit




