Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DHCP スヌーピング

DHCP(Dynamic Host Configuration Protocol)スヌーピングは、ルーター、スイッチ、またはファイアウォールに接続された信頼できないデバイスからのDHCPメッセージを検証することで、ネットワークセキュリティを強化し、許可されていないDHCPサーバーが信頼できないポートでDHCPOFFERパケットを送信することを防止します。

DHCP スヌーピングのサポート

動的ホスト構成プロトコル(DHCP)は、TCP/IPネットワークで使用されるネットワーク管理プロトコルで、IPアドレスやその他の関連する構成情報をネットワークデバイスに動的に割り当てるために使用します。

DHCP スヌーピングの仕組み

動的ホスト構成プロトコル(DHCP)は、デバイスにIPアドレスを動的に割り当て、不要になったときに再利用できるアドレスをリースします。DHCP経由でIPアドレスを必要とするホストまたはエンドデバイスは、LANを介してDHCPサーバーと通信する必要があります。

次の図は、DHCP スヌーピング プロセスを示しています。

図 1: DHCP スヌーピング DHCP Snooping

このトポロジーでは、エンドユーザーデバイスがJunos OSデバイス(ルーター、スイッチ、またはファイアウォール)に接続します。Junos OSデバイスは、DHCPクライアントとDHCPサーバーの両方に接続します。DHCPリレーエージェントとして設定されたJunos OSデバイスは、DHCPクライアントとDHCPサーバー間のインターフェイスとして動作します。このJunos OSデバイスは、DHCPパケットを検査します。DHCP サーバーは、クライアントに IP アドレスを割り当てます。

Junos OS デバイスの DHCP スヌーピング機能は、以下のアクションを実行します。

  • 信頼できない送信元から受信したDHCPメッセージを検証し、無効なメッセージを除外します。
  • 各クライアントにリースされているIPアドレスを抽出し、データベースを構築します。DHCPスヌーピングデータベース(またはバインディングテーブル)には、各DHCPクライアントのIPアドレス、MACアドレス、およびVLANに関する情報が含まれています。
  • DHCP スヌーピング バインディング テーブルを使用して、信頼できないホストからの後続の要求を検証します。DHCP要求が信頼できる送信元から来ていることを確認することで、ジュニパーデバイスは有効なDHCP要求のみが処理されるようにすることができます。

このように、DHCP スヌーピングは、信頼できる DHCP サーバー(信頼できるネットワーク ポートに接続されたサーバー)がダウンストリーム ネットワーク デバイスに割り当てる有効な IP アドレスを追跡することで、ネットワーク セキュリティの守護者として機能します。

DHCPv6リレーエージェントのスヌーピング

DHCPv6 リレー エージェントは、IPv6 ネットワークでサポートを提供することで、DHCP リレー エージェントを拡張します。DHCPv6 リレー エージェントは、DHCP リレー エージェントが IPv4 ネットワークをサポートする方法と同様に、DHCPv6 クライアントと DHCPv6 サーバー間でメッセージを渡します。クライアントとサーバー間に複数の DHCPv6 リレー エージェントが存在するマルチリレー トポロジーでは、スヌーピングにより、介在するリレー エージェントがクライアントからのユニキャスト トラフィックを正しく処理し、サーバーに転送できます。このトポロジーでのスヌーピングには、次のアクションが含まれます。

  • DHCPv6 リレー エージェントは、転送テーブル単位で、DHCPv6 UDP サーバ ポートである UDP ポート 547 のフィルタを使用して、受信ユニキャスト DHCPv6 パケットをスヌーピングします。
  • 次に、DHCPv6 リレー エージェントは、フィルターによって傍受されたパケットを処理し、パケットを DHCPv6 サーバーに転送します。

DHCP スヌーピングのメリット

  • DHCP スヌーピングは、IP アドレスをフィルタリングすることで、追加のセキュリティ層を提供できます。フィルタリングプロセスでは、ネットワークトラフィックを評価して、検証済みの有効なIPアドレスからの通信を許可します。
  • DHCPスヌーピングは、間違ったポートに到着するDHCPパケットや不正な内容を持つDHCPパケットをフィルタリングすることで、ネットワーク内の不正なDHCPアクティビティを防ぐことができます。

