DHCP リレー エージェント情報オプション(オプション 82)
DHCP リレー エージェント情報オプション(オプション 82)では、DHCP リレーが DHCP サーバーに転送するクライアント発の DHCP パケットに追加の有用な情報を含めることができます。オプション 82 サポートは、グローバルに、またはインターフェイスの名前付きグループに対して設定できます。詳細については、このトピックをお読みください。
DHCP リレーエージェントオプション 82 情報の使用
加入者管理では、リレーエージェントがクライアントから受信してDHCPサーバーに転送するDHCPパケットに追加オプション82情報を含めるように、DHCPリレーエージェントを設定することができます。DHCP サーバーは追加情報を使用して、クライアントに割り当てる IP アドレスを決定します。サーバーは、クライアントに付与するサービスを決定したり、アドレスのなりすましなどの脅威に対するセキュリティを強化したりするなど、他の目的で情報を使用する場合もあります。DHCP サーバーはその応答を DHCP リレー エージェントに送り返し、エージェントはメッセージからオプション 82 の情報を削除してパケットをクライアントに転送します。
DHCP リレー エージェント情報オプション 82 のサポートを設定するには、 relay-option-82 ステートメントを使用します。リレーエージェントがDHCPサーバーに送信するパケットに以下のサブオプションを含めるようにDHCPリレーエージェントを設定できます。
エージェント回線ID(サブオプション1)—クライアントDHCPパケットを受信したインターフェイスを識別するASCII文字列。
注:relay-option-82が設定されていても、relay-option-82の属性(つまり、circuit-id|remote-id|server-id-override)が明示的に設定されていない場合、デフォルトの動作では、circuit-id(つまりサブオプション1)が常にoption-82値に含まれるようになります。これは、relay-option-82の下のvendor-specific属性が設定されているかどうかにかかわらず当てはまります。エージェントリモートID(サブオプション2)—DHCPリレーエージェントによって割り当てられた、クライアントを安全に識別するASCII文字列。
オプション 82 サポートは、グローバルに、またはインターフェイスの名前付きグループに対して設定できます。
オプション 82 の情報が DHCP パケットに挿入されないデフォルトの動作に戻すには、 delete relay-option-82 ステートメントを使用します。
DHCPv6リレーエージェントは、DHCPv6クライアントに対して同様のエージェント回線IDとエージェントリモートIDのサポートを提供します。DHCPv6 の場合、加入者管理は DHCPv6 オプション 18 を使用して、リレー エージェントが DHCPv6 サーバーに送信するパケットに回線 ID を含め、オプション 37 を使用してリモート ID をパケットに含めます。 DHCPv6リレーエージェントオプションを参照してください。
次のセクションでは、設定できるオプション 82 の操作について説明します。
オプション 82 情報の設定
relay-option-82ステートメントを使用して、リレーエージェントがクライアントから受信してDHCPサーバーに転送するDHCPパケットにオプション82の情報を挿入するようにDHCPリレーエージェントを設定します。オプション 82 を設定する場合、サブオプション ステートメントの 1 つを含めることで、DHCP パケットに含めたい情報のタイプを指定できます。サブオプションステートメントを1つも含めずにオプション82を設定すると、エージェント回線IDオプションがデフォルトで含まれます。circuit-idステートメントを使用してエージェント回線ID(サブオプション1)をパケットに含めるか、remote-idステートメントを使用してエージェントリモートID(サブオプション2)を含めます。
オプションで、サブオプション情報の一部としてプレフィックスまたはインターフェイス記述を含めるようにDHCPリレーエージェントを設定することができます。オプションのprefix、use-interface-description、use-vlan-id、include-irb-and-l2、またはno-vlan-interface-nameステートメントを含まずにcircuit-idまたはremote-idステートメントを指定した場合、ファストイーサネット(fe)、ギガビットイーサネット(ge)、およびIRB(統合型ルーティングおよびブリッジング)インターフェイスのエージェント回線IDまたはエージェントリモートID情報の形式は、ネットワーク設定により次のいずれかになります。
VLAN、スタック VLAN(S-VLAN)、またはブリッジ ドメインを使用しないファスト イーサネットまたはギガビット イーサネット インターフェイスの場合:
(fe | ge)-fpc/pic/port.subunit
注:リモートシステムの場合、 subunit は必須であり、インターフェイスを区別するために使用されます。
VLANを使用するファストイーサネットまたはギガビットイーサネットインターフェイスの場合:
(fe | ge)-fpc/pic/port:vlan-id
S-VLANを使用するファストイーサネットまたはギガビットイーサネットインターフェイスの場合:
(fe | ge)-fpc/pic/port:svlan-id-vlan-id
IRB(統合型ルーティングおよびブリッジング)は、同じインターフェイス上でレイヤー2ブリッジングとレイヤー3IPルーティングを同時にサポートします。IRB では、ローカル パケットを別のルーテッド インターフェイスや、レイヤー 3 プロトコルが設定されている別のブリッジング ドメインにルーティングできます。
インターフェイスとブリッジドメインの関係は、暗黙的(インターフェイスはVLANタグに基づいてシステムによってブリッジドメインにマッピングされる)または明示的(ブリッジドメイン定義で設定することによりインターフェイスがブリッジドメインにマッピングされる)の場合があります。明示的なケースでは、タグ付けがマッピングに関係しない場合があります。
IRB インターフェイスの場合、この形式では、ブリッジ ドメイン名とともに IRB インターフェイスではなくレイヤー 2 インターフェイスが表示されます。IRB インターフェイス(またはその他の疑似デバイス)の場合、デフォルトの形式は次のとおりです。
ブリッジ ドメインを使用するが、VLAN または S-VLAN を使用しない IRB インターフェイス:
(fe | ge)-fpc/pic/port.subunit:bridge-domain-name
VLAN を使用する IRB インターフェイス:
(fe | ge)-fpc/pic/port.subunit:vlan-name
レイヤー 2 インターフェイス名に IRB インターフェイス名を含めるには、 include-irb-and-l2 ステートメントを設定します。形式は次のとおりです。
ブリッジ ドメインを使用するが、VLAN または S-VLAN を使用しない IRB インターフェイス:
(fe | ge)-fpc/pic/port:bridge-domain-name+irb.subunit
VLAN を使用する IRB インターフェイス:
(fe | ge)-fpc/pic/port:vlan-name+irb.subunit
レイヤー 2 インターフェイスとブリッジ ドメインまたは VLAN なしで IRB インターフェイス名のみを含めるには、 no-vlan-interface-name ステートメントを設定します。形式は次のとおりです。
irb.subunit
オプション 82 情報の挿入を有効にするには:
オプション 82 情報の上書き
DHCP リレー エージェントを設定して、DHCP パケットに DHCP リレー エージェント情報オプション(オプション 82)を追加または削除できます。
この機能により、DHCP リレー エージェントは、設定に応じて次のいずれかのアクションを実行します。
DHCP リレー エージェントがオプション 82 の情報を DHCP パケットに追加するように設定されている場合、DHCP パケットから既存のオプション 82 の値をクリアし、新しい値を挿入してからパケットを DHCP サーバーに転送します。
DHCP リレー エージェントがオプション 82 の情報を DHCP パケットに追加するように設定されていない場合、DHCP リレー エージェントはパケットから既存のオプション 82 の値をクリアしますが、パケットを DHCP サーバーに転送する前に新しい値は追加しません。
DHCPサーバー宛てのDHCPパケットのデフォルトオプション82の情報を上書きするには:
DHCP オプションにプレフィックスを含める
リレーエージェントがDHCPサーバーに送信するパケットにDHCPオプションを含めるようにDHCPリレーエージェントを設定する場合、リレーエージェントがDHCPオプションにプレフィックスを追加するように指定できます。以下のDHCPオプションにプレフィックスを追加できます。
DHCPv4 オプション 82 エージェント回線 ID(サブオプション 1)
DHCPv4 オプション 82 エージェント リモート ID(サブオプション 2)
DHCPv6 オプション 18 リレー エージェント インターフェイス ID
DHCPv6 オプション 37 リレーエージェントリモートID
プレフィックスは、コロン(:)でDHCPオプション情報から区切られており、 host-name、 logical-system-name、および routing-instance-name オプションの任意の組み合わせを含めることができます。DHCPリレーエージェントは、次のように host-name、 logical-system-name、および routing-instance-name の値を取得します。
host-nameオプションを含めると、DHCPリレーエージェントは、[edit system]階層レベルでhost-nameステートメントで設定されたデバイスのホスト名を使用します。logical-system-nameオプションを含めると、DHCPリレーエージェントは、[edit logical-system]階層レベルでlogical-systemステートメントで設定された論理システム名を使用します。routing-instance-nameオプションを含めると、DHCPリレーエージェントは、[edit routing-instances]階層レベルまたは[edit logical-system logical-system-name routing-instances]階層レベルでrouting-instanceステートメントで設定されたルーティングインスタンス名を使用します。
プレフィックスにホスト名と論理システム名およびルーティングインスタンス名のいずれかまたは両方を含める場合、ホスト名の後にスラッシュ(/)が付きます。プレフィックスに論理システム名とルーティングインスタンス名の両方を含める場合、これらの値はセミコロン(;)で区切られます。
以下の例は、S-VLANを備えたファストイーサネット(fe)またはギガビットイーサネット(ge)インターフェイスの prefix ステートメントを指定する場合のDHCPオプション情報の形式を示しています。
S-VLANを使用するファストイーサネットまたはギガビットイーサネットインターフェイスのプレフィックスにホスト名のみを含める場合:
hostname:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
ファストイーサネットまたはS-VLAN付きギガビットイーサネットインターフェイスのプレフィックスに論理システム名のみを含める場合:
logical-system-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
ファストイーサネットまたはS-VLAN付きギガビットイーサネットインターフェイスのプレフィックスにルーティングインスタンス名のみを含める場合:
routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
S-VLANを備えたファストイーサネットまたはギガビットイーサネットインターフェイスのプレフィックスにホスト名と論理システム名の両方を含める場合:
host-name/logical-system-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
S-VLANを搭載したファストイーサネットまたはギガビットイーサネットインターフェイスのプレフィックスに、論理システム名とルーティングインスタンス名の両方を含める場合:
logical-system-name;routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
S-VLANを使用するファストイーサネットまたはギガビットイーサネットインターフェイスのプレフィックスにホスト名、論理システム名、ルーティングインスタンス名を含める場合:
host-name/logical-system-name;routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
S-VLANは使用せずにVLANを使用するファストイーサネットまたはギガビットイーサネットインターフェイスの場合、DHCPオプション形式では vlan-id 値のみが表示されます。
(DHCPv4)オプション 82 の情報でプレフィックスを設定するには:
(DHCPv6)DHCPv6 オプション 18 またはオプション 37 の情報を含むプレフィックスを使用するには:
DHCPv6リレーエージェントサポートを設定することを指定します。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
DHCPv6リレーエージェントを設定して、オプション18(Relay Agent Interface-ID)、オプション37(Relay Agent Remote-ID)、またはその両方を挿入します。
オプション18を設定するには:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-interface-id
オプション 37 を設定するには:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-remote-id
プレフィックスがオプション情報に含まれることを指定します。この例では、プレフィックスにはホスト名と論理システム名が含まれています
オプション18にプレフィックスを含めるには:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-interface-id] user@host# set prefix host-name logical-system-name
オプション 37 のプレフィックスを含めるには:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-remote-id] user@host# set prefix host-name logical-system-name
DHCP オプションにテキスト記述を含める
デフォルトでは、DHCP リレーエージェントが DHCP サーバーに送信されたパケットにオプション情報を挿入すると、オプションにはインターフェイス識別子が含まれます。ただし、DHCP リレー エージェントを設定して、インターフェイス識別子ではなく、インターフェイスに設定されたテキスト記述を含めることができます。テキスト記述は、論理インターフェイスまたはデバイスインターフェイスのいずれかに使用できます。
以下のDHCPオプションにテキストインターフェイス記述を含めることができます。
DHCPv4 オプション 82 エージェント回線 ID(サブオプション 1)
DHCPv4 オプション 82 エージェント リモート ID(サブオプション 2)
DHCPv6 オプション 18 リレー エージェント インターフェイス ID
DHCPv6 オプション 37 リレーエージェントリモートID
テキスト記述は、[edit interfaces interface-name]階層レベルのdescriptionステートメントを使用して別途設定します。テキスト記述を使用し、インターフェイスに記述が設定されていないことを指定した場合、DHCP リレーはデフォルトでレイヤー 2 インターフェイス名を使用します。
IRB(統合型ルーティングおよびブリッジング)インターフェイスの場合、IRB インターフェイスのテキスト記述ではなく、レイヤー 2 インターフェイスのテキスト記述が使用されます。説明が設定されていない場合は、レイヤー2論理インターフェイス名が使用されます。
IRB インターフェイスの場合、オプション 82 フィールドは、エージェント回線 ID またはエージェントリモート ID のいずれかに基づいて着信インターフェイスを一意に識別できる必要があります。テキストインターフェイス記述の情報を生のIFD(サブユニットのない物理インターフェイス)名に一致するように変更し、インターフェイス記述を使用するようにオプション82フィールドを設定できます。
以下のDHCPオプションでテキスト記述を使用できます。
DHCPv4 オプション 82 エージェント サーキット ID(サブオプション 1)
DHCPv4 オプション 82 エージェント リモート ID(サブオプション 2)
DHCPv6リレーエージェントインターフェイス-ID(オプション18)
DHCPv6 リレー エージェント リモート ID(オプション 37)
(DHCPv4)DHCPリレーオプション82サブオプションに、テキストによるインターフェイス記述を含めるように設定するには:
(DHCPv6)DHCPv6オプション18またはオプション37にテキストによるインターフェイス記述を含めるように設定するには:
DHCPv6リレーエージェントサポートを設定することを指定します。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
DHCPv6リレーエージェントを設定して、オプション18(Relay Agent Interface-ID)、オプション37(Relay Agent Remote-ID)、またはその両方を挿入します。
オプション18を設定するには:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-interface-id
オプション 37 を設定するには:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-remote-id
テキスト記述がオプション情報に含まれることを指定します。次の例のオプション情報には、デバイス インターフェイスに使用される説明が含まれています。
オプション 18 にテキスト記述を含めるには:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-interface-id] user@host# set use-interface-description device
オプション 37 にテキスト記述を含めるには:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-remote-id] user@host# set use-interface-description device
関連項目
DHCP リレー エージェントが自動ログアウトにオプション 82 を使用する方法
表1は 、DHCPリレーエージェントがクライアントの自動ログアウト機能に使用されるオプション82の値をどのように決定するかを示しています。構成設定に応じて、DHCP リレー エージェントは [実行されたアクション] 列に示されているアクションを実行します。
DHCPリレーエージェントの構成設定 |
|||||
|---|---|---|---|---|---|
オプション82で設定されたDHCPリレー |
オプション 82 を含むパケットの検出 |
「trust-option- 82」を上書きする |
"always-write- option-82" を上書きする |
スヌーピングされていないパケットのgiaddr |
実行されたアクション |
いいえ |
いいえ |
– |
– |
– |
二次検索は実行されません |
いいえ |
はい |
はい |
– |
– |
パケットからオプション82を使用します |
いいえ |
はい |
いいえ |
– |
ゼロ |
パケットのドロップ |
いいえ |
はい |
いいえ |
– |
ゼロ以外 |
パケットからオプション82を使用します |
はい |
いいえ |
– |
– |
– |
設定されたオプション 82 を使用します |
はい |
はい |
いいえ |
– |
ゼロ |
パケットのドロップ |
はい |
はい |
いいえ |
いいえ |
ゼロ以外 |
パケットからオプション82を使用します |
はい |
はい |
いいえ |
はい |
ゼロ以外 |
設定されたオプション 82 を上書きする |
はい |
はい |
はい |
いいえ |
– |
パケットからオプション82を使用します |
はい |
はい |
はい |
はい |
– |
設定されたオプション 82 を上書きする |
オプション 82 の情報を使用できるように、信頼できないパケットの処理を有効にする
デフォルトでは、DHCP リレーエージェントは、giaddr が 0(ゼロ)でオプション 82 の情報を持つクライアントパケットを、信頼できない送信元から発信されたパケットであるかのように扱い、それ以上の処理を行わずにドロップします。この動作をオーバーライドして、giaddr が 0(ゼロ)でオプション 82 の情報を含む DHCP クライアント パケットを DHCP リレー エージェントが処理するように指定できます。
オプション 82 の情報を信頼するように DHCP リレー エージェントを設定するには:
デバイスがDHCP Option-82をサポートしているかどうかを確認する
DHCPリレーでスイッチをフォワード専用モードで設定するには、DHCPサーバーがDHCPオプション82をサポートしているかどうかを確認します。
表2の手順を使用して、オプション82のサポートまたは必要な回避策を確認します。
問題点 |
確認方法 ? |
ソリューション |
|---|---|---|
DHCP サーバーが DHCP オプション 82 をサポートしているかどうかを確認します。 |
DHCP リレーの オプション82が含まれていないためにDHCPオファーパケットがドロップした場合は、次のようなメッセージが表示されます。 Feb 25 15:41:13.577519 [MSTR][NOTE] [default:default][RLY][INET][irb.6] jdhcpd_packet_handle: BOOTPREPLY could not find client table entry |
この問題を解決するには:
|
例: MS Windows Server 2019 の DHCP サーバーは、バージョン 2016 が部分的にサポートされているオプション 82 を完全にサポートしています。
関連項目
オプション 82 をサポートしない DHCP PXE/BOOTP サーバーの管理
一部の PXE サーバーまたは BOOTP サーバーは Option-82 をサポートしていません。つまり、DHCP オファー メッセージに DHCP リレーによって追加された Option-82 値は含まれていません。その結果、DHCP リレーは DHCP オファーをドロップし、PXE/BOOTP クライアントはブート シーケンスを完了できなくなります。
この問題を解決する解決策は次のとおりです。
解決策1: Option-82をサポートするPXEサーバーにアップグレードする
解決策2: DHCP サーバーで PXE サーバーをホストする
DHCP サーバー(オプション 82 をサポートする)が PXE サーバーと一緒に実行されていることを確認します。
DHCP サーバーでオプション 60 を設定します。
次の CLI を使用して、Microsoft WS DHCP サーバーで Option-60 を設定します。
netsh dhcp server dhcp-server-address add optiondef 60 ClientIdentifier STRING 0 PXEClient
DHCP サーバーのユーザーインターフェイスでオプションを有効にします。
このようにして、PXE/BOOTP クライアントは、オプション 60 "PXEClient" で適切な DHCP オファーを受け取り、DHCP サーバーと同じ IP アドレスの PXE サーバーに到達します。
解決策3: Option-60 および Option-43 の DHCP サーバー メッセージを含める
PXE サーバーが DHCP サーバーと一緒にホストされていない場合は、DHCP サーバーが DHCP オファーでも Option-43 を送信する必要があります。オプション-43は、PXEサーバーのIPアドレスを提供します。古い PXE クライアントまたは BOOTP クライアントは Option-43 を無視するため、DHCP サーバーからソフトウェアを取得しようとすることに注意してください。DHCPサーバー設定にOption-43を16進モードで入力します。
Forは、オプション43メッセージのサンプルです。
06 01 07 08 07 00 01 01 0A 0B 0C 0D 09 0B 00 01 09 53 65 72 76 65 72 50 58 45 0A 02 00 53
上記のメッセージは、PXEクライアントに次の情報を示しています。
ブロードキャストとマルチキャスト検出を無効にする
このテキストで指定されたPXEサーバーのみを受け入れます
PXEサーバーIPは10.11.12.13です(上記のテキストのバイト「0A 0B 0C 0D」を参照)
PXEクライアントのブートメニュー(エンドユーザーに提示するため):
たった1行、「ServerPXE」
最初のブートオプションを自動選択し、プロンプト「S」を表示、タイムアウトなし(つまり、F8 キーを押さない限りすぐに起動)
非設定インターフェイス上のDHCPパケット
MXシリーズルーター、QFXまたはEXシリーズスイッチでDHCPリレーを有効にすると、DHCPスヌーピング機能が有効になり、デバイスの任意のインターフェイス(設定済みインターフェイスと未構成インターフェイスの両方)を介して受信するすべてのDHCPパケットが分析されます。DHCP設定に記載されていないインターフェイスは「未設定」と見なされます。
設定によっては、未設定のインターフェイスで受信したDHCPパケットは破棄されます。
DHCPパケットが「unconfigured」インターフェイスでドロップされた場合、以下のメッセージが表示されます。
May 25 18:26:31.796241 [MSTR][NOTE] [default:default][RLY][INET][irb.82] jdhcpd_packet_handle: BOOTPREQUEST irb.82 arrived on unconfigured interface DISCOVER, flags 23, config 0x0
関連項目
例:DHCPリレーをフォワードオンリーモードで設定する
この例は、拡張レイヤー 2 ソフトウェア(ELS)EXシリーズおよびQFXシリーズ スイッチで「ステートレス」(「フォワードのみ」)DHCPリレーを設定する方法を示しています。ご使用のスイッチが ELS をサポートしていないソフトウェアを実行している場合は、「 インターフェイス範囲の設定」を参照してください。ELSの詳細については、 拡張レイヤー2ソフトウェアCLIの使用を参照してください。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
QFXまたはEXシリーズスイッチ(ELSモード)。
Junos OSリリース18.4R3。
EXシリーズおよびQFXシリーズスイッチでフォワード専用DHCPリレーを設定する前に、DHCPのオプション82サポートについて理解しましょう。
デバイスがDHCP Option-82をサポートしているかどうかを確認するには、「 デバイスがDHCP Option-82をサポートしているかどうかを確認する」を参照してください。
DHCP サーバーからの以下のメッセージには、検出メッセージとリクエストメッセージで DHCP リレーから送信されたオプション 82 情報のコピーが含まれています。
オファー
確認応答(ACK)
否定的確認応答(NACK)
DHCP リレーは、有効なオプション 82 情報を含まない OFFER、ACK、NACK メッセージを破棄します。
PXE または BOOTP サーバーが Option-82 をサポートしていない場合に DHCP オファーメッセージのドロップを回避する方法については、「 Managing Your DHCP PXE/BOOTP servers That Not Support Option-82」を参照してください。
概要
この例では、以下の手順を完了して、DHCP リレー エージェントとして機能するスイッチング デバイスを設定します。
アクティブサーバーグループとして設定されたDHCPサーバーIPアドレスのセットを追加します。
インターフェイスの名前付きグループに対するオプション 82 サポートを設定します。
この例を設定した後、DHCP リレーエージェントは、クライアントから受信して DHCP サーバーに転送する DHCP パケットにオプション 82 の情報を含めます。
設定
ELSがサポートするEXまたはQFXスイッチでフォワード専用DHCPリレーエージェントを設定するには、以下のタスクを実行します。
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー&ペーストします。
set forwarding-options dhcp-relay server-group SV1 dhcp-server-1-address set forwarding-options dhcp-relay server-group SV2 dhcp-server-2-address set forwarding-options dhcp-relay active-server-group SV1 set forwarding-options dhcp-relay group DHCP-FO forward-only set forwarding-options dhcp-relay group DHCP-FO relay-option-82 circuit-id use-interface-description device set forwarding-options dhcp-relay group DHCP-FO interface interface1 set forwarding-options dhcp-relay group DHCP-FO interface interface2
フォワード専用のDHCPリレーエージェントを設定する
ステップバイステップの手順
フォワード専用DHCPリレーを設定するには:
サーバー グループの名前を SV1 と SV2 に指定します。
[edit forwarding-options dhcp-relay] user@host#
set server-group SV1user@host#set server-group SV2グループに属するDHCPサーバーのIPアドレスを追加します。
[edit forwarding-options dhcp-relay] user@host#
set server-group SV1 dhcp-server-1-addressuser@host#set server-group SV2 dhcp-server-2-address(オプション)エンタープライズシナリオでは、PC(または他のデバイス)のPXE(Preboot Execution Environment)またはBOOTPを使用して、サーバーからJunos OSを取得できます。
スイッチがDHCPリレーエージェントとして設定されているときにBOOTPサポートを有効にする場合は、次のステートメントを入力します。
[edit forwarding-options dhcp-relay] user@host#
set overrides bootp-supportDHCPサーバーまたはPXEサーバーをDHCPサーバーグループに追加します
[edit forwarding-options dhcp-relay] user@host#
server-group SV1 dhcp-server-3-address
サーバーグループをアクティブなサーバーグループとして適用します。
[edit forwarding-options dhcp-relay] user@host#
set active-server-group SV1DHCP-FO を、DHCP リレーとして機能するスイッチング デバイス上のインターフェイス グループとして定義します。設定:
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO forward-onlyインターフェイスのリストをインターフェイスグループに追加します。
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO interface interface1user@host#set group DHCP-FO interface interface2リレーオプション82をインターフェイスに設定し、エージェント回線IDを指定します。エージェント回線IDは、クライアントDHCPパケットが受信されるインターフェイスを識別します。回線IDを設定する場合、メッセージにテキスト化されたインターフェイス記述を含めます。
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO group relay-option-82 circuit-id use-interface-description device
結果
設定モードから、[edit forwarding-options]階層レベルでshowステートメントを発行して設定の結果を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit forwarding-options]
user@host> show
dhcp-relay {
server-group {
SV1 {
dhcp-server-1-address;
}
SV2 {
dhcp-server-2-address;
}
}
active-server-group SV1;
group DHCP-FO {
relay-option-82 {
circuit-id {
use-interface-description device;
}
}
forward-only;
interface interface1;
interface interface2;
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
DHCP サーバーからのメッセージに、DHCP リレーから送信されたオプション 82 情報のコピーが含まれているかどうかを確認します。
オプション 82 によるオファー メッセージの検証
目的
DHCP リレーで dhcp トレースオプションを有効にして、「フォワード専用」DHCP リレーを検証します。
アクション
指定したファイル内のトレース操作の出力を受け取ります。
user@host# set system processes dhcp-service traceoptions file dhcp_logfile size 10m user@host# set system processes dhcp-service traceoptions level all user@host# set system processes dhcp-service traceoptions flag all Feb 25 15:41:11.454186 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_io_process_ip_packet: LOCAL: recv pkt; sa 10.42.6.20; da 10.42.59.251; src_port 67; dst_port 67; len 410 Feb 25 15:41:11.454218 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP from == 10.42.6.20, port == 67 ]-- Feb 25 15:41:11.454228 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP size == 410, op == 2 ]-- Feb 25 15:41:11.454250 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP flags == 8000 ]-- Feb 25 15:41:11.454271 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP htype == 1, hlen == 6 ]-- Feb 25 15:41:11.454292 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP hops == 0, xid == e50f52a1 ]-- Feb 25 15:41:11.454313 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP secs == 0, flags == 8000 ]-- Feb 25 15:41:11.454347 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP ciaddr == 0.0.0.0 ]-- Feb 25 15:41:11.454428 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP yiaddr == 10.42.58.21 ]-- Feb 25 15:41:11.454461 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP siaddr == 10.42.6.20 ]-- Feb 25 15:41:11.454472 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP giaddr == 10.42.59.251 ]-- Feb 25 15:41:11.454486 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP chaddr == 34 48 ed 27 e2 29 00 00 00 00 00 00 00 00 00 00 ]-- Feb 25 15:41:11.454508 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP sname == ]-- Feb 25 15:41:11.454535 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP file == ]-- Feb 25 15:41:11.454560 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 53, len 1, data DHCP-OFFER ]-- Feb 25 15:41:11.454603 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 1, len 4, data ff ff fc 00 ]-- Feb 25 15:41:11.454616 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 58, len 4, data 00 05 46 00 ]-- Feb 25 15:41:11.454638 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 59, len 4, data 00 09 3a 80 ]-- Feb 25 15:41:11.454675 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 51, len 4, data 00 0a 8c 00 ]-- Feb 25 15:41:11.454701 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 54, len 4, data 0a 2a 06 14 ]-- Feb 25 15:41:11.454724 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 3, len 4, data 0a 2a 3b fe ]-- Feb 25 15:41:11.454748 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 4, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454778 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 6, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454805 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 15, len 15, data 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454829 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 42, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454858 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 128, len 29, data 61 74 73 65 2d 65 6d 70 69 72 75 6d 31 2e 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454888 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 129, len 29, data 61 74 73 65 2d 65 6d 70 69 72 75 6d 31 2e 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454902 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 82, len 19, data 01 11 49 52 42 2d 69 72 62 2e 35 36 3a 61 65 33 30 2e 30 ]-- Feb 25 15:41:11.454924 [MSTR][INFO] [default:default][RLY][INET][irb.56] --[ OPTION code 255, len 0 ]-- Feb 25 15:41:11.454939 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_find_client_from_server_pdu: Using yiaddr from BOOTPREPLY for lookup Feb 25 15:41:11.454962 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_platform_client_v4_app_get_l3_index: safd is not client type Feb 25 15:41:11.454992 [MSTR][DEBUG] client_key_compose: Composing key (0xb294380) for cid_l 0, cid NULL, mac 34 48 ed 27 e2 29, htype 1, subnet 10.42.59.251, ifindx 0, opt82_l 0, opt82 NULL Feb 25 15:41:11.455016 [MSTR][DEBUG] client_key_compose: Successfully composed CK_TYPE_HW_ADDR_ON_SUBNET (2) client key object. Feb 25 15:41:11.455028 [MSTR][DEBUG] client_key_print: key_type CK_TYPE_HW_ADDR_ON_SUBNET (2): subnet 10.42.59.251, MAC htype 1, Addr 34 48 ed 27 e2 29 Feb 25 15:41:11.455050 [MSTR][DEBUG] client_key_print: key_type CK_TYPE_HW_ADDR_ON_SUBNET (2) other fields: subnet 10.42.59.251, ifindex 0, opt82_len 0, - Feb 25 15:41:11.455081 [MSTR][INFO] [default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Safd irb.56 in routing context default:default - forward only or drop processing Feb 25 15:41:11.455114 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Removing option-82 Feb 25 15:41:11.455124 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Length of option 82 = 21 bytes Feb 25 15:41:11.455146 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Moving 2 bytes, which were after option 82 and parse again Feb 25 15:41:11.455169 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Safd irb.56 in routing context default:default - config supports fwd only relaying packet Feb 25 15:41:11.455193 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Result of forward-only: packet_consumed Yes, packet_dropped No, message_type OFFER Feb 25 15:41:11.455217 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_relay_forward_only_packet: Broadcast BOOTPREPLY OFFER for 10.42.58.21 on safd irb.56
以下のコマンドを使用して、DHCP traceoptionsログファイル(この例では 「dhcp_logfile」)内の問題を検索できます。
最も一般的な問題の概要を把握するには、以下を使用します。
user@host> show log dhcp_logfile | match "dropp|fail|unconf" | except "packet_dropped No"
特定の問題を調査するには、以下を使用します。
user@host> show log dhcp_logfile | find " arrived on unconfigured interface"
findコマンドは、Linuxlessコマンドに似ています。ログの最初のエントリに到達し、メッセージを上下にスクロールできるようになります。
(オプション)Linuxサーバー(またはJunosシェルから)traceoptionsログを照会するには、以下の両方のコマンドを使用できます。
user@host> egrep -i "dropp|fail|unconf" dhcp_logfile | egrep -v "packet_dropped No" | more
user@host> egrep -i -b 5 " arrived on unconfigured interface" dhcp_logfile | more
意味
上記のサンプルでは、DHCP サーバーからのメッセージに、DHCP リレーから送信されたオプション 82 情報のコピーが含まれていることを確認し、サンプルにはインターフェイスのテキスト記述も表示されています。