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. 你好,請問如果我做port channel,要怎麼設定 ip dhcp snooping trust呢?

    我直接在po1介面上設定,卻無法成功設定?

    回覆刪除

張貼留言

這個網誌中的熱門文章

FortiGate 網路基本設定

Windows AD 架設

交換器Console的連線方法