例:DHCP リレー エージェントの DHCP スヌーピング サポートの設定

次に、DHCP リレー エージェントの DHCP スヌーピング サポートを設定する例を示します。

必要条件

概要

この例では、以下の操作を実行して、DHCP リレー エージェントの DHCP スヌーピング サポートを設定します。

  • デフォルトのDHCPスヌーピング設定を上書きし、グループ frankfurtのインターフェイスのDHCPスヌーピングサポートを有効にします。

  • DHCP リレー エージェントを設定して、スヌーピングされたパケットを設定されたインターフェイスのみに転送します。

構成

プロシージャ

手順

DHCP スヌーピングの DHCP リレー サポートを設定するには:

  1. DHCP リレー エージェントを構成することを指定します。

  2. DHCP スヌーピングがサポートされているインターフェイスの名前付きグループを指定します。

  3. グループに含めるインターフェイスを指定します。DHCPリレーエージェントは、トラフィックを転送するかドロップするかを決定する際に、これらを設定されたインターフェイスと見なします。

  4. グループのデフォルト設定を上書きすることを指定します。

  5. グループの DHCP スヌーピング サポートを有効にします。

  6. [edit forwarding-options dhcp-relay] 階層レベルに戻り、転送アクションを設定し、DHCP リレー エージェントが設定されたインターフェイスのみでスヌーピングされたパケットを転送するように指定します。

  7. DHCP リレー エージェントの DHCP スヌーピング パケット転送を有効にします。

  8. スヌーピングされたパケットが設定されたインターフェイス(グループ frankfurtのインターフェイス)でのみ転送されることを指定します。

業績

設定モードから、 show forwarding-options コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。また、次の出力は、グループ frankfurt で設定されたインターフェイスの範囲を示しています。

デバイスの設定が完了したら、設定モードから commit を入力します。

DHCP スヌーピングの有効化

Junos OSデバイスでは、特定のVLANまたはルーティング インスタンスに対してDHCPセキュリティ、DHCPリレー、DHCPサーバー設定を構成すると、DHCPスヌーピング機能が自動的に有効になります。

Junos OSデバイスでは、DHCPスヌーピングを独立した機能として設定できないことに注意してください。

Junos OS では、以下の機能のいずれか、またはすべてを設定した場合、スイッチ、ルーター、ファイアウォールで DHCP スヌーピングが有効になります。

  • 以下の階層レベルでのDHCPリレーまたはDHCPローカルサーバーのオプション:
    • [edit forwarding-options] または [edit routing-instances routing-instance-name forwarding-options] 階層レベルの dhcp-relay ステートメント。
    • [edit system services]または[edit routing-instances routing-instance-name system services]階層レベルのdhcp-local-server ステートメント。
      手記:

      DHCPリレーを設定する場合、加入者管理やサービスクラス(CoS)が必要でない限り、 forward-only ステートメントを使用します。 forward-only 設定では、加入者セッションを作成せずに、指定されたDHCPクライアントパケットが転送されます。

  • 特定のVLANのDHCPセキュリティは、そのVLANのDHCPスヌーピングをアクティブにします。

    スイッチの[edit vlans vlan-name forwarding-options]階層レベルでの dhcp-security ステートメント。

  • ルーターの[edit bridge-domains bridge-domain-name forwarding-options dhcp-security]階層レベルでのdhcp-securityステートメント。
  • DHCP ローカル サーバーを設定して、すべてのインターフェイス、設定済みインターフェイスのみ、または非設定インターフェイスのみのスヌーピングされたパケットを転送またはドロップできます。詳細については、「 DHCP ローカル サーバの DHCP スヌーピング パケット転送サポートの設定 」を参照してください。

DHCP リレー エージェントの DHCP スヌーピング済みパケットの転送

forward-snooped-clients ステートメントを使用すると、DHCP スヌーピング動作の制御をさらに細かくすることができます。

