如果您喜歡這裡的內容,記得分享到您的Facebook和Twitter上面所有的朋友們吧!

2017年5月5日 星期五

從交換器上,如何用命令找到虛擬機器接在哪裡?

當我們觀察到,一個網路交換器的物理埠上面,學習到多重的MAC地址的時候,這個物理埠,有可能是連接到了另一套網路交換器,或者是,連接到了一個包含多重虛擬機器(Virtual Machine)的物理伺服器(Hypervisor)。

如果我們能夠直接透過簡單的命令,找到哪些物理埠,跟虛擬機器有關,尤其是連接PC或是伺服器的埠,我們可以馬上指出來,哪些PC、伺服器上面,的確有虛擬機器的存在。這對我們數據中心的管理,將會是很有幫助的。
我之前找到了一個Microsoft TechNet網站上面的資訊,內容是將常用的、預設分配給虛擬機器的MAC地址範圍的組織識別碼(Organizationally Unique Identifier, OUI)號碼,整理成一個對應表。其中,包含VMware、Xen、還有Microsoft。

Microsoft Technet: How to Set the Static MAC Address Range for Virtual Network Devices

Reserved For
Prefixes
VMware
00:05:69
00:0C:29
00:1C:14
00:50:56
Microsoft
00:03:FF
00:0D:3A
00:12:5A
00:15:5D
00:17:FA
00:1D:D8
00:50:F2
XenSource
00:16:3E

有了這個對照表之後,我們很容易就可以用命令,找出包含虛擬機器的物理埠。使用的命令很簡單,其實就是 “show mac-address-table interface”。

我們看第一個例子。

Switch# show mac-address-table interface f0/1
Vlan Mac Address Type Ports
---- ----------- -------- -----
100 0015.5dXX.YYYY DYNAMIC Fa0/1
100 0015.5dXX.ZZZZ DYNAMIC Fa0/1
Total Mac Addresses for this criterion: 2
Switch#

根據以上的截圖,我們幾乎可以確定,FastEthernet0/1其實所連結的,是一套Microsoft Hyper-V的伺服器。

我們還可以將命令做一點點的修改。例如,”show mac-address-table | include 0015.5d”。我們現在可以列出這個交換器,上面所有的Hyper-V伺服器裡面,虛擬機器的清單。例如下面第二個例子。

Switch# show mac-address-table interface | include 0015.5d
100 0015.5dXX.YYYY DYNAMIC Fa0/1
100 0015.5dXX.ZZZZ DYNAMIC Fa0/1
200 0015.5dWW.YYYY DYNAMIC Fa0/3
200 0015.5dWW.ZZZZ DYNAMIC Fa0/4
Switch#


One more thing…

我另外找到,一般在KVM上面,預設的MAC地址範圍是:

QEMU's registered OUI (52:54:00)

合併到前面的表格。新的表格如下:

Reserved For
Prefixes
VMware
00:05:69
00:0C:29
00:1C:14
00:50:56
Microsoft
00:03:FF
00:0D:3A
00:12:5A
00:15:5D
00:17:FA
00:1D:D8
00:50:F2
XenSource
00:16:3E
KVM (QEMU)
52:54:00


前面這些列表,所假設的,都是虛擬機器只使用各廠牌方案預設的、保留的MAC地址範圍。事實上,虛擬機器的管理者,很容易就可以透過各種設定,將MAC地址改換到其他的OUI範圍內。因此,這個方法,只能算是一個簡單的輔助的工具。使用時,需要注意它的限制。

Welcome to virtualized world!

吉野櫻下,仰望著天空
玉淵潭公園,中國北京市
如果您喜歡這篇文章,不考慮試試Email訂閱嗎?




2 則留言:

  1. 如果是vmeare的話,直接在vswitch上啟用CDP吧,sh cdp nei資訊更清楚喔

    回覆刪除
    回覆
    1. Richard您是對的!我這裡的情境假設,網管只能透過交換器來觀察。

      刪除

小技巧:也可以 匿名 留言!

經典熱門文章