問題:我想給VMware ESXi上的一台虛擬機分配一個靜態的MAC地址。然而當我開始這麼做的時候,虛擬機就不能啟動了,並且拋出了一個這樣一個錯誤"00:0c:29:1f:4a:ab is not an allowed static Ethernet address. It conflicts with VMware reserved MACs"(00:0c:29:1f:4a:ab不是一個合法的靜態以太網地址。它與VMWare的保留MAC地址沖突)。我該如何在VMware ESXi虛擬機上設置靜態MAC地址?
當你在VMware ESXi上創建虛擬機時,虛擬機的每個網絡接口就被分配了一個動態的NAC地址。如果你想要改變默認的行為並給你的虛擬機分配一個靜態MAC地址時就這樣做
如你上圖所見,VMWare的vSphere的GUI客戶端已經有一個為虛擬機分配靜態MAC地址的菜單。然而,基於GUI的方法只允許你在00:50:56:xx:xx:xx的范圍裡選擇一個靜態MAC地址,這是VMWare保留的MAC地址范圍。如果你嘗試設置任何超出這個范圍的MAC地址,你就會無法啟動VM,接著就會看到下面的錯誤。
那麼如果我想要給虛擬機設置任意的MAC地址怎麼辦?
幸運地,這裡有一個對於這個限制的臨時方案。方法就是,不使用vSphere GUI客戶端編輯。在登錄ESXi主機後直接編輯你虛擬機的.vmx文件。
首先關閉你想要分配靜態MAC地址的虛擬機。
對你的ESXi主機啟用SSH訪問,如果你還沒這麼做的話。接著通過SSH登錄ESXi主機。
移到你虛擬機的.vmx文件所在目錄。
# cd vmfs/volumes/datastore1/[name-of-vm]
用文本編輯器打開.vmx文件,接著在加入下面這幾行。把MAC地址替換成你自己的MAC地址。
ethernet0.addressType ="static"
ethernet0.checkMACAddress ="false"
ethernet0.address ="00:0c:29:1f:4b:ac"
現在你應該可以使用你定義在.vmx文件中的靜態MAC地址啟動虛擬機了。