許可されていない不正なDHCPサーバの通信を拒否し、許可された正規のDHCPサーバのみを利用することで、クライアントPCが正しいIPアドレス情報を使用して、通信することを目的としたセキュリティは、DHCPスヌーピングという技術を使用します。
また、スヌーピング(Snooping)とは、覗き見る、嗅ぎまわる、詮索するという意味があります。
DHCPスヌーピングの仕組み
DHCPスヌーピングは、DHCPサーバとDHCPクライアントの通信を覗き見る(スヌーピング)する技術で、管理者が許可していないDHCPサーバからの通信を遮断することができます。
スイッチのポートごとにDHCPの通信の許可 / 拒否を指定することで、許可されていないポートからのDHCPパケットを破棄します。
設定可能なCatalystスイッチ例
- Catalyst 2960
- Catalyst 3560
- Catalyst 3560E
- Catalyst 3750
- Catalyst 3750E
- Catalyst 3850
※Catayst 2960シリーズは LAN-Baseイメージで対応してます。
通信環境の想定
設定の概要
設定の主な手順は、以下の通りです。
- DHCPスヌーピングの機能を有効にします。(ip dhcp snooping コマンドを使用)
- DHCPスヌーピングを有効にするVLANを指定します。(ip dhcp snooping vlanから始まるコマンドを使用)
- 今回設定するDHCPサーバはOption82を使用しないため、Option82を無効にします。
(no ip dhcp snooping information option コマンドを使用)
※Option82とは、DHCPクライアントを識別してサービスを提供するDHCPオプション機能です。 - DHCPサーバが接続するポートにDHCPの通信を許可します。(ip dhcp snooping trust コマンドを使用)
また、DHCPパケットを拒否する場合は、no ip dhcp snooping trust コマンドを使用しますが、デフォルトでは、すべてのポートはuntrust(信頼しない)状態です。
そのため、no ip dhcp snooping trust コマンドは、明示的に設定する場合に使用します。
DHCPスヌーピングの設定例
L2SW> enable
Password:
L2SW# configure terminal
L2SW(config) # ip dhcp snooping
L2SW(config) # ip dhcp snooping vlan 1
L2SW(config) # no ip dhcp snooping information option
L2SW(config) # interface FastEthernet 0/1
L2SW(config-if) # no ip dhcp snooping trust
L2SW(config-if) #interface GigabitEthernet 0/1
L2SW(config-if) # ip dhcp snooping trust
L2SW(config) # end
L2SW# copy running-config startup-config
設定のキーとなるコマンドの解説
- ip dhcp snooping コマンドを使用して、DHCPスヌーピングをグローバルコンフィグレーションモードで有効にします。
- ip dhcp snooping vlan 1 コマンドを使用して、VLAN単位でDHCPスヌーピングを有効にします。
- no ip dhcp snooping information option コマンドを使用して、DHCP要求メッセージに対する Option82を無効にします。
- no ip dhcp snooping trust コマンドを使用して、FastEthernet 0/1でDHCPパケットの通過を拒否するように明示的に設定します。(デフォルトでは、すべてのポートがuntrust)
- ip dhcp snooping trust コマンドを使用して、GigabitEthernet 0/1でDHCPパケットの通過を許可するように設定します。