在企業中,交換機特別是第二層的交換機一般用途是用來連接終端設備如計算機,所以都會放在相對容易被用戶接觸到的地方,基于信息安全的角度考慮,網管人員往往希望禁止用戶私自將未經驗證的終端設備接上交換機的端口上,又或者基于封包流量、保證服務質量、交換器性能等方面考慮,不希望交換機上的端口串接太多的終端設備,這時候,交換機的端口安全就大派用場,通過設定,可以限制未經驗證的設備接上公司網絡,又或者限制交換器端口上連接的設備數量。

圖1 實例一架構圖
我們知道,第二層交換機有認識MAC-address的本領,也可以通過MAC-address做到數據封包的精準傳送,我們可以利用交換機能夠學習到設備的MAC-address功能對交換機上的端口做一些安全性的設定。
在具體設定交換機的端口安全之前,有一些概念和事項需要留意,交換機的安全MAC有三種形式:
1.動態安全MAC:交換機端口動態學習安全 MAC,這是默認選項。
2.靜態安全MAC:交換機端口靜態學習安全MAC,主要由網管人員靜態將MAC地址與端口綁定。
3.粘滯安全MAC:交換機端口學習安全MAC是先到先得的方法。
如果一個端口違反了安全MAC的規則,可以受到以下的“懲罰”。
端口受到保護(protect)。將違反安全MAC規則的設備封包丟棄。
端口受到限制(restrict)。 將 違反 安全MAC規則的設備封包丟棄,并且做日志記錄。
端口被關閉。將違反安全MAC規則的端口關閉,不傳送任何設備的封包,并且做日志記錄。
此外,值得留意的是,交換機上每一個端口都可以設定成access模式或者trunk模式,要啟動端口安全功能,端口一定要設定成access模式,trunk模式無法啟動端口安全功能。
接下來我們進行兩個實例,并對以上提到的概念做講解。
實例一:
如圖1為架構圖,交換機的所有界面一開始都是默認關閉的,可以用“show port-security interface fa0/1”指令來查看,如圖2所示。
我們需要在SW1中輸入以下指令啟動fa0/1界面的端口安全功能,如圖3所示。
設定好后使用“show port-security interface fa0/1”查 看信息。
我們發現將PC2接上SW1的fa0/1界面后界面立即被關閉。
查看 fa0/1界面的端口安全信息可以知道這個界面最后接上的設備的MAC地址是PC2,如圖4所示。

圖2 查看界面信息

圖3 啟動fa0/1界面端口安全功能

圖4 查看 fa0/1界面端口安全信息

圖5 實例二架構圖

圖6 在SW1上啟動端口安全功能

圖7 將PC4接在fa0/1界面
實例二:
架構如圖5所示,先在SW1上啟動端口安全功能(如圖 6)。
使 用PC1 ping 192.168.10.255 產生廣播封包,讓SW1的fa0/1界面學習到目前連在上面的3臺計算機,然后查看一下fa0/1界面的端口安全信息,可以發現fa0/1已經學習到3臺計算機的MAC信息,而且也達到安全MAC的上限。
現在我們試一下把PC4也接在fa0/1界面下,如圖7所示。
PC4 ping PC5,發現根本無法ping通。
而PC1、PC2、PC3由于是一開始被fa0/1學習到的,是屬于安全MAC內合法計算機,所以fa0/1界面會幫忙轉發其封包。
但PC4的封包則會被丟棄,解決的方法很簡單,就是在fa0/1界面下輸 入“switchport portsecurity maximum 4”,將安全MAC的數目上限調整為4就可以了。