本文最后更新于 2024年11月21日, 如有失效请评论区留言。
前言
当我在软路由(多网口迷你小主机)中安装好ESXi之后,发现机器默认的网卡名称和物理网口顺序对应不起来,这样会在后续设置或者网卡直通的时候导致使用起来非常不便。于是决定手动修改网卡名称,使它们和物理网口顺序对应起来。
一、整理物理网口与网卡对应关系
系统安装后, 通过一次次插拔网线对网口测试,记录好对应关系

最终对应表格如下:
| 实际网口名称 | 实际网卡名称 | 希望的网卡名称 |
|---|---|---|
| eth0 | vmnic1 | vmnic0 |
| eth1 | vmnic2 | vmnic1 |
| eth2 | vmnic0 | vmnic2 |
| eth3 | vmnic3 | vmnic3 |
二、ESXI网页设置
1. ESXI后台开启SSH访问功能,端口默认22

2. ESXI进入维护模式,通过Xshell等工具连接ESXI

三、控制台设置
1. 查看当前pci和逻辑pci对应的网卡别名
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list
![Image [2]](https://cdn.kejipp.cn/images/202401201441986.webp)
2. 修改网口的pci别名和逻辑别名
图中可以看出 pci别名 中 vmnic0 对应的地址 address 值为 m00008501 ,根据对应表格可以发现, 这个地址即为 eth2 的真实地址.
同理反推 可以找到 eth0 的 真实地址为图中 vmnic1 对应的 p0000:01:00.0.
我的期望是将网卡vmnic0与物理网口eth0对应起来,则将 vmnic0 对应的地址address改为 p0000:01:00.0 , 即可达到目的.
逻辑别名也是同理
例子:
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-typepic或者logical--alias网卡名--bus-address真实地址
pci别名修改用pic
逻辑别名修改logical
# pci别名修改
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type pci --alias vmnic0 --bus-address p0000:01:00.0
# 逻辑别名修改
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmnic0 --bus-address p0000:01:00.0#0
pci别名 和 逻辑别名 都要改,并且要一致。
同理可以把剩余的 vmnic1, vmnic2 的别名都修改过来, 表中vmnic3对应的网口没问题, 就不改
![Image [3]](https://cdn.kejipp.cn/images/202401201445867.webp)
打马赛克的是我输错的命令
重启
reboot
![Image [4]](https://cdn.kejipp.cn/images/202410241133713.webp)
3. 常用命令
| 命令 | 介绍 |
|---|---|
| opkg update | 更新可以获取的软件包列表 |
| opkg upgrade | 对已经安装的软件包升级 |
| opkg list | 获取软件列表 |
| opkg install | 安装指定的软件包 |
| opkg remove | 卸载已经安装的指定的软件包 |
| opkg list-installed | 列出已安装软件包 |
| opkg list-upgradable | 列出可升级的已安装软件包 |
| opkg list-changed-conffiles | 列出用户修改过的配置文件 |
| opkg files | 列出属于软件包 的文件 仅适用于已安装的软件包 |
| opkg search | 列出包含 |
| opkg info [pkg globp] | 显示软件包 的所有信息 |
| opkg status [pkg globp] | 显示软件包 的状态 |
| opkg download | 下载软件包 到当前目录 |
四. 参考文档
使用 ESXCLI 命令在有状态 ESXi 主机上更改设备别名
VMware ESXi 如何确定为设备分配名称的顺序 (2091560)