forward-snooped-clientsステートメントを使用して、インターフェイス設定に基づいて、監視されたトラフィックを転送するかドロップするかを決定できます。

  1. スヌーピングされたトラフィックを評価し、後でトラフィックを転送するかドロップするかを決定するには、[edit forwarding-options dhcp-relay] 階層レベルで forward-snooped-clients ステートメントを設定します。

    forward-snooped-clients オプションは、以下のシナリオで設定できます。

    • すべてのインターフェイス: すべてのインターフェイスにアクションを適用します。
    • 設定されたインターフェイス:インターフェイスグループの一部として設定されたインターフェイスにのみアクションを適用します。
    • 非設定インターフェイス:インターフェイスグループに属していないインターフェイスにのみアクションを適用します。
  2. スヌーピングされたパケットを転送またはドロップするには、forward-snooped-clients オプションでそれぞれ allow-snooped-clients または no-allow-snooped-clients を設定します。
    • allow-snooped-clientsを設定すると、有効な加入者が関連付けられていれば、スヌーピングされたパケットが転送されます。
    • no-allow-snooped-clientsを設定すると、有効な加入者が関連付けられていても、スヌーピングされたパケットは破棄されます。

allow-snooped-clientsまたはno-allow-snooped-clientsforward-snooped-clientsの組み合わせに基づいて、デバイスがDHCPスヌーピングパケットに対して実行するアクションの詳細については、表1および表2を参照してください。

表 1 は、オプションで allow-snooped-clients を設定した場合に、DHCP リレー エージェントによってスヌーピングされたパケットに対してデバイスが実行するアクション forward-snooped-clients を示しています。

表 1:スヌーピング パケット転送を有効にした場合のスヌーピング パケットに対するデバイス アクション

構成の適用対象

設定されたインターフェイスでのアクション

設定されていないインターフェイスでのアクション

すべてのインターフェイス

転送

転送

設定済みインターフェイス

転送

削除

非設定インターフェイス

スヌーピングされたDHCPパケットは、DHCPスヌーピングデータベースに加入者エントリーを作成します。

転送

設定なし

スヌーピングされたDHCPパケットは、DHCPスヌーピングデータベースに加入者エントリーを作成します。

削除

表 2 は、forward-snooped-clientsno-allow-snooped-clients を設定した場合に、DHCP リレー エージェントによってスヌーピングされたパケットに対してデバイスが実行するアクションを示しています。

表 2: スヌーピング パケット転送を無効にした場合のスヌーピング パケットに対するデバイス アクション

構成の適用対象

設定されたインターフェイスでのアクション

設定されていないインターフェイスでのアクション

すべてのインターフェイス

削除 転送

設定済みインターフェイス

削除 削除

非設定インターフェイス

削除 転送

設定なし

削除 削除

DHCP リレー エージェントのスヌーピング中、デバイスはグローバル設定に基づいて、BOOTREPLY パケットを転送するか破棄するかを決定します。さらに、リースの更新中に、BOOTPREQUEST パケットが DHCP サーバーに直接ユニキャストされる可能性があり、このパケットもスヌーピングの対象となります。

表 3 は、スヌーピングされた BOOTREPLY パケットに対してデバイスが実行するアクションを示しています。

表 3:スヌーピングされたBOOTREPLYのアクションパケット
構成状態 アクション
forward-snooped-clients 設定されていません クライアントが見つからない場合にドロップされるスヌーピングされた BOOTREPLY パケット
forward-snooped-clients 構成 クライアントが見つからない場合に転送されるスヌーピングされた BOOTREPLY パケット

デフォルト設定と forward-snooped-clients ステートメントを使用した設定の両方で、デバイスは DHCP パケットを傍受するために、ハードウェア コントロール プレーン上のすべての DHCP トラフィックをルーティング インスタンスのルーティングプレーンに転送します。

no-snoop オプションを使用すると、DHCP トラフィックのスヌーピング フィルターを無効にすることができます。

no-snoopオプションを設定すると、DHCPトラフィックはハードウェアコントロールプレーンに送られますが、ルーティングプレーンをバイパスしてそこでの傍受を回避します。

DHCP スヌーピング設定

