介紹
當交換機開啟了 DHCP-Snooping後,會對DHCP報文進行偵聽,並可以從接收到的DHCP Request或DHCP Ack報文中提取並記錄IP位址和MAC地址信息。另外,DHCP-Snooping允許將某個物理連線埠設定為信任連線埠或不信任連線埠。信任連線埠可以正常接收並轉發DHCP Offer報文,而不信任連線埠會將接收到的DHCP Offer報文丟棄。這樣,可以完成交換機對假冒DHCP Server的禁止作用,確保客戶端從合法的DHCP Server獲取IP位址。
作用
1.dhcp-snooping的主要作用就是隔絕非法的dhcp server,通過配置非信任連線埠。
2.與交換機DAI的配合,防止ARP病毒的傳播。
3.建立和維護一張dhcp-snooping的綁定表,這張表一是通過dhcp ack包中的ip和mac地址生成的,二是可以手工指定。這張表是後續DAI(dynamic arp inspect)和IPSource Guard 基礎。這兩種類似的技術,是通過這張表來判定ip或者mac地址是否合法,來限制用戶連線到網路的。
4.通過建立信任連線埠和非信任連線埠,對非法DHCP伺服器進行隔離,信任連線埠正常轉發DHCP數據包,非信任連線埠收到的伺服器回響的DHCP offer和DHCPACK後,做丟包處理,不進行轉發。
配置
以Cisco交換機為例:
switch(config)#ip dhcp snooping
switch(config)#ip dhcp snooping vlan 10
/*在Vlan10啟用dhcp snooping
switch(config-if)#ip dhcp snooping limit rate 10
/*dhcp包的轉發速率,超過後接口就shutdown,默認不限制;
switch(config-if)#ip dhcp snooping trust
/*這樣這個連線埠就變成了信任連線埠,信任連線埠可以正常接收並轉發DHCP Offer報文,不記錄ip和mac地址的綁定,默認是非信任連線埠"
switch#ip dhcp snooping binding 0009.3452.3ea4 vlan 7 192.168.10.5 interface gi1/0/10
/*這樣可以靜態ip和mac一個綁定;
switch(config)#ip dhcp snooping database tftp:// 10.1.1.1/dhcp_table
/*因為掉電後,這張綁定表就消失了,所以要選擇一個保存的地方,ftp,tftp,flash皆可。本例中的dhcp_table是檔案名稱,而不是資料夾,同時檔案名稱要手工創建一個。
show ip dhcp snooping
/*顯示DHCP探測狀態*/
防止ARP污染
DHCP snooping還可以跟蹤主機的物理位置,從而可以防禦(ARP)快取污染攻擊。它在防禦這些攻擊的過程中發揮重要作用,因為您可以使用DHCP snooping技術丟棄一些來源與目標MAC地址不符合已定義規則的DHCP訊息。管理會收到通過DHCP snooping警報通知的違規行為。當DHCP snooping服務檢測到違規行為時,它會在系統日誌伺服器上記錄一條訊息“DHCP Snooping”。
DHCP snooping是實現2層協定流量安全性的第一步。惡意DHCP伺服器不僅會導致網路問題,它們還可以被攻擊者用於轉發敏感流量和發起中間人攻擊。如果還沒有做好這些措施,那么一定要考慮實現這些防禦措施,保證網路基礎架構的安全性。
套用場景
(1)對網路安全要求程度比較高和對IP位址管理有一定需求的單位,如xx菸草、XX電網等
(2)此策略應配置在接入層交換機當中。其中,在交換機上聯連線埠以及聚合連線埠需配置為信任連線埠,需靜態IP的連線埠需開啟信任!
注意事項
若交換機下聯有Hub、路由器等設備,若網路中有靜態IP位址存在,配置snooping+dai以後會造成小範圍內多個用戶不能上網。因此建議先在交換機開啟snooping,觀察網路沒有異常以後,逐個vlan開啟DAI功能。