【DHCPについて】
このHPは、DHCP(DHCPスヌーピング)についてまとめたものです。
1-1 DHCPスヌーピング
DHCPでは、DHCPクライアントからメッセージを受信すると、DHCPサーバーが必要な情報をDHCPクライアントに配布する。
DHCPサーバーから配布される情報は、「IPアドレス」、「サブネットマスク」、「デフォルトゲートウェイのIPアドレス」等がある。
もしネットワーク内に正規のDHCPサーバー以外のDHCPサーバーが存在したら、上記の「デフォルトゲートウェイのIPアドレス」等が、本来と異なる割り当てになってしまう可能性がある。
IPアドレスが悪意のあるホストのIPアドレスだった場合、通信が一度そのPCへ送信されてしまう。
下図では、盗聴用PCがDHCPサーバーになりすましをし、問題が発生する。
この偽DHCPサーバーからの「DHCP オファー」をDHCPクライアントが採用した場合、デフォルトゲートウェイが盗聴用PCのIPアドレスとなる。
このDHCPサーバーのなりすましを「DHCPスプーフィング」という。


このDHCPスプーフィングの対策として、「DHCPスヌーピング」機能がある。
「DHCPスヌーピング」機能を設定すると、スイッチの各ポートは、「信頼ポート(trust)」と「非信頼ポート(untrust)」に分けられる。
信頼しないポートから送信されてくる「DHCPオファー」や「DHCPアック」等のメッセージはブロックされる。

◆DHCPスヌーピングバインディングデータベース
非信頼ポート(untrust)では、DHCPパケットのやり取りがチェックされる。
それにより、DHCPサーバーからPCに割り当てられる情報を、スイッチ側でも知ることが可能になる。
下図では、Fa0/3の先に接続しているPCには、MACアドレス:0000.0000.1111、IPアドレス:192.168.10.3、VLAN10に属している情報がある。
その情報は、「DHCPスヌーピングバインディングデータベース」に保存される。

1-2 DHCPスヌーピングの設定
DHCPスヌーピングは、デフォルトでは有効になっていない。そのため、コマンドで有効化する必要がある。
【手順@】:DHCPスヌーピングの有効化
DHCPスヌーピングを有効化するには、グローバルコンフィギュレーションモードで、下記のコマンドを実行する。
《コマンド》
(config)#ip dhcp snooping
【手順A】:DHCPを有効にするVLAN指定
手順@のコマンドでDHCPスヌーピングが有効になるが、全てのVLANで、ディセーブル状態になるため、DHCPを有効にするVLANを指定する。
《コマンド》
(config)#ip dhcp snooping vlan <vlan-id>
※<vlan-id>で有効にするVLANを指定する。
VLANの指定は、カンマ区切りで複数のvlan-idを指定するか、ハイフンでVLANの範囲を指定することが出来る。
【手順B】:信頼ポート(trust)の指定
手順@のコマンドでDHCPスヌーピングを有効にすると、全てのポートが「非信頼ポート(untrust)」になる。
正規のDHCPサーバーが接続されるポートやDHCPスヌーピングする必要が無いポートは、信頼できるポートにする必要がある。
信頼できるポートにするには、インターフェイスコンフィギュレーションモードで、下記のコマンドを実施する。
《コマンド》
(config-if )#ip dhcp snooping trust
【手順C】:リレーエージェント情報オプション
DHCPは、「リレーエージェント情報オプション(オプション82)」という追加情報を含めることが出来る。
オプション82とは、DHCPクライアントを識別してサービスを提供するDHCPオプション機能。
このオプション機能は、デフォルトで有効になっている。
DHCPサーバーがオプションに対応していないと、応答が返ってこない。
そこでこの機能を無効にするには、グローバルコンフィグレーションモードで、下記のコマンドを実行する。
《コマンド》
(config)#no ip dhcp snooping information option
※「no」を付けずに実行することで、オプションが無効になっている機器で再度、有効にすることが可能。
1-3 DHCPスヌーピングの設定内容確認
DHCPスヌーピングの設定情報を確認するには、特権モードで下記のコマンドを実行する。
《DHCPスヌーピングの設定確認コマンド》
#show ip dhcp snooping

◆DHCPスヌーピングデバイスバインディングデータベースの設定確認
DHCPスヌーピングバインディングデータベースの確認は、特権モードで
下記のコマンドを実行する。下記のコマンドの内容を確認することで、PCに割り当てられている情報が確認できる。
《DHCPスヌーピングデバイスバインディングデータベースの設定確認コマンド》
#show ip dhcp snooping binding

上記のコマンド結果から、Fa0/3に接続しているデバイスのMACアドレスは「0000.0000.0000.1111」、IPアドレスは「192.168.10.3」、VLANは「10」に属している事が確認できる。