DHCP Snooping實驗

DHCP Snooping實驗
配置命令

說明:“ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131 int f1/2 expiry 692000”條
目中“expiry”參數爲4294967295時表示綁定永不過期。

1、單機交換(DHCP服務器和DHCP客戶端位於同一VLAN)

環境:Windows2003 DHCP服務器和客戶端都位於Vlan 10;服務器接在F0/1,客戶端接在F0/2。
2960交換機相關配置:

說明:
①本例中交換機對於客戶端的DHCP請求報文將插入選項82信息,也可以通過配置“no ip dhcp snooping
information option”命令選擇不插入選項82信息,兩種情況都可以。
②客戶端端口推薦配置“spanning-tree portfast”命令,使得該端口不參與生成數計算,節省端口啓動時間,
防止可能因爲端口啓動時間過長導致客戶端得不到IP地址。
③開啓DHCP監聽特性的VLAN並不需要該VLAN的三層接口被創建。
2、單交換機(DHCP服務器和DHCP客戶端位於同一VLAN)

環境:Cisco IOS DHCP服務器(2821路由器)和PC客戶端都位於Vlan 10;路由器接在F0/1,客戶端接在F0/2。
2960交換機相關配置:

2821路由器相關配置:

說明:
①需要注意的是路由器連接到交換機的端口需要配置“ip dhcp relay information trusted”命令,否則客戶
端將無法得到IP地址。這是因爲交換機配置了(默認情況)“ip dhcp snooping information option”命令,
此時交換機會在客戶端發出的DHCP請求報文中插入選項82信息。另一方面由於DHCP服務器(這裏指Cisco IOS
DHCP服務器)與客戶端處於同一個VLAN中,所以請求實際上並沒有經過DHCP中繼代理。
②對於Cisco IOS DHCP服務器來說,如果它收到的DHCP請求被插入了選項82信息,那麼它會認爲這是一個從DHCP
中繼代理過來的請求報文,但是它檢查了該報文的giaddr字段卻發現是0.0.0.0,而不是一個有效的IP地址
(DHCP請求報文中的giaddr字段是該報文經過的第一個DHCP中繼代理的IP地址,具體請參考DHCP報文格式),因
此該報文被認爲“非法”,所以將被丟棄。可以參考路由器上的DHCP的debug過程。
③Cisco IOS裏有一個命令,專門用來處理這類DHCP請求報文“ip dhcp relay information trusted”(接口命
令)或者“ip dhcp relay information trust-all”(全局命令,對所有路由器接口都有效);這兩條命令的作
用就是允許被插入了選項82信息,但其giaddr字段爲0.0.0.0的DHCP請求報文通過。
④如果交換機不插入選項82信息,即配置了“no ip dhcp snooping information option”命令,那麼就不會出
現客戶端無法得到IP地址的情況,路由器也不需要配置“ip dhcp relay information trusted”命令。
⑤Windows DHCP服務器則不認爲Option 82的值爲0.0.0.0的DHCP報文是錯誤的,所以上一個實例中不論交換機是
否插入選項82信息,客戶端總是可以得到IP地址。
3、單交換機(DHCP服務器和DHCP客戶端位於不同VLAN)

環境:Cisco IOS DHCP服務器(2821路由器)的IP地址爲192.168.2.2,位於Vlan 2;DHCP客戶端位於Vlan 10;交換機爲3560,路由器接在F0/1,客戶端接在F0/2。
3560交換機相關配置:

2821路由器相關配置:

說明:
①本例中的路由器不需要配置“ip dhcp relay information trusted”命令,因爲從交換機過來的DHCP請求經
過了中繼代理,其報文中的giaddr字段爲192.168.10.1,而不是0.0.0.0,是默認正常的DHCP請求報文。
4、多交換機環境(DHCP服務器和DHCP客戶端位於不同VLAN)

環境:2611路由器作爲DHCP服務器,IP地址爲192.168.2.2,位於Vlan 2;PC位於Vlan 10;路由器接在3560的G0/2,PC接2960的F0/1口,兩交換機互連口都是G0/1。
3560交換機相關配置:

2960交換機相關配置:

2611路由器相關配置:

說明:
①本例中3560沒有開啓DHCP監聽功能,2960開啓了該功能。需要注意的是int vlan 10需要配置“ip dhcp
relay information trusted”命令,理由如同實例2。
5、多交換機(DHCP服務器和DHCP客戶端位於同一VLAN)

環境:3560交換機自身作爲DHCP服務器;PC1和PC2都位於Vlan 10;PC1接3560的F0/1口,PC2接2960的F0/1口;兩交換機互連口都是G0/1。
3560交換機相關配置:

2960交換機相關配置:

說明:
①本例中3560和2960同時開啓了DHCP監聽功能。從2960過來的DHCP請求報文是已經被插入了選項82信息,如果將
3560的G0/1設置爲信任端口,那麼插入了82選項的DHCP請求報文是允許通過的,但不會爲其建立DHCP監聽綁定
表。即3560上只有PC1的綁定條目,而沒有PC2的綁定條目。
②如果此時同時部署DAI,IPSG,由於2960不支持這兩項功能,對於3560來說,從2960上過來的數據可能存在IP
欺騙和ARP欺騙等***,是不安全的。另一方面,由於3560沒有PC2的綁定條目,而DAI和IPSG必須依賴DHCP監
聽綁定表。因此如果需要在3560上再部署DAI或者IPSG,就不能將3560的G0/1設置爲信任端口。
③但是將3560的G0/1口設置爲非信任端口以後,默認情況下,非信任端口將會丟棄收到的插入了82選項的DHCP請
求報文。而從2960過來的DHCP請求報文又正好是被插入了選項82信息的。因此必須配置“ip dhcp
snooping information option allow-untrusted”命令,否則3560將丟棄這些DHCP請求報文,接在2960上的
PC2將得不到IP地址。只有配置了該命令以後,3560纔會接收從2960發送的插入了選項82的DHCP報文,併爲這
些信息建立綁定條目。
④3560下聯的G0/1口由於是非信任端口,默認限速爲每秒15個DHCP請求報文,如果2960上的所有PC都同時發起
DHCP請求,可能此端口會被errdisable掉。這裏假設2960爲24口,因此簡單的設置限速爲24*15=360。
⑤2960上聯的G0/1口必須被配置爲信任端口,否則將丟棄從3560過來的DHCP應答報文,PC2將無法得到IP地址。

6、多交換機環境(DHCP服務器和DHCP客戶端位於同一VLAN)

環境:4503交換機自身作爲DHCP服務器;PC1和PC2都位於Vlan 10;PC1接4503的G2/1口,PC2接3560的F0/1口;兩交換機互連口是4503 G1/1 -- 3560 G0/1。
4503交換機相關配置:

3560交換機相關配置:

說明:
①本例中4503和3560同時開啓了DHCP監聽功能。由於4503的下聯口被設置爲信任端口,所以從3560過來的DHCP請
求報文即使已經被插入了選項82信息,也允許通過的,但不會爲其建立DHCP監聽綁定表。所以4503上只有PC1
的綁定條目,而沒有PC2的綁定條目。
②作爲接入層交換機的3560支持DAI,IPSG,如果同時配置這兩項功能,那麼有理由相信從3560過來的數據是已
經經過檢驗的安全數據,因此將4503的下聯口設置爲信任端口是可行的。另外,4503沒有PC2的綁定條目,也
減少了系統運行時所需的內存空間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章