有關思科dhcp snooping的測試總結
DHCP snooping作為DAI和IP Sourceguard特性的基礎元件,做好配置顯得尤為重要。
下面總結一下此特性及部署注意事項:
1.開啟dhcp snooping的交換機,預設都會給所有非信任介面發來的DHCP請求報文新增option 82(中繼擴充套件資訊)然後傳送給上聯的DHCP伺服器,如果DHCP伺服器是思科的,預設情況下思科的DHCP服務是拒絕分配IP地址給option 82中giaddr(也就是DHCP中繼伺服器的IP地址)為0.0.0.0的DHCP請求,因為它認為這種請求報文是非法的。既然這樣,啟DHCP snooping的二層交換機發來的DHCP請求是收不到思科DHCP伺服器分配的IP地址的,所以其連線的終端肯定獲取不到IP地址(請注意:有中繼伺服器IP地址的dhcp請求不受影響,客戶端能夠正常獲取IP地址,非思科dhcp服務也不受影響,因為他們沒有拒絕給giaddr為0.0.0.0的請求分配IP的特性
A. DHCP客戶端獲取IP經過的所有啟dhcp snooping的交換機關閉DHCP請求中新增option 82報文的特性(前提肯定是交換機的DHCP服務上聯口都做了監聽信任),對應的命令是no ip dhcp snooping option information;
B. 思科dhcp伺服器允許給option 82中giaddr為0.0.0.0的DHCP請求分配IP地址,有兩種方式:
ip介面上配置只對ip網段生效:
interface vlan 912
ip dhcp relay information trusted
全域性模式下對所有ip網段生效:
ip dhcp relay information trust-all
B種方式只要在思科dhcp伺服器上做了,其餘啟dhcp snooping的交換機就不需要做A方式啦,只需要在匯聚交換機上允許非信任介面發來option 82的DHCP請求報文就行了,對應命令是ip dhcp snooping information option allow-untrusted,這個第2點裡面會講,比較簡單。
A方式和B方式的區別:A方式去掉option 82,B方式保留option 82.
2.開啟dhcp snooping的交換機,預設所有的非信任介面丟棄帶有option 82的DHCP請求報文,所以如果是匯聚交換機(下聯還有接入交換機,接入交換機也在那個vlan開啟了dhcp snooping)特定vlan開啟了dhcp snooping,需要允許非信任介面發來的option 82的DCHP請求報文,對應命令是ip dhcp snooping information option allow-untrusted
綜合實驗:
說明:思科核心trunk下聯匯聚然後下聯接入交換機,一般我們會在匯聚和接入交換機上啟dhcp snooping,匯聚和接入配置舉例:
ip dhcp snooping
ip dhcp snooping database flash:dhcpsnooping.db
ip dhcp snooping database write-delay 30
ip dhcp snooping database timeout 60
errdisable recovery cause dhcp-rate-limit
errdisable recovery interval 60
int g0/1 \\意思是交換機DHCP伺服器入方向介面,一般叫上聯口
ip dhcp snooping trust
ip dhcp snooping vlan 912
做了以上後,客戶端依然獲取不到IP地址,我們做以下那兩種解決方案:
A方案:
接入和匯聚交換機上:
no ip dhcp snooping information option
B方案:
匯聚交換機上:
ip dhcp snooping information option allow-untrusted
然後DHCP伺服器上:
int vlan 912
ip dhcp relay information trusted
或者全域性下
ip dhcp relay information trust-all
測試證明:使用B方式適合於使用DAI+ipsourceGuard(ipsourceGuard是檢測ip和mac的情況,只檢測ip地址不會有什麼問題,A和B都可以),A方式就支援的不好,客戶端獲取IP地址很慢,影響使用體驗,要想快必須在埠安全時敲上switchport port-security mac-address sticky,使埠下接入的pc的mac地址寫入到交換機的靜態表裡面,提高第二次pc獲取ip地址的速度。
備註:
簡易arp inspect配置:
ip arp inspect vlan 912
int g0/1
ip arp inspect trust //上聯介面
int g0/2
ip arp inspect trust //下聯介面
debug arp snooping
簡易IPsourceGuard
int range f0/1-24 //所有連線終端的介面
switchport port-security
switchport port-security mac-address sticky //A方案的補救措施
ip verify source port-security //檢測ip和mac地址跟交換機埠的對應關係是否符合,預設dhcp繫結表裡面的允許放行
還有一種只檢測ip與交換機埠對應關係的,檢測ip也是基於dhcp繫結表的資訊有選擇的放行。配置方式就是隻在終端接入介面下配置ip verify source