2012-09-21 31 views
32

文檔列出虛擬機的mac地址可以在Vagrantfile中設置,但是我添加的所有內容似乎最終都是語法錯誤。任何人都成功地完在Vagrant中設置虛擬機的mac地址

+0

錯誤的詳細信息,請? –

+0

http://vagrantup.com/v1/docs/config/vm/network.html應該也有幫助! –

回答

35

我用這個:

config.vm.network :bridged , :mac => "080027XXXXXX" 

,並得到了我想要的東西。

文檔不清楚選項哈希的語法是什麼,並且似乎沒有關於這應該是什麼樣子的示例。所以,在這裏!橋接一個mac地址(當然編輯)。這帶來了eth1與指定的mac,這使我的DHCP服務器開心,並給它一個適當的fqdn在我的網絡上。

+1

這適用於橋接網絡。然而,':hostonly'網絡的可能的等價物通過語法分析器,但是無法改變mac地址(至少對於VirtualBox來說)。 'config.vm.network:hostonly,「192.168.33.10」,mac:「5CA1AB1E0001」' 'config.vm.network:hostonly,「192.168.33.10」,:mac =>「5CA1AB1E0001」' – Phil

+0

我懂了錯誤:'網絡類型'橋接'無效。請使用有效的網絡類型。「 - 解決它與此insrtead:' 'config.vm.network」private_network「,IP:」192.168.33.33「,網絡掩碼:」255.255.255.0「,MAC:」080027e35dfe「' - mac已經改變,但現在我**無法連接到mashine了!**'SSH認證方法:私鑰 '我如何重置私鑰? – rubo77

+0

您是否嘗試恢復您在上面設置的MAC配置?如果沒有其他更改,並且您獲得「SSH身份驗證方法:私鑰」,這意味着您沒有連接到同一臺計算機,如果您將MAC設置爲與另一臺計算機的地址相同你的網絡。 – Benjamin

16

這是一個老問題,但我剛纔也有同樣的問題。 Vagrant documentation v2似乎仍然不完整。最後,我用在Vagrantfile這符合流浪漢1.2.7:

config.vm.network "public_network", :bridge => 'enp4s0', :mac => "5CA1AB1E0001" 

此:

  • 設置名爲「enp4s0」作爲橋接接口的主機接口,
  • 其爲「對客人的eth0' ,然後由同一個DHCP分配了IP地址的主機使用
  • 同時設置5C:A1:AB:1E:00:01爲客人的MAC地址
+0

gmoney的回答給了我這個錯誤: 「有在這臺機器的配置錯誤,請修正 下列錯誤,然後再試一次: VM: *網絡型‘橋’無效,請使用有效的網絡 「 raddaqii的解決方案爲我工作 –

7

嗯,網絡配置沒有幫助我的情況。通過config.vm.base_mac = "MyEth0MacAddressWithoutSlashes"直接在Vagrantfile中定義MAC地址後,我的機器啓動=)

1

以下提供的信息已過時。按照文件,以允許通過DHCP來分配IP簡單地使用:

config.vm.network "public_network" 

這樣你就不需要處理MAC地址,它會自行生成。 如果你需要定製的MAC地址連接到網絡的設備,那麼:

config.vm.network "public_network", :mac=> "080027xxxxxx" 
2

在流浪2.0.1版,我寫在Vagrantfile的private_network(供應商= VirtualBox的; 5.2.0版本):

config.vm.network "private_network", ip: "X.X.X.X", mac: "080027xxxxxx"