解決網(wǎng)絡(luò)沖突:更改虛擬機(jī)MAC地址
介質(zhì)訪(fǎng)問(wèn)控制地址已經(jīng)出現(xiàn)一段時(shí)間了。最初每個(gè)網(wǎng)絡(luò)接口有一個(gè)***的、由12字母和數(shù)字(0-9,A-F)所組成的MAC地址,格式為XX:XX:XX:XX:XX:XX。每家制造商分配的前六位地址序列各不相同,每個(gè)網(wǎng)絡(luò)設(shè)備后六位的組合也是***的。
上述系統(tǒng)確保了世界上所有的網(wǎng)絡(luò)設(shè)備都有***的MAC地址,這有別于最終用戶(hù)通常會(huì)進(jìn)行分配或更改的IP地址。
現(xiàn)在,大多數(shù)人并不會(huì)進(jìn)一步考慮虛擬機(jī)的MAC地址,因?yàn)樘摂M機(jī)的MAC地址是在創(chuàng)建時(shí)自動(dòng)生成的。無(wú)論你使用的是哪種虛擬化平臺(tái),使用的都是相同的MAC地址生成規(guī)則。前六位字符表示制造商(例如VMware或微軟)名稱(chēng),接下來(lái)的六位字符是隨機(jī)生成的。不同的平臺(tái)都有各自的產(chǎn)生隨機(jī)地址的規(guī)則,但存在一些情況那就是兩臺(tái)虛擬機(jī)的MAC地址完全一樣。當(dāng)上述情況出現(xiàn)時(shí)就意味著MAC地址重復(fù)了。
MAC地址重復(fù)最為常見(jiàn)的原因就是客戶(hù)端克隆。P2V以及V2V拷貝通常會(huì)保留盡可能多的設(shè)置,包括MAC地址。這不會(huì)有什么問(wèn)題,除非你想同時(shí)保留同一網(wǎng)絡(luò)中的源以及副本。
那么,重復(fù)的MAC地址將會(huì)帶來(lái)什么問(wèn)題呢?
不必對(duì)該問(wèn)題進(jìn)行深入的研究,MAC地址位于OSI七層模型的第二層。地址解析協(xié)議ARP用于建立IP地址與MAC地址的對(duì)應(yīng)關(guān)系,而且在大多數(shù)網(wǎng)絡(luò)設(shè)備上你可以看到已緩存的ARP表。
同一網(wǎng)絡(luò)上的網(wǎng)絡(luò)設(shè)備通過(guò)MAC地址進(jìn)行通信。通信過(guò)程是通過(guò)在當(dāng)前子網(wǎng)中廣播請(qǐng)求并得到特定設(shè)備的回應(yīng)或者檢查每個(gè)ARP表的本地ARP緩存來(lái)實(shí)現(xiàn)的。在網(wǎng)絡(luò)中進(jìn)行初始廣播后會(huì)生成ARP表,使網(wǎng)絡(luò)通信更為便利。
在Windows服務(wù)器上,你可以在命令行提示符下輸入arp -a命令查看ARP表。
在使用ARP表時(shí),會(huì)發(fā)送網(wǎng)絡(luò)流量與IP地址進(jìn)行匹配而不會(huì)進(jìn)行進(jìn)一步的檢查。當(dāng)流量在設(shè)備之間來(lái)回發(fā)送卻沒(méi)有到達(dá)目標(biāo)設(shè)備時(shí)可能會(huì)導(dǎo)致網(wǎng)絡(luò)環(huán)路以及網(wǎng)絡(luò)超時(shí)。
在Windows下你可以使用ipconfig /all命令查看正在使用的MAC地址。
在Hyper-V或者VMware上更改虛擬機(jī)MAC地址很容易。在虛擬機(jī)屬性對(duì)話(huà)框中,在硬件選項(xiàng)下的網(wǎng)絡(luò)適配器子項(xiàng)下可以請(qǐng)清晰地看到當(dāng)前的MAC地址。你可以將選項(xiàng)更改為手動(dòng)(VMware)或動(dòng)態(tài)(Hyper-V)并為該虛擬機(jī)輸入一個(gè)不同的MAC地址。
在微軟系統(tǒng)中心虛擬機(jī)管理器中查看Hyper-V虛擬機(jī)屬性
調(diào)整VMware虛擬機(jī)屬性
我建議在同一個(gè)網(wǎng)絡(luò)中檢查ARP表以確保你分配的新MAC地址還沒(méi)有用到。
請(qǐng)記住你可能需要清除一直存在問(wèn)題的設(shè)備上(包括交換機(jī)和路由器)的ARP緩存。在Windows下,你可以使用arp -d * 命令徹底清空本地緩存。






















