L2スイッチング / DHCP Snooping


概要
基本設定


DHCP Snoopingは、DHCPサーバー・クライアント間でやりとりされるDHCPメッセージを監視して動的なIPソースフィルタリングを行う機能です。本機能を利用すれば、DHCPサーバーを用いたネットワーク環境において、正当なDHCPクライアントにだけIP通信を許可することができます。

Note
DHCP Snoopingとローミング認証(auth roaming enableコマンド)、DHCP SnoopingとゲストVLAN(auth guest-vlanコマンド)は併用できません。
Note
DHCP SnoopingとマルチプルVLAN(プライベートVLAN)を併用する場合は、以下に注意してください。
Note
DHCP Snoopingとダブルタグ環境におけるVLANトランスレーションを同一ポート上で併用する場合は、DHCP Snoopingを有効化するservice dhcp-snoopingコマンドの実行時にper-vlanオプションを指定してください。

概要

DHCP Snoopingでは、DHCPメッセージのやりとりを監視してDHCPクライアントがどのポート配下に存在するかを追跡し、その情報に基づいてIPパケットのフィルタリングを行います。

DHCP Snoopingを利用する場合は、次の図のように本製品をDHCPサーバーとDHCPクライアントの間に配置します。このとき、本製品がDHCP/BOOTPリレーエージェントとして動作していてもかまいません。


DHCP Snoopingでは、スイッチポートを次の2つに分類・設定します。デフォルトではすべてのポートがUntrustedポートとして設定されています。


DHCP Snoopingを有効にすると、本製品はDHCPサーバー・クライアント間で交換されるDHCPメッセージを監視するようになります。

Untrustedポートに接続されているクライアントがDHCPサーバーからIPアドレスの割り当てを受けると、本製品はクライアントのIPアドレスやMACアドレス、ポート番号などをDHCP Snoopingテーブル(バインディングデータベース)に登録します。

Untrustedポートでは、バインディングデータベースに登録されているクライアントからのIPパケットだけを許可し、その他のIPパケットは破棄します。これにより、不正に接続されたクライアントがポートを越えてネットワークにアクセスすることを防ぐことができます。

Trustedポートで受信したパケットは通常どおり転送されます。フィルタリング機能を用いることによって破棄することが可能ですが、DHCPパケットを破棄することはできません。

基本設定

DHCP Snoopingを使用するための基本的な設定手順は次のとおりです。

ここでは、ポート1.0.1にDHCPサーバーが接続されており、ポート1.0.5には不特定多数のDHCPクライアントが接続されるものと仮定します。

  1. DHCP Snoopingを有効にします。
    awplus(config)# service dhcp-snooping
    

  2. vlan1でDHCP Snoopingを有効にします。これには、ip dhcp snoopingコマンドを使います。
    awplus(config)# interface vlan1
    awplus(config-if)# ip dhcp snooping
    awplus(config-if)# exit
    

  3. ポート1.0.1をTrustedポートに設定します。これには、ip dhcp snooping trustコマンドを使います。
    awplus(config)# interface port1.0.1
    awplus(config-if)# ip dhcp snooping trust
    awplus(config-if)# exit
    

  4. Untrustedポート(1.0.5)には複数のDHCPクライアントが接続されるため、許可するDHCPリースの最大数を50に設定します(初期設定は1のため、複数のDHCPクライアントを接続できません)。これには、ip dhcp snooping max-bindingsコマンドを使います。
    awplus(config)# interface port1.0.5
    awplus(config-if)# ip dhcp snooping max-bindings 50
    awplus(config-if)# exit
    

  5. Untrustedポート(1.0.5)でフィルタリングを行うために必要なハードウェアアクセスリストを作成します。

    まずはaccess-list hardware(list)コマンドでアクセスリスト名(ここでは「ds1」)を指定し、ハードウェアアクセスリストモードに入ります。
    awplus(config)# access-list hardware ds1
    

    次にaccess-list hardware(seq entry)コマンドで具体的なフィルタリング内容を定義します。
    awplus(config-ip-hw-acl)# 2 permit ip dhcpsnooping any
    awplus(config-ip-hw-acl)# 100 deny ip any any
    awplus(config-ip-hw-acl)# exit
    
    1つ目のエントリー(シーケンス番号2)は、DHCP Snoopingテーブル(バインディングデータベース)内の有効なエントリーに含まれるIPアドレスからの通信だけを許可する、すなわち、DHCPサーバーからIPアドレスの割り当てを受けたクライアントからのIPパケットだけを通過させるためのものです。
    2つ目のエントリー(シーケンス番号100)は、その他のパケットをすべて破棄するためのものです。

  6. Untrustedポート(1.0.5)に対して、手順5で作成したハードウェアアクセスリストを適用します。
    awplus(config)# interface port1.0.5
    awplus(config-if)# access-group ds1
    

  7. 以上で設定は完了です。

■ DHCP Snoopingの全般的な情報を確認するには、show ip dhcp snoopingコマンドを使います。
awplus# show ip dhcp snooping

■ ポートごとのDHCP Snooping設定を確認するには、show ip dhcp snooping interfaceコマンドを使います。
awplus# show ip dhcp snooping interface

■ バインディングデータベースの内容を確認するには、show ip dhcp snooping bindingコマンドを使います。
awplus# show ip dhcp snooping binding

Note
バインディングデータベースにエントリーが存在しない場合、DHCPリリースパケットを受信すると、その受信したポートにおいてviolationが動作します。


(C) 2012 - 2020 アライドテレシスホールディングス株式会社

PN: 613-001763 Rev.AK