このページの内容
DHCP オプションと選択的トラフィック処理
DHCP オプションと選択的トラフィック処理の概要
加入者管理では、トラフィックに含まれるDHCPおよびDHCPv6オプション文字列で提供される情報に基づいて、選択的なトラフィック処理を提供できます。Junos OSリリース15.1以降、選択的トラフィック処理機能を使用して、拡張DHCPおよびDHCPv6リレーエージェントを使用してマルチベンダーネットワークを管理できるようになりました。拡張DHCPおよびDHCPv6リレーエージェントを有効にして、DHCPクライアントパケットで受信したオプション固有の文字列を、ルーターで設定したASCIIまたは16進数文字列のリストと比較することができます。選択的トラフィック処理機能を使用すると、DHCP クライアント パケット内のオプションに基づいてトラフィックを識別し、トラフィックをフィルタリングし、DHCP リレーがトラフィックに対して実行するアクションを指定できます。DHCP オプション 60 および 77 と DHCPv6 オプション 15 および 16 を使用して、クライアントトラフィックを識別できます。特定のDHCPサーバーへのトラフィックの転送やトラフィックのドロップなど、選択したトラフィックに対してルーターが実行するアクションを設定します。DHCP リレーエージェントの選択的トラフィック処理では、設定を満たすアクションが他にない場合にルーターが使用するデフォルトアクションを指定することもできます。
選択的トラフィック処理の使用は、DHCPクライアントが複数のベンダーおよび複数のDHCPサーバーによって提供されるサービスにアクセスするネットワーク環境で役立ちます。例えば、DHCP クライアントは、あるベンダーが提供する特定の DHCP サーバーからインターネット アクセスを取得し、別のベンダーが所有する別の DHCP サーバーから IPTV サービスにアクセスする場合があります。DHCP クライアントパケットのオプション固有の情報を使用することで、DHCP リレーエージェントは 2 つのサーバーを区別し、加入者に対して正しいアクションを実行できます。
また、選択的処理を使用して、同じインターフェイス上の異なるDHCP加入者へのサービスを区別することもできます。たとえば、ある世帯に、サービスプロバイダのDHCPサーバーからIPアドレスを取得する2つのIPデバイスが含まれているとします。サービスプロバイダは、デバイスの1つを受信インターフェイスにバインドし、そのアドレスを他の世帯と共有することができます。同時に、サービスプロバイダは、セカンドデバイスに独自のフィルターとCoS機能を持たせたいと思うかもしれません。この 2 番目のデバイスでは、サービス プロバイダーは選択的処理を使用して動的 IP デモックス インターフェイスを作成できます。
選択的処理サポートは、グローバルに設定することも、インターフェイスの名前付きグループに対して設定することもできます。また、拡張DHCPリレーエージェントのサポートを論理システムごと、ルーティングインスタンスごとに設定することもできます。
選択的処理を設定するには、トラフィックを識別するDHCPまたはDHCPv6オプション属性、トラフィックのフィルタリングに使用される一致基準、フィルタリングされたトラフィックに対して実行するアクションを指定します。
以下のDHCPオプションを使用して、クライアントトラフィックを選択的に処理できます。
DHCPv4オプション60(ベンダークラス識別子)
DHCPv4オプション77(ユーザークラス識別子)
DHCPv6 オプション 15(ユーザー クラス オプション)
DHCPv6 オプション 16(ベンダー クラス オプション)
完全一致または部分一致の基準を設定してクライアントトラフィックをフィルタリングし、 ascii オプション(1〜255文字の英数字の非空のASCII文字列を定義する)または hexadecimal オプション(1〜255文字の16進文字[0〜9、A〜f、A〜F]の16進数文字列を定義する)のいずれかを指定できます。
DHCP オプション 77 および DHCPv6 オプション 16 の形式のため、ASCII マッチングではなく、これら 2 つのオプションでのみ 16 進数マッチを設定することをお勧めします。
一致する文字列の数は無制限に設定できます。文字列を完全一致(equals)と部分一致(starts-with) の両方の基準として設定した場合、完全一致が優先されます。ワイルドカード文字は、完全一致または部分一致の文字列ではサポートされていません。
以下の一致基準を使用して、クライアントトラフィックをフィルタリングします。
equals—指定した文字列は、クライアントトラフィックのオプション文字列と完全に一致します。starts-with—指定した文字列は、クライアントトラフィックのオプション文字列のサブセットで、左端の文字から始まります。たとえば、文字列「test」の設定は、クライアントのオプション文字列内の「test123」のサブセットであり、starts-with基準に一致します。default-action—クライアントトラフィックのオプション文字列が一致基準を満たしていないか、一致基準が設定されていません。注:default-actionはオプションです。一致基準が満たされていないか、構成されておらず、default-actionが設定されていない場合、DHCP リレーは通常どおりトラフィックを処理します。
フィルタリングされたクライアントトラフィックに対して、以下のアクションを指定できます。
drop—トラフィックを破棄します。forward-only—新しい加入者セッションを作成せずに、トラフィックを転送します。注:forward-onlyアクションを使用する場合、サポートされる設定済みのoverrides操作はtrust-option-82オプションのみをサポートします。DHCP リレーエージェントは、設定されている他のすべてのoverridesオプションを無視します。local-server-group—要求されたクライアントサービスを提供するDHCPローカルサーバーの指定されたグループにトラフィックを転送します。このオプションは、DHCPv6リレーエージェントではサポートされていません。relay-server-group—要求されたクライアントサービスを提供するDHCPサーバーの指定されたグループにトラフィックを転送します。
DHCP オプション情報を使用して、DHCP クライアントトラフィックを選択的に処理する
Junos OSリリース15.1以降、クライアントトラフィックを選択的に処理するようにDHCPリレーエージェントを設定できるようになりました。選択的処理では、DHCPまたはDHCPv6オプション情報を使用して、クライアントトラフィックを識別、フィルタリング、処理します。DHCPv6サポートを設定するには、 [edit forwarding-options dhcp-relay dhcpv6] 階層レベルで手順を使用します。
オプション情報を使用して DHCP クライアントトラフィックを選択的に処理するように DHCP リレーエージェントを設定するには:
DHCP オプション文字列に基づく選択的処理中にドロップまたは転送された DHCP パケットの数を表示します
選択的処理中にドロップまたは転送されたDHCPまたはDHCPv6クライアントパケットの数を表示するには、以下の運用コマンドを使用します。
例:DHCP オプション文字列に基づいた DHCP リレー エージェント選択的トラフィック処理の設定
この例では、DHCP オプション文字列を使用してクライアント トラフィックを選択的に識別、フィルタリング、処理するように DHCP リレー エージェントを設定する方法を示します。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
MXシリーズ 5GユニバーサルルーティングプラットフォームまたはEXシリーズスイッチ
DHCPリレーエージェントの選択的処理サポートを設定する前に、必ず以下を確認してください。
DHCP リレー エージェントを設定します。
拡張DHCPリレーエージェントの概要を参照してください。
(オプション)クライアントトラフィックをサーバーグループに転送する場合は、名前付きDHCPローカルサーバーグループを設定します。
一般的なDHCP設定によるインターフェイスのグループ化を参照してください。
概要
この例では、クライアントパケットでDHCPオプション文字列を使用して、クライアントトラフィックを選択的に識別、フィルタリング、処理するようにDHCPリレーエージェントを設定します。選択的処理を設定するには、以下の手順を実行します。
クライアントトラフィックの特定—DHCPリレーエージェントが処理するクライアントトラフィックを特定するために使用するDHCPオプションを指定します。指定したオプションは、クライアントトラフィック内のオプションと一致します。
デフォルトのアクションを設定—設定された一致基準を満たさない識別済みクライアントトラフィックに対してDHCPリレーが使用するデフォルトの処理アクションを指定します。
一致フィルターを作成し、各フィルターにアクションを関連付ける—クライアントトラフィックをフィルタリングする一致基準を指定します。基準は、クライアントトラフィック内のオプション文字列と完全に一致するか、部分的に一致させることができます。処理アクションを各一致基準に関連付けます。
設定
DHCP オプション情報に基づいて DHCP リレーエージェントの選択処理を設定するには、以下のタスクを実行します。
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストします。
set forwarding-options dhcp-relay relay-option option-number 60 set forwarding-options dhcp-relay relay-option equals ascii video-gold forward-only set forwarding-options dhcp-relay relay-option equals ascii video-bronze local-server-group servergroup-15 set forwarding-options dhcp-relay relay-option starts-with hexadecimal fffff local-server-group servergroup-east set forwarding-options dhcp-relay relay-option default-action drop
DHCP オプション文字列に基づいてクライアントトラフィックを選択的に処理する DHCP リレーエージェントの設定
ステップバイステップの手順
DHCPリレー選択的処理を設定するには:
DHCP リレーエージェントサポートを設定することを指定します。
[edit forwarding-options] user@host#
edit dhcp-relayDHCPリレーエージェントが受信クライアントトラフィックを識別するために使用するDHCPオプションを指定します。
[edit forwarding-options dhcp-relay] user@host#
set relay-option option-number 60受信クライアントトラフィックが設定された一致基準を満たさない場合にDHCPリレーエージェントが使用するデフォルトのアクションを設定します。
[edit forwarding-options dhcp-relay] user@host#
set relay-option default-action dropDHCPリレーが識別されたクライアントトラフィックを処理するために使用する完全一致条件と関連するアクションを設定します。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-goldforward-onlyDHCPリレーがクライアントトラフィックを処理するために使用する2つ目の完全一致条件と、関連するアクションを設定します。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-bronzelocal-server-group servergroup-15DHCPリレーがクライアントトラフィックを処理するために使用する部分一致基準と関連するアクションを設定します。
[edit forwarding-options dhcp-relay] user@host#
set relay-option starts-with hexadecimal fffff local-server-group servergroup-east
結果
設定モードから、[edit forwarding-options]階層レベルでshowステートメントを発行して、設定の結果を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit forwarding-options]
user@host# show
dhcp-relay {
relay-option {
option-number 60;
equals {
ascii video-gold {
forward-only;
}
}
equals {
ascii video-bronze {
local-server-group servergroup-15;
}
}
default-action {
drop;
}
starts-with {
hexadecimal fffff {
local-server-group servergroup-east;
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
DHCP リレーエージェントの選択的トラフィック処理のステータスを確認するには、次のタスクを実行します。
DHCP リレーエージェントの選択的トラフィック処理のステータスの検証
目的
DHCP リレー エージェントの選択的トラフィック処理ステータスを確認します。
アクション
DHCPリレーエージェントの統計情報を表示します。
user@host> show dhcp relay statistics
Packets dropped:
Total 30
Bad hardware address 1
Bad opcode 1
Bad options 3
Invalid server address 5
No available addresses 1
No interface match 2
No routing instance match 9
No valid local address 4
Packet too short 2
Read error 1
Send error 1
Option 60 1
Option 82 2
Messages received:
BOOTREQUEST 116
DHCPDECLINE 0
DHCPDISCOVER 11
DHCPINFORM 0
DHCPRELEASE 0
DHCPREQUEST 105
Messages sent:
BOOTREPLY 0
DHCPOFFER 2
DHCPACK 1
DHCPNAK 0
DHCPFORCERENEW 0
Packets forwarded:
Total 4
BOOTREQUEST 2
BOOTREPLY 2
意味
show dhcp relay statisticsコマンド出力のPackets forwardedフィールドには、選択的トラフィック処理設定の結果として転送されたクライアントパケットの数が表示されます。この例では、出力は、DHCPリレーエージェントが転送したパケットの総数と、転送されたBOOTREQUESTとBOOTREPLYパケット数の内訳を示しています。
例:DHCPおよびDHCPv6リレーエージェントグループレベルの選択的トラフィック処理の設定
この例では、DHCPv6リレーエージェントの選択的処理用の名前付きインターフェイスグループベースのサポートを設定する方法を示しています。このサポートは、DHCPv6リレーエージェントの選択的処理です。この処理は、DHCPオプション文字列を使用してクライアントトラフィックを識別、フィルタリング、処理します。
この例では、DHCPv6リレーエージェントの設定について説明します。DHCPv6リレーエージェントグループの関連手順を [edit forwarding-options dhcp-relay] 階層レベルで設定できます。DHCPv6 選択的処理は、DHCPv6 オプション 15 および 16 をサポートします。DHCP 選択的処理は、オプション 60(MXシリーズ ルーターのみ)とオプション 77 をサポートします。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
MXシリーズ5GユニバーサルルーティングプラットフォームまたはPTXシリーズパケットトランスポートルーター
DHCPv6リレーエージェントの選択的処理サポートを設定する前に、必ず以下を確認してください。
DHCPv6リレーエージェントを設定します。
拡張DHCPリレーエージェントの概要とDHCPv6リレーエージェントの概要を参照してください。
設定に使用するDHCPv6名前付きインターフェイスグループを設定します。
一般的なDHCP設定によるインターフェイスのグループ化を参照してください。
処理アクションに使用するDHCPv6サーバーグループを設定します。
一般的なDHCP設定によるインターフェイスのグループ化を参照してください。
概要
この例では、DHCPv6オプション文字列に基づいてクライアントパケットを選択的に処理するためのグループレベルのDHCPv6リレーエージェントのインターフェイスサポートを設定します。選択的処理を設定するには、以下の手順を実行します。
クライアントトラフィックの特定—DHCPv6リレーエージェントが処理するクライアントトラフィックを特定するために使用するDHCPv6オプションを指定します。指定したDHCPv6オプションが、クライアントトラフィックのオプションと一致します。
デフォルトのアクションを設定する—設定された一致基準を満たさない識別済みクライアントトラフィックにDHCPv6リレーが使用するデフォルトの処理アクションを指定します。
一致フィルターを作成し、各フィルターにアクションを関連付ける—クライアントトラフィックをフィルタリングする一致基準を指定します。基準は、クライアントトラフィックのDHCPv6オプション文字列と完全に一致するか、部分的に一致する可能性があります。各一致条件に処理アクションを関連付けます。
設定
DHCPv6 オプション情報に基づいてグループレベルの DHCPv6 リレーエージェントの選択処理を設定するには、以下のタスクを実行します。
- CLIクイックコンフィグレーション
- DHCPv6オプション文字列に基づいてクライアントトラフィックを選択的に処理するためのインターフェイスグループという名前のDHCPv6リレーエージェントの設定
- 結果
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストします。クイック設定では、指定されたインターフェイスグループとDHCPサーバーグループが以前に設定されていることを前提としています。
set forwarding-options dhcp-relay dhcpv6 group groupv6-east-27 set forwarding-options dhcp-relay dhcpv6 relay-option option-number 15 set forwarding-options dhcp-relay dhcpv6 relay-option equals ascii triple-gold relay-server-group relayserver-triple-8 set forwarding-options dhcp-relay dhcpv6 relay-option equals ascii triple-silver relay-server-group relayserver-triple-23 set forwarding-options dhcp-relay dhcpv6 relay-option starts-with ascii single relay-server-group relayserver-1-aa set forwarding-options dhcp-relay dhcpv6 relay-option default-action drop
DHCPv6オプション文字列に基づいてクライアントトラフィックを選択的に処理するためのインターフェイスグループという名前のDHCPv6リレーエージェントの設定
ステップバイステップの手順
この手順は、以前に名前付きインターフェイスグループとDHCPv6サーバーグループを作成していることを前提としています。DHCPv6リレーグループレベルの選択的処理を設定するには:
DHCPv6リレーエージェントサポートを設定することを指定します。
[edit forwarding-options] user@host#
edit dhcp-relay dhcpv6グループレベルのDHCPv6リレーエージェントサポートを設定することを指定します。
[edit forwarding-options dhcp-relay dhcpv6] user@host#
edit group groupv6-east-27DHCPv6 リレー エージェントが受信クライアント トラフィックを識別するために使用する DHCPv6 オプション番号を指定します。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option option-number 15受信クライアントトラフィックが設定された一致基準を満たさない場合にDHCPv6リレーエージェントが使用するデフォルトアクションを設定します。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option default-action relay-server-group relayserver-def-4DHCPv6リレーが識別されたクライアントトラフィックを処理するために使用する完全一致条件と関連するアクションを設定します。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option equals ascii triple-gold relay-server-group relayserver-triple-8DHCPv6リレーがクライアントトラフィックを処理するために使用する2つ目の完全一致条件と、関連するアクションを設定します。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option equals ascii triple-silver relay-server-group relayserver-triple-23DHCPv6リレーがクライアントトラフィックを処理するために使用する部分一致基準と関連するアクションを設定します。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option starts-with ascii single relay-server-group relayserver-1-aa
結果
設定モードから、[edit forwarding-options dhcp]階層レベルでshowステートメントを発行して設定の結果を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
dhcpv6 {
group test-1 {
relay-option {
option-number 15;
equals {
ascii triple-gold {
relay-server-group relayserver-triple-8;
}
ascii triple-silver {
relay-server-group relayserver-triple-23;
}
}
default-action {
relay-server-group relayserver-def-4;
}
starts-with {
ascii single {
relay-server-group relayserver-1-aa;
}
}
}
interface ge-1/0/0.0 upto ge-1/1/0.0;
}
server-group {
relayserver-1-aa;
relayserver-triple-8;
relayserver-triple-23;
relayserver-def-4;
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
DHCPv6リレーエージェントの選択的トラフィック処理のステータスを検証するには、以下のタスクを実行します。
DHCPv6リレーエージェントの選択的トラフィック処理のステータスの検証
目的
DHCPv6 リレーエージェントの選択トラフィック処理ステータスを確認します。
アクション
DHCPv6リレーエージェントの統計情報を表示します。
user@host> show dhcpv6 relay statistics
DHCPv6 Packets dropped:
Total 0
Messages received:
DHCPV6_DECLINE 0
DHCPV6_SOLICIT 10
DHCPV6_INFORMATION_REQUEST 0
DHCPV6_RELEASE 0
DHCPV6_REQUEST 10
DHCPV6_CONFIRM 0
DHCPV6_RENEW 0
DHCPV6_REBIND 0
DHCPV6_RELAY_REPL 0
Messages sent:
DHCPV6_ADVERTISE 0
DHCPV6_REPLY 0
DHCPV6_RECONFIGURE 0
DHCPV6_RELAY_FORW 0
Packets forwarded:
Total 4
FWD REQUEST 2
FWD REPLY 2
意味
show dhcpv6 relay statisticsコマンド出力のPackets forwardedフィールドには、選択的トラフィック処理設定の結果として転送されたクライアントパケットの数が表示されます。この例では、DHCPv6リレーエージェントが転送したパケットの総数と、転送されたFWD REQUESTとFWD REPLYパケット数の内訳が出力されます。
異なるVRF内のDHCPクライアントとDHCPサーバー間のDHCPメッセージ交換
一部のサービスプロバイダネットワークでは、DHCPサーバーが存在するサービスネットワークが実際の加入者ネットワークから分離されています。このようなサービスネットワークと加入者ネットワークの分離は、ルート漏えいなどの潜在的なセキュリティ問題を引き起こす場合があります。
Junos OSリリース14.2以降、異なる仮想ルーティングおよび転送インスタンス(VRF)間でDHCPメッセージを交換する際に、DHCPリレーエージェントを使用してセキュリティを追加できるようになりました。DHCPリレーエージェントは、クライアントVRFとDHCPサーバーVRFの間に直接ルーティングがなく、2つのVRF間で許容可能なDHCPパケットのみがリレーされるようにすることができます。 加入者管理は、DHCPパケットとDHCPv6パケットの両方のクロスVRFメッセージ交換をサポートします。
異なるVRF間でDHCPメッセージを交換するには、DHCPリレーエージェントのサーバー側とクライアント側の両方が、パケット内のDHCPオプション情報に基づいて許容可能なトラフィックを認識して転送できるようにする必要があります。メッセージ交換では、以下のDHCPオプションを使用して、中継されるトラフィックを識別します。
DHCPv4パケットのエージェント回線ID(DHCPオプション82サブオプション1)
DHCPv6パケット用のリレーエージェントインターフェイス-ID(DHCPv6オプション18)
クロスVRFメッセージ交換を使用したDHCPパケットの統計情報は、クライアントVRFにカウントされます。
以下のリストでは、DHCPリレーエージェントが異なるVRF内のDHCPクライアントとDHCPサーバー間でメッセージを交換する方法について説明します。
DHCPクライアントからDHCPサーバーへのパケット—DHCPリレーエージェントは、クライアントVRFでクライアントからDHCPパケットを受信し、適切なDHCPオプション82サブオプション1またはDHCPv6オプション18属性をパケットに挿入します。次に、リレーエージェントはパケットをサーバーのVRF内のDHCPサーバーに転送します。
DHCPサーバーからDHCPクライアントへのパケット—DHCPリレーエージェントは、サーバーVRF内のDHCPサーバーからDHCP応答メッセージを受信します。リレーエージェントは、DHCPサーバーVRF内のパケット内のDHCPオプション82サブオプション1またはDHCPv6オプション18属性からVRFを含むクライアントのインターフェイスを導き出します。その後、リレーエージェントは、応答メッセージをクライアントのVRF内のDHCPクライアントに転送します。
異なる仮想ルーティングインスタンスにおけるDHCPサーバーとクライアント間のDHCPメッセージ交換の設定
Junos OSリリース14.2以降、DHCPサーバーと、異なる仮想ルーティングおよび転送インスタンス(VRF)にあるDHCPクライアントとの間でDHCPメッセージを交換する際に、セキュリティを強化するようにDHCPリレーエージェントを設定できるようになりました。
DHCPリレーエージェントを設定して、異なる仮想ルーティングインスタンスに存在するDHCPサーバーとDHCPクライアントとの間でDHCPメッセージを交換する際に、セキュリティを追加することができます。このタイプの設定は、DHCPサーバーがクライアントネットワークから分離する必要があるネットワーク内に存在する場合、DHCPサーバーとDHCPクライアント間の ステートレス DHCPリレー接続用です。
ステートレスDHCPリレーエージェントは、DHCPクライアントに関する動的な状態情報を維持しず、クライアントとサーバールーティングインスタンス間を流れるトラフィックの静的ルートも維持しません。
2 つの VRF 間で DHCP メッセージ交換を有効にするには、パケット内の DHCP オプション情報に基づいて、許容可能なトラフィックを認識して転送するように DHCP リレーの各側を設定します。許容可能なトラフィックは、DHCPv4パケットのエージェント回線ID(DHCPオプション82サブオプション1)またはDHCPv6パケットのリレーエージェントインターフェイスID(DHCPv6オプション18)のいずれかによって識別されます。
以下のリストは、異なるVRF間でDHCPメッセージ交換を作成するために必要なタスクの概要を示しています。
クライアント側のサポート—DHCPリレーエージェントの
forward-onlyステートメントを設定して、DHCPサーバーのVRFの場所を指定します。DHCPリレーエージェントは、DHCPリレーエージェントが適切なDHCPオプション情報を含むクライアントパケットを転送します。forward-onlyステートメントは、DHCPリレーエージェントが新しいセッションを作成したり、その他の加入者管理操作(動的インターフェイスの作成やリースの維持など)を実行しないようにします。オプションで、サーバーVRFに特定の論理システムとルーティングインスタンスを設定することができます。論理システムまたはルーティングインスタンスを指定しない場合、DHCPは設定が追加されたローカル論理システムとルーティングインスタンスを使用します。
サーバー側のサポート—DHCPリレーエージェントの
forward-only-repliesステートメントを設定して、DHCPリレーエージェントが適切なDHCPオプション情報を含む応答パケットを転送するようにします。このステートメントは、DHCP リレー エージェントが新しいセッションを作成したり、その他の加入者管理操作を実行したりしないようにします。注:DHCPクライアントとDHCPサーバーが同じ論理システム/ルーティングインスタンスに存在する場合は、
forward-only-repliesステートメントを設定する必要はありません。DHCP ローカルサーバーのサポート—DHCP NAKのオプション82の情報をサポートし、メッセージを強制的に更新するようにDHCPローカルサーバーを設定します。デフォルトでは、2 つのメッセージタイプはオプション 82 をサポートしていません。
追加サポート—以下の必要なサポートが設定されていることを確認します。
DHCPリレーエージェントがDHCPサーバーVRF内のクライアントおよびクライアント向けインターフェイスに対するARP要求を受信して応答できるように、DHCPサーバーVRF内のサーバー向けインターフェイスでプロキシARPサポートを有効にする必要があります。
クライアントVRFで到達可能なクライアントについては、サーバーVRF内のDHCPサーバーからDHCPパケットを受信できるルートが利用可能でなければなりません。
次の手順では、異なる VRF 内の DHCP サーバーとクライアント間で DHCP メッセージ交換を作成するための設定タスクについて説明します。
クライアントサイドサポート
DHCP リレーエージェントのクライアント側でサポートを設定するには:
ローカルDHCPv4クライアントの場合、DHCPリレーエージェントはエージェント回線IDオプションを追加します。ただし、エージェント回線IDオプションがパケットにすでに存在する場合は、DHCP サーバーがオプション 82 ベンダー固有の情報サブオプション(サブオプション 9)をサポートしていることを確認する必要があります。
forward-onlyステートメントが[edit forwarding-options dhcp-relay relay-option]階層レベルで設定されている場合、そのリレーオプションアクションは、DHCPクロスVRFメッセージ交換のためのforward-onlyステートメントの設定よりも優先されます。
サーバー側のサポート
DHCPリレーのサーバー側でクロスVRFメッセージ交換サポートを設定するには:
DHCPクライアントとDHCPサーバーが同じ論理システム/ルーティングインスタンスに存在する場合は、 forward-only-replies ステートメントを設定する必要はありません。
DHCP ローカルサーバーのサポート
NAKのオプション82の情報をサポートし、メッセージを強制的に更新するようにDHCPローカルサーバーを設定するには。クロスVRFメッセージ交換機能は、オプション82またはDHCPv6オプション18の情報を使用してクライアントVRFを決定します。
リモートIDに基づくDHCP開始サービス変更
加入者管理では、クライアントのリモートID(エージェントリモートID)を使用して、DHCPクライアントの現在のサービスを更新できます。リモートIDは、オプション82、DHCPv4クライアントの場合はサブオプション2、DHCPv6クライアントの場合はオプション37にすることができます。
DHCPクライアントが最初に確立されると、DHCPはクライアントの受信リモートIDをDHCPクライアントデータベースに保持します。そのクライアントの再バインドまたは更新メッセージを受信すると、DHCP はクライアントの初期リモート ID と DHCP 更新または再バインドメッセージのリモート ID を比較します。2 つのリモート ID が一致しない場合、DHCP ローカルサーバーは既存のバインディングを破棄し、NAK メッセージ(または DHCPv6 の場合は論理 NAK)を送信します。これにより、クライアントは再接続シーケンスを開始します。クライアントが再接続すると、DHCPローカルサーバーが新しいエージェントリモートID文字列内にエンコードされた新しいサービスを有効にします。
リモートIDサービス変更機能をグローバルにサポートするか、特定のグループに対してリモートIDサービス変更機能をサポートするようにルーターを設定したり、DHCPローカルサーバーやDHCPリレーエージェントでサポートを設定したりできます。
デュアルスタック環境では、DHCPが開始するサービス変更機能では、クライアントのDHCPv4およびDHCPv6セッションが同じVLAN(1:1マッピング)上に存在し、2つのセッションのエージェントリモートID文字列が同一である必要があります。また、デュアルスタックをサポートするためには、DHCPv4とDHCPv6の両方のネットワークに同じ動的クライアントプロファイルを適用して、2つのネットワーク間のリモートIDの整合性を確保する必要があります。DHCP がデュアル スタックの 1 つのセッションでリモート ID の不一致を検出すると、DHCP はそのセッションを破棄します。次に、受信リモートIDがデュアルスタックの他のセッションと比較され、不一致がある場合は、その他のセッションが正常に破棄されます。
支障のない破棄プロセス中に、もう一方のセッションが現在バインド状態にある場合、そのセッションは据え置き削除状態に移行します。据え置き削除状態により、変更を検出したセッションを新しいサービスプランで直ちに再確立できる一方で、後続の更新および再バインドメッセージに応答してNAKメッセージを送信することで、ルーターが他のセッションを正常に破棄することができます。
DHCP が開始するサービス変更機能の一環として、AAA はセッションのクライアント プロファイルを設定できます。AAAはリモートIDからクライアントプロファイルを取得し、そのプロファイルをセッションデータベースに書き込みます。AAAがデータベースに書き込むクライアントプロファイルは、常にローカルのDHCP設定よりも優先されます。
エージェントリモートIDを変更すると、再認証中にサービス変更が開始される可能性もあります。remote-id-mismatchステートメントとreauthenticateステートメントの両方をグローバルレベル([edit system services dhcp-local-server])で設定することはできません。ただし、DHCP の優先順位ルールでは、レベルが異なる場合に両方のステートメントを設定することができます。例えば、グローバルレベルでreauthenticateを設定し、[edit system services dhcp-local-server dhcpv6]階層レベルでDHCPv6にremote-id-mismatch、または[edit system services dhcp-local-server group name]階層レベルで特定のグループに対して設定できます。
リモートIDに基づくDHCP開始サービス変更のメリット
クライアントリモートIDが変更され、以前に保存されたエージェントリモートIDと一致しない場合、DHCPサーバーまたはリレーエージェントがリモートIDに基づいてクライアントのサービスを更新できるようにします。デュアルスタック環境では、DHCPサーバーまたはリレーエージェントを有効にして、デュアルスタックのセッション間のリモートIDの整合性を確保します。
リモートIDに基づくDHCP開始サービス変更の設定
このトピックでは、DHCPローカルサーバーおよびDHCPリレーエージェントでDHCPが開始するサービス変更のサポートを設定する方法について説明します。
DHCP ローカルサーバーの設定
DHCP ローカルサーバーと DHCPv6 ローカルサーバーグローバル、またはインターフェイスの名前付きグループに対して、DHCP が開始するサービス変更のサポートを設定できます。
DHCP ローカルサーバーが、DHCP が開始した名前付きグループに対するサービス変更をサポートするように設定するには:
DHCP リレーエージェントの設定
DHCPリレーエージェントとDHCPv6リレーエージェントに対して、DHCPが開始するサービス変更のサポートをグローバルに設定するか、インターフェイスの名前付きグループに対して設定できます。
以下の例は、DHCPが開始するサービス変更をグローバルベースでサポートするようにDHCPv6リレーエージェントを設定する手順を示しています。
DHCPが開始するサービス変更機能の設定を開始する前に、DHCPv6リレーエージェントがデフォルト動作を上書きし、リモートIDの不一致が発生した場合にDHCPサーバーにリリースメッセージを送信するように設定されていることを確認してください。この設定が必要なのは、リレーエージェントがクライアントバインディングを直接破棄できないためです。リリースパケットは、元のバインディングを破棄するようにDHCPサーバーに信号を送ります。
[edit forwarding-options dhcp-relay dhcpv6] user@host# set dhcp-relay overrides send-release-on-delete
DHCPリレーエージェントを設定することを指定します。
[edit forwarding-options] user@host# edit dhcp-relay
DHCPv6リレーエージェントを設定することを指定します。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
DHCPv6リレーエージェントが初期および新しいクライアントリモートIDと一致し、不一致が発生した場合に
disconnectアクションを実行することを指定します。[edit system services dhcp-local-server group northwest-321] user@host# set remote-id-mismatch disconnect
不一致が発生すると、DHCPv6リレーエージェントはリリースメッセージをDHCPv6ローカルサーバーに送信し、論理NAKメッセージ(ライフタイムが0の応答パケット)をクライアントに送信します。その後、サーバーは既存のバインディングを破棄し、クライアントは再接続シーケンスを開始します。エージェントリモートID文字列でエンコードされた新しいサービスは、クライアントが再接続するとアクティブになります。
DHCPv4およびDHCPv6の、不明なDHCPサーバーアドレスを持つリレートラフィックに対する転送のみのアクション
DHCPv4またはDHCPv6サーバー上に作成できるDHCPリレーエージェントエントリーは、認証、認可、アカウンティング、フィルタリングの適用、クライアントでのサービス品質(QoS)の確保、パケットで指定されたオプションの処理に役立ちます。リレーエージェントまたはクライアントエントリの作成には、jdhcpdプロセスメモリリソース、セッションデータベースリソース、認証手順、アカウンティング、動的プロファイルインスタンス化、動的インターフェイス作成、ファイアウォール、サービスクラス(CoS)アソシエーションなどの参加が含まれます。顧客ネットワークには、顧客が制御していないバインディングが含まれている可能性があり、これらのリレーエージェントエントリ機能は不要になる可能性があります。顧客のネットワークにこのようなトラフィックがある場合、クライアントエントリーの作成に関連するリレーエージェントエントリーの作成は、リソースを不必要に消費し、プロファイルの関連付けを間違える原因にもなります。現在のネットワークシナリオでは、特定のインターフェイスから受信したすべてのトラフィックが宛先アドレスを処理せずに転送されるためです。
Junos OSリリース17.4R1以降、不明なDHCPサーバーアドレスとともに顧客以外のトラフィックに対して、ブロードバンドネットワークゲートウェイ(BNG)デバイスで forward-only 設定を有効にすることができます。 forward-only ステートメントを新しいDHCPオプション(DHCPv4の場合はoption-54 、DHCPv6の場合は option-2 )とともに設定することで、BNGへのDHCPリレーエージェントエントリの作成を回避し、トラフィックが指定された宛先アドレスに転送されるようにします。
これらの設定により、管理者はクライアントがどのサーバーにバインドされているかを決定できます。どのクライアントにリレークライアントエントリーを作成し、動的プロファイルとポリシーを適用する必要があるかなど。および、 forward-only 設定が有効になっているユーザー(非顧客)。
宛先アドレスを処理するために、options-54 と options-2という2つの新しい設定ステートメントが導入されました。
DHCPv4およびDHCPv6宛先アドレスの処理
管理者は、 forward-only ステートメントを設定して、顧客以外のクライアントエントリーの作成を回避できます。jdhcpdプロセスは、受信パケット内の宛先アドレスの有無にかかわらず、サーバー識別子(DHCPv4の場合はoption-54 、DHCPv6の場合は option-2 )と、設定されたサーバーアドレスを比較します。サーバー識別子と設定されたサーバーアドレスが一致する場合、アクションはクライアントエントリを作成せずに転送のみします。
非パッシブリレーでは、server-matchステートメントの設定は、server-matchステートメントが処理されるクライアントに対してdelay-authenticationステートメントを暗黙的に有効化することを意味します。オプション60および77(DHCPv4の場合)またはオプション15および16(DHCPv6の場合)を関連する処理とともにオプションで設定することもできます。これらのオプションの設定には、処理される順序の指定も含まれます。これらのオプションが設定されていない場合、デフォルトの順序は、DHCPv4の場合は60、77、DHCPv6の場合は15、16です。
RFC 3315、Dynamic Host Configuration Protocol for IPv6(DHCPv6)で定義されているDHCPv6option-16データは、4バイトの企業番号と可変長のベンダークラスデータで構成されています。企業番号は、ベンダーが IANA に登録した番号です。そのため、企業番号が印刷可能なASCII文字の値と一致する必要があるため、リレーオプションの一致と組み合わせてASCIIの一致を設定するoption-16機能しない可能性があることが予想されます。
DHCPv4の option-77 ステートメントにも同様の制限があります。これは、 option-77 データがサブオプションとサブ長を含むように細分化される可能性があるためです。このため、relay-option match を使用した ASCII option-77 一致の設定が機能しない場合があります。
非パッシブリレーでは、 リバインド フェーズでリクエストパケットを受信し、対応するリレーエントリーが存在しない場合、まず bind-on-request ステートメントを設定し、その後にリレーエントリーが作成され、パケットが転送されます。確認応答を受信した後、jdhcpdプロセスは、 server-match 設定内の送信元アドレス(DHCPv4のオプション54とDHCPv6のオプション2の有無にかかわらず)を確認します。検証の結果、ステートレスエントリーが得られた場合、リレーエントリーは削除されます。
管理者は、サーバーのアドレスの有無にかかわらず、DHCP 固有識別子(DUID)を指定できます。jdhcpd プロセスでは、最初にアドレスステートメントを処理し、次に DUID ステートメントを処理します。アドレスステートメントとDUIDステートメントで同じサーバーアドレスが指定された場合、アドレスステートメントとDUIDステートメントの両方に同じアクションを指定するのは管理者の責任です。
パッシブリレーと非パッシブリレーの両方で、受信したパケットにリレーフォワードヘッダーが含まれていて、宛先アドレスがマルチキャストまたはリンクローカルアドレスである場合、パケットはそれ以上の処理を行わずに転送されます。
DHCPv4 と DHCPv6 の両方の加入者に対して、 relay-option ステートメントと server-match ステートメントは同じ階層にあり、同じ優先度を持ちます。
処理順序とアクション
リレーオプションとサーバー一致処理は相互に排他的です。これらは同じ階層にあり、同じ優先度を持ちますが、実装上、リレー オプションの後にサーバーの一致を処理します。
DHCPv4リレーオプション処理アクションは次のとおりです。
-
drop—一致する場合は破棄します。 -
forward-only—一致する場合、クライアント サービスなしで転送します。 -
local-server-group—一致する場合のDHCPローカルサーバーグループの名前。 -
relay-server-group—一致する場合のDHCPリレーサーバーグループの名前。
DHCPv6 リレー オプション処理アクションは次のとおりです。
-
drop—一致する場合は破棄します。 -
forward-only—一致する場合、クライアントサービスなしで転送します。 -
relay-server-group—一致する場合のDHCPリレーサーバーグループの名前。
IPv6アドレスのDHCPv6サーバー一致は、パッシブリレーでのみ使用できます。
デフォルトおよび設定可能なオプション注文は、 図1に示すように処理されます。オプションの順序を逆にする必要がある場合(DHCPv4またはDHCPv6のいずれか)、DHCPv4には option-order 77,66 ステートメント、DHCPv6には option-order 16,15 ステートメントを[edit forwarding-options dhcp-relay relay-option]階層レベルで設定します。
DHCPリレーフォワードオンリーアクションのメリット
-
クライアントエントリの作成時に行われるリレーエージェントエントリを必要としない、お客様が制御していないバインディングのリソースの不要な消費を削減します。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。