2016年12月11日 星期日

DHCP Snooping 設定範例



由於我們只是想讓非法的DHCP伺服器沒辦法發DHCP而不是要關閉port,所以我們必須要開啟DHCP Snooping的功能。







ip dhcp snooping 打開交換器這個功能。
ip dhcp snooping vlan id 在特定vlan上開啟這個功能,注意一定要打,不然他不知道在那些vlan 開啟。
ip dhcp snooping trust 在介面上允許發放 DHCP,預設開啟功能後所有介面都是untrust,所以不開啟的話沒有機器可以要到DHCP。

那要怎麼判斷信任或不信任呢?只要想成可以從哪一port要到DHCP就好,比方說你的DHCP是裝在Core Switch上面,那Edge Switch trust來源就只能是trunk port,同理在Core Switch上面信任來源就只是能DHCP伺服器所在位置第一port。

show ip dhcp snooping 查詢目前此功能有無打開,在哪裡vlan打開,並且trust的port是哪些。



我們試著用PC端機器要了一下DHCP,卻沒有拿到,到2F-Core debug ip dhcp snooping,發現丟棄封包的訊息,關鍵字好像是他從untrusted port收到一個帶有option 82的封包所以就把他丟棄了。



這是一般的DHCP discover封包。



這個是經過開啟 dhcp snooping 功能之後的封包,被插入了一個option 82。



如果有仔細看show ip dhcp snooping確實會看到

Insertion of option 82 is enabled
   circuit-id default format: vlan-mod-port
   remote-id: 0024.5145.4000 (MAC)
Option 82 on untrusted port is not allowed

預設會插入 option 82,然後 option 82 在 untrusted port不被允許。
option 82會帶額外參數給dhcp伺服器但是要另外設定,有興趣的人可以上網看看。

所以這時候我們有兩個做法。
1.  反正我們也不設定option 82,索性就把他關掉,不要串改我的封包。
     指令為   no ip dhcp snooping information option ,預設是打開。
2.  允許在untrust port上接收 option 82的封包。
     指令為 ip dhcp snooping information option allow-untrusted。

我這次用第一種作法。



我們到每一台交換器上打  no ip dhcp snooping information option ,在show 一次發現option 82已經被關閉了。



DHCP伺服器有順利派出IP。



我們show ip dhcp snooping binding也有看到交換器紀錄的資訊,那非法的DHCP伺服器呢?因為他永遠被接在untrust port,根本收不到dhcp的廣播封包,更不用說知道是誰在要了。

1 則留言: