Sw-port-security 交換機端口安全
1什么是交換機端口安全
當一個網絡的接入層固定下來了后,針對接入層設備上的接口做MAC管理,
2具體有什么用?
針對於非法的MAC,直接將端口進行disable
3應該配置在哪里?
配置在所有的ACCESS接口,也就是所有連接終端的接口上(所以第一步要將接口模式設置成ACCESS),不管是PC還是server
下面我們用實例來進行講解具體的過程
SW在不做任何配置的情況下,R1和R2是通信正常的
這里需要注意一下,什么時候PC會修改自己的MAC 呢?
ARP攻擊,PC中招以后,會瘋狂的發送自己被修改過的MAC地址,從而導致網絡癱瘓。所以要杜絕PC自己改MAC ,但是如果換一台設備呢?(需要注意的是,默認情況下開啟的端口安全,重新插拔網線,等同於是將端口/設備重啟,之前的懲罰也就無效了,因為交換機學習了新的MAC)
1 現在開啟SW1 上的E0/1口的port-security
sw1(config)#inter e0/1
sw1(config-if)#switchport port-security
查看交換機上的port-security 接口配置情況
Show port-security
sw1#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
---------------------------------------------------------------------------
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 0
Max Addresses limit in System (excluding one mac per port) : 4096
查看單一接口的port-security 配置情況
sw1#show port-security inter e0/1
Port Security : Disabled ///顯示關閉,需要排查一下E0/1的接口狀態
Port Status : Secure-down
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0000.0000.0000:0
Security Violation Count : 0
這是因為交換機的接口模式沒有改變,必須要改成ACCESS模式才可以
sw1(config)#inter e0/1
sw1(config-if)#sw m a
sw1(config-if)#switchport port-security
sw1(config-if)#end
sw1#show port-security inter e0/1
Port Security : Enabled ///確認為開啟狀態
Port Status : Secure-up
Violation Mode : Shutdown ///懲罰措施 動作為關閉模式
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1 ///最大允許的MAC白名單數量
Total MAC Addresses : 1
Configured MAC Addresses : 0 ///配置的IP
Sticky MAC Addresses : 0 //粘滯的MAC,重啟還在
Last Source Address:Vlan : c202.4276.0000:1 ///最后一個使用的MAC
Security Violation Count : 0 ///懲罰過的數量
那么開啟security之后,咱們就要用實驗來看一下是否真的生效
這是R2正確的MAC
現在我們改一下MAC地址,看會怎么樣?
剛剛修改完MAC地址,交換機上就已經有了提示信息,
%PM-4-ERR_DISABLE: psecure-violation error detected on Et0/1, putting Et0/1 in err-disable state
由於觸發了安全機制,導致E0/1口被置為err-disable狀態,而且還是”雙down”
還是很有效的嘛~
那端口被down掉了,該如何修復 呢?
答:將端口shutdown,然后再no shutdown就可以進行開啟
為什么shutdown,再no shudown后就可以開啟了呢?
前邊也提到過,這一操作等於是重新插拔網線,或者你也可以認為是將交換機重啟了,
重啟后學習到了新的MAC地址,盡管這個MAC是非法的。
那有沒有一種辦法讓交換機及時重啟也無法允許非法的MAC 呢?~當然有
Stiky(粘滯)
先確認一下是否和R1進行通信,
好 ,現在開啟基於粘滯的端口安全
測試
會發現,即使是人為的將端口進行shutdown ,再noshutdown,也是無濟於事,
端口根本就無法打開,
這時,只有將攜帶有正確的MAC地址主機插進來才可以,(當然還是要手動開啟)
那么有一個問題會產生,如果說當這台主機出現故障,臨時有一台新的機器用做辦工,那還是不能上網的,
對於這個問題,有一種解決辦法,就是允許不只一台合法的MAC使用該接口
Maximun < 1-4097 >
這條命令是允許最多兩個合法的MAC進行通行,超過2個,都不行
測試
交換機也是允許的,而且顯示total mac address 也是兩個,最后一個使用的正是我們剛改的
再加一個試試
直接就會被SW端口安全干掉,
這里顯示的懲罰1個,最后一次使用的是DDFF,也正是我們剛才修改過的
經過測試完全沒有問題
但是又有一個新的問題出現了,
如果是一個接口還好,那么對於一個網絡中,存在着上百個接口,或者更多的時候,就不應該需要 過多的人為干預,應該能夠讓設備自己進行恢復
Errdisable recovery
在規定的時間內,進行檢測,如果是不合法的,則一直關閉,如果是合法的,就開啟接口,
這樣一來,就省事兒多了
配置(在且局模式下進行配置)
1 默認的恢復檢測時間是300s,有些長,需要進行修改,改為30S好了
Sw(config)#errdisable recovery interval <30-86400> //這里咱們改最短的30s
2 指定一下,由於觸發端口安全的一項(psecure-vioation)而被errdisable的接口允許自動恢復
Sw(config)#errdisable recovery cause psecure-violation
查看恢復配置的具體信息和檢測倒計時(因為是同期性的,所以每隔固定時間就會檢測是否為合格的MAC)
Sw#show errdisable recovery
此時,只要是換回原來交換機認為的正確MAC,就會將接口開啟,要不然就一直DOWN
改好MAC后,回到交換機上,看結果,到了一個時間周期之后,還真的開啟了,
No problem,
最后一次使用的MAC ,也正是R2自己本身的MAC。
port-security在實際項目中也是應用的很頻繁,基本上配置好以后,每個端口給兩個MAC的范圍,就沒有問題了,(考慮到后期臨時更換設備或其它一些原因,一定要留也一些空間)
-----------------------------------------------
CCIE成長之路----梅利