環境:cisco dhcp server和客戶端都屬於vlan27,dhcp server 接在交換機G0/1,客戶端接在交換機的G0/2html
cisco dhcp server相關配置ios
ip dhcp pool vlan27 network 192.168.27.0 255.255.255.0 default-router 192.168.27.1 dns-server 192.168.27.1 interface Vlan27 ip dhcp relay information trusted //必須配置,不然客戶端獲取不到地址 ip address 192.168.27.1 255.255.255.0
access-switch交換機相關配置服務器
ip dhcp snooping vlan 27 ip dhcp snooping interface GigabitEthernet0/1 switchport access vlan 27 switchport mode access media-type rj45 speed 100 duplex full no negotiation auto spanning-tree portfast edge ip dhcp snooping trust
說明:oop
一、路由器鏈接交換機的三層接口或者interface vlan裏面必須配置 ip dhcp relay information trusted,不然客戶端沒法獲取地址spa
由於access-switch接入層交換機默認開啓了ip dhcp snooping information option,此時接入層交換機會在客戶端發出的dhcp請求報文中插入option82信息(關於option82請看這裏),因爲dhcp server和客戶端處於同一個網段中並無通過dhcp中繼代理,對於cisco的dhcp server而言,若是收到了一個插入了option82的請求報文,那麼就會認爲是一個從dhcp中繼代理過來的請求報文,此時就會檢查該報文的giaddr字段,可是因爲屬於同網段該字段是0.0.0.0 dhcp server會認爲是一個不合法的地址,此時就會將該報文丟棄,致使客戶端獲取不到IP地址代理
針對此狀況cisco ios就有一條專門處理的命令來避免此問題 ip dhcp relay information trusted(接口命令)或者ip dhcp relay information trust-all(全局命令,對全部路由器接口都有效);這兩條命令的做用就是容許被插入了選項82信息,但其giaddr字段爲0.0.0.0的DHCP請求報文經過。
code
注:orm
一、上述的狀況還能夠在接入層交換機上面關閉插入option82選項的功能,這樣即便dhcp不信任giaddr字段是0.0.0.0 也能夠得到ip地址。命令是 no ip dhcp snooping information optionrouter
二、Windows DHCP服務器應該沒有檢查這類DHCP請求的機制,因此上面的實例中不論交換機是否插入選項82信息,客戶端老是能夠獲得IP地址。server