DHCP スヌーピングについて
DHCP スヌーピングは、信頼できないホストと信頼できる DHCP サーバとの間でファイアウォールのような機能を果たします。DHCP スヌーピングでは次のアクティビティを実行します。
-
信頼できない送信元からの DHCP メッセージを検証し、無効なメッセージをフィルタ処理して除外します。
-
DHCP スヌーピング バインディング データベースを構築し、管理します。このデータベースには、リース IP アドレスがある信頼できないホストに関する情報が保存されています。
-
DHCP スヌーピング バインディング データベースを使用して、信頼できないホストからの以降の要求を検証します。
DHCP スヌーピングは、グローバルおよび VLAN 単位でイネーブルにできます。デフォルトでは、この機能はグローバルおよびすべての VLAN でディセーブルです。この機能は、1 つの VLAN または特定の VLAN 範囲でイネーブルにできます。
信頼できる送信元と信頼できない送信元
DHCP スヌーピングがトラフィックの送信元を信頼するかどうかを設定できます。信頼できない送信元の場合、トラフィック攻撃やその他の敵対的アクションが開始される可能性があります。こうした攻撃を防ぐため、DHCP スヌーピングは信頼できない送信元からのメッセージをフィルタリングします。
企業ネットワークでは、信頼できる送信元はその企業の管理制御下にあるデバイスです。これらのデバイスには、ネットワーク内のスイッチ、ルータ、およびサーバが含まれます。ファイアウォールを越えるデバイスやネットワーク外のデバイスは信頼できない送信元です。一般的に、ホスト ポートは信頼できない送信元として扱われます。
サービス プロバイダーの環境では、サービス プロバイダー ネットワークにないデバイスは、信頼できない送信元です(カスタマー スイッチなど)。ホスト ポートは、信頼できない送信元です。
Cisco NX-OS デバイスでは、接続インターフェイスの信頼状態を設定することにより、送信元を信頼できるものとして扱うことができます。
すべてのインターフェイスのデフォルトの信頼状態は、信頼できない状態になります。DHCP サーバ インターフェイスは、信頼できるインターフェイスとして設定する必要があります。ユーザのネットワーク内でデバイス(スイッチまたはルータ)に接続されている場合、他のインターフェイスも信頼できるインターフェイスとして設定できます。ホスト ポート インターフェイスは、通常、信頼できるインターフェイスとしては設定しません。
Note |
DHCP スヌーピングを適切に機能させるためには、すべての DHCP サーバが信頼できるインターフェイスを介してデバイスと接続される必要があります。 |
DHCP スヌーピング バインディング データベース
DHCP スヌーピングは、代行受信した DHCP メッセージから抽出した情報を使用し、ダイナミックにデータベースを構築し維持します。DHCP スヌーピングがイネーブルにされた VLAN に、ホストが関連付けられている場合、データベースには、リース IP アドレスがある信頼できない各ホストのエントリが保存されています。データベースには、信頼できるインターフェイスを介して接続するホストに関するエントリは保存されません。
Note |
DHCP スヌーピング バインディング データベースは DHCP スヌーピング バインディング テーブルとも呼ばれます。 |
デバイスが特定の DHCP メッセージを受信すると、DHCP スヌーピングはデータベースをアップデートします。たとえば、デバイスが DHCPACK メッセージをサーバから受信すると、この機能によってデータベースにエントリが追加されます。IP アドレスのリース期限が過ぎたり、デバイスがホストから DHCPRELEASE メッセージを受信すると、この機能によってデータベース内のエントリが削除されます。
DHCP スヌーピング バインディング データベースの各エントリには、ホストの MAC アドレス、リース IP アドレス、リース期間、バインディング タイプ、VLAN 番号、およびホストに関連するインターフェイス情報が保存されます。
ダイナミック ARP インスペクション(DAI)および IP ソース ガードも、DHCP スヌーピング バインディング データベースに格納された情報を使用します。
clear ip dhcp snooping binding コマンドを使用すると、バインディング データベースからエントリ削除できます。
vPC 環境での DHCP スヌーピング
仮想ポート チャネル(vPC)では、2 台の Cisco NX-OS スイッチを 3 番目のデバイスに 1 つの論理ポート チャネルとして認識させることができます。第 3 のデバイスは、スイッチ、サーバ、ポート チャネルをサポートするその他の任意のネットワーク デバイスのいずれでもかまいません。
標準的な vPC 環境では、DHCP 要求は一方の vPC ピア スイッチに到達でき、応答は他方の vPC ピア スイッチに到達できるため、一方のスイッチには部分的な DHCP(IP-MAC)バインディング エントリが生成され、他方のスイッチにはバインディング エントリが生成されません。その結果、DHCP スヌーピング、およびダイナミック ARP インスペクション(DAI)や IP ソース ガードなどのそれに関連する機能は中断されます。この問題は Cisco Fabric Service over Ethernet(CFSoE)分散を使用して、すべての DHCP パケット(要求および応答)が両方のスイッチに確実に認識されるようにすることで対処されます。これにより、vPC リンクの背後に存在するすべてのクライアントについて、両方のスイッチで同じバインディング エントリが作成および管理されるようになります。
CFSoE 分散ではまた、vPC リンク上の DHCP 要求および応答を 1 台のスイッチのみが転送するようにもできます。vPC 以外の環境では、両方のスイッチが DHCP パケットを転送します。
DHCP スヌーピング バインディング エントリの同期
-
リモート vPC がオンラインになったとき、その vPC リンクのすべてのバインディング エントリがピアと同期する必要があります。
-
DHCP スヌーピングがピア スイッチでイネーブルになっている場合、すべての vPC リンクのダイナミック バインディング エントリがピアと同期する必要があります。
パケット検証
デバイスは、DHCP スヌーピングがイネーブルの VLAN にある信頼できないインターフェイスで受信された DHCP パケットを検証します。デバイスは、次のいずれかの条件が発生しないかぎり、DHCP パケットを転送します(これらの条件が発生した場合、パケットはドロップされます)。
-
信頼できないインターフェイスで DHCP 応答パケット(DHCPACK、DHCPNAK、または DHCPOFFER などのパケット)を受信した場合。
-
信頼できないインターフェイスからパケットを受信し、この送信元 MAC アドレスと DHCP クライアント ハードウェア アドレスが一致しない場合。このチェックは、DHCP スヌーピングの MAC アドレス検証オプションがオンの場合だけ、実行されます。
-
DHCP スヌーピング バインディング テーブル内にエントリを持つ信頼できないホストから DHCPRELEASE または DHCPDECLINE メッセージを受信したが、バインディング テーブル内のインターフェイス情報が、このメッセージを受信したインターフェイスと一致しない場合。
さらに、DHCP パケットの厳密な検証をイネーブルにすることもできます。これにより、DHCP パケットのオプション フィールドが確認されます。これには、オプション フィールドの最初の 4 バイト内の「マジック クッキー」値も含まれます。デフォルトでは、厳密な検証はディセーブルになっています。ip dhcp packet strict-validation コマンドを使用してイネーブルにすると、DHCP スヌーピングで無効なオプション フィールドを含むパケットを処理した場合に、パケットがドロップされます。
DHCP ??????? Option 82 ?????
DHCP ????????????? IP ???????????????????Option 82 ???????????????????????????????????????? MAC ??????????????? LAN ????? ???????? ??????????????????????????????
Cisco NX-OS ????? Option 82 ???????????????????????????
-
????DHCP ???????? DHCP ??????????????????????????????
-
Cisco NX-OS ??????? DHCP ??????????????? Option 82 ?????????Option 82 ?????????? MAC ????????? ID ????????????? ID ? vlan-ifindex?? vPC ??????? vlan-vpcid?vPC ??????????????????????????????? ID ?????????
Note
vPC ?? ???????????? ID ????????? vPC ????? MAC ??????????????????????????????? MAC ????? vPC ???? ID ???????????Option 82 ????DHCP ????? vPC ?? ???????????????????????????????
-
??????Option 82 ???????? DHCP ??? DHCP ??????????
-
DHCP ?????????????????Option 82 ????????????????????? ID??? ID??????????????IP ???????????????????????????????????????? ID ????? ID ???????????? IP ????????????????????DHCP ?????DHCP ???? Option 82 ?????????????
-
DHCP ???? Cisco NX-OS ??????????????Cisco NX-OS ???????????ID ???????????????????ID ????????????????? Option 82 ??????????????????????????????Cisco NX-OS ????? Option 82 ?????????????DHCP ??????? DHCP ?????????????????????????????????
??????????????????????????????
-
?? ID ??????? ?????
-
??????? ???
-
??????? ??????
-
?? ID ???
-
?? ID ??????
-
-
???? ID ??????? ?????
-
??????? ???
-
??????? ??????
-
???? ID ???
-
?? ID ??????
-
????????? ID ???????????? ID ??????????????????????Cisco NX-OS ?????????????????????DHCP ??????????????????????Option 82 ???????????????????????????? ID ???????????????? ????????????????????????