DHCP Snooping of OmniSwitch

簡介

DHCP在網路的世界裡面一直以來都是非常重要的功能之一,他可以免除使用者操作一堆看不懂的設定,甚至是要去記住一大堆數字符號(ex. IP Address、NetMask、Gateway…)。

功能固然便利,但無法避免有心人在瞭解網路機制運作後,自己設定IP來進入網路環境,又或是自行架設DHCP Server來擾亂網路上的裝置,配發不正確的IP,執行非法側錄之類的行為。

OmniSwitch針對DHCP Security提供了DHCP relay agent information option (Option-82)DHCP Snooping這兩個function,前者可以利用Switch代理機制(Relay Agent),將Circuit IDRemote ID插入封包內,送給DHCP Server進行Authentication,後者會針對DHCP packet的機制流程進行Filter,而Filter的依據也是本篇要說明的重點。

這兩個function同一時間僅能擇一使用。

實作

DHCP Snooping提供兩種設定模式

  • switch-level
  • vlan-level

switch-level顧名思義就是整個switch都啟動,而vlan-level就是針對vlan來作filter

啟動vlan-level時,Option 82將無法使用。

1
2
3
4
5
# switch level
-> ip helper dhcp-snooping enable

# vlan level
-> ip helper dhcp-snooping vlan 10 enable
1
2
3
4
5
# switch level
-> dhcp-snooping admin-state enable

# vlan level
-> dhcp-snooping vlan 10 admin-state enable

設定情境

假設要啟動DHCP Snooping的VLAN ID為10,並且將Port 1/1 設定為僅能使用DHCP取得IP,Port 1/10 為DHCP Server使用。

1
2
3
4
-> ip helper dhcp-snooping vlan 10 enable
-> ip helper dhcp-snooping binding enable
-> ip helper dhcp-snooping ip-source-filter port 1/2 enable
-> ip helper dhcp-snooping port 1/10 trust
1
2
3
4
-> dhcp-snooping vlan 10 admin-state enable
-> dhcp-snooping binding admin-state enable
-> dhcp-snooping ip-source-filter port 1/2 admin-state enable
-> dhcp-snooping port 1/10 trust

AOS R8 的 ip source filter(ISF)還可以針對VLAN做過濾

1
-> dhcp-snooping ip-source-filter vlan 10 admin-state enable

上述設定可以發現,Binding功能啟動後,DHCP資訊都會紀錄在Switch的DHCP Binding table,而Port 1/1有啟動ip source filter(ISF),所以這個port的裝置將無法自行設定IP,封包會與binding table比對。

1
2
3
4
5
6
7
8
-> show ip helper dhcp-snooping binding

Total Number of Binding Entries: 1

MAC Slot IP Lease VLAN Binding
Address Port Address Time(min) ID Type
-------------------+------+---------------+---------------+-------+-----------
aa:bb:cc:dd:ee:ff 1/2 192.168.10.20 240 10 Dynamic
1
2
3
4
5
6
7
8
-> show dhcp-snooping binding

Total Number of Binding Entries: 1

MAC IP Lease VLAN Binding
Address Port Address Time(min) ID Type
-------------------+------+---------------+---------------+-------+-----------
aa:bb:cc:dd:ee:ff 1/2 192.168.10.20 240 10 Dynamic

Static binding

若有一些特殊需求,需要在裝置上設定IP,但是該Port已啟動ISF,則可以使用Static Binding功能。

1
-> ip helper dhcp-snooping binding aa:bb:cc:dd:ee:ff port 1/2 address 192.168.10.20 vlan 10
1
-> dhcp-snooping binding aa:bb:cc:dd:ee:ff port 1/2 address 192.168.10.20 vlan 10