DHCP スヌーピングをグローバルに、またはインターフェイス グループ上、またはグループ内の特定のインターフェイスで有効または無効にするには、次の設定オプションを使用します。
  • インターフェイスグループの設定
    DHCP スヌーピングをサポートするインターフェイスの名前付きグループを作成します。このグループには、共通の DHCP または DHCPv6 リレー エージェント設定を持つインターフェイスを含める必要があります。インターフェイスをグループに追加するには、インターフェイス名を指定する必要があります。DHCP リレー エージェントは、トラフィックを転送するかドロップするかを決定する際に、これらのインターフェイスを設定されたインターフェイスと見なします。
    • DHCP リレー エージェントの場合:

    • DHCPv6 リレー エージェントの場合:
  • デフォルトDHCPリレースヌーピングの上書き
    デバイス上のデフォルトの DHCP リレー スヌーピング設定を上書きして、スヌーピング サポートを明示的に有効または無効にできます。下位のステートメントなしで overrides ステートメントを指定すると、その階層レベルでのすべての DHCP リレー エージェントのオーバーライドが削除されます。インターフェイスの名前付きグループ、またはインターフェイスの名前付きグループで特定のインターフェイスのデフォルト設定を上書きできます。
    グローバルレベルでは、DHCPリレーエージェントとDHCPv6リレーエージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

    インターフェイスの名前付きグループでは、DHCP リレー エージェントと DHCPv6 リレー エージェントにそれぞれ次のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合
    グループ内の特定のインターフェイスでは、DHCP リレー エージェントと DHCPv6 リレー エージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

  • スヌーピングされたパケットの処理を有効にする

    ルーターは、パケットに関連付けられた加入者がいない場合、デフォルトでスヌーピングされたパケットを廃棄します。デフォルトのDHCP設定を上書きし、リレーエージェントがスヌーピングされたクライアントからDHCPメッセージを転送できるようにするには、 allow-snooped-clients ステートメントを明示的に設定する必要があります。

    グローバルレベルでは、DHCPリレーエージェントとDHCPv6リレーエージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

    インターフェイスグループでは、DHCPリレーエージェントとDHCPv6リレーエージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

    グループ内の特定のインターフェイスについては、以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

  • スヌーピングされたクライアントからのDHCPメッセージ転送の防止

    デフォルトのDHCP設定を上書きし、リレーエージェントがスヌーピングされたクライアントからのメッセージを転送しないようにするには、次のコマンドを使用します。

    グローバルレベルでは、DHCPリレーエージェントとDHCPv6リレーエージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合
    • DHCPv6 リレー エージェントの場合
    インターフェイスグループでは、DHCPリレーエージェントとDHCPv6リレーエージェントにそれぞれ以下のステートメントを使用します。
    • DHCP リレー エージェントの場合
    • DHCPv6 リレー エージェントの場合
    グループ内の特定のインターフェイスについては、以下のステートメントを使用します。
    • DHCP リレー エージェントの場合

    • DHCPv6 リレー エージェントの場合

  • スヌーピングされたパケットの転送
    DHCP リレー エージェントの DHCP スヌープ パケット転送を有効にします。すべてのインターフェイス、すべての設定済みインターフェイス、または未設定インターフェイスを指定できます。

DHCP スヌーピング パケット転送の設定例

  1. DHCP リレー エージェントの名前付きグループを設定し、グループにインターフェイスを追加します。DHCP リレー エージェントは、トラフィックを転送するかドロップするかを決定する際に、これらのインターフェイスを設定済みインターフェイスと見なします。
  2. オプションを設定して、グループのリレーエージェントのデフォルト設定を上書きします。
  3. グループの DHCP スヌーピング サポートを有効にします。
  4. DHCP リレー エージェントが、設定されたインターフェイス上でのみスヌーピングされたパケットを転送する必要があることを指定します。この場合、設定されたインターフェイスはグループclient-group-1に含まれています。
  5. グループclient-group-2のインターフェイスge-2/0/1.4でDHCPスヌーピングサポートを無効にします。
先端:

DHCPユーザーガイドを読み、DHCPトレースオプションが有効になっているラボを使用して、設定を確認して理解することをお勧めします。