1,問題描述
拓撲結果如圖片所示。
DHCP客戶端獲取不到IP地址,手動給設備配置IP地址能通。
LSW1是DHCP server,LSW1與LSW2之間是12.1.1.0/24網段,LSW2與LSW3之間是23.1.1.0/24網段。
2,處理過程
1、手動配置IP地址,能夠ping通服務器,說明路由沒有問題。
2、查看了一下中繼LSW3與服務器LSW1的配置,沒有發現配置問題。
3、還原實驗場景能獲取到IP地址,然後再採集了LSW2的配置,查看到LSW2連接LSW3的G0/0/2口上有如下配置:
dhcp snooping enable
dhcp snooping check dhcp-giaddr enable
4、第二條命令的作用是檢查中繼報文中的GIADDR字段,對於該字段中不為0的報文直接丟棄。
3,根因
DHCP報文中的GIADDR字段儲存的是中繼的接口IP地址,在交換機上開啟檢查該字段功能會導致設備直接丟棄該字段不為0的報文;在該環境中,由於LSW2將LSW1發來的報文給丟棄了,所以導致下游PC獲取不到IP地址。
4,解決方案
在LSW2的G0/0/2口上刪除DHCP snooping的配置命令。
5,建議與總結
建議DHCP snooping配置在接入層交換機上,防範效果更佳。如果在匯聚層設備上配置DHCP snooping,可能會丟棄掉一些正常的DHCP報文。
閱讀更多 王海軍老師 的文章