外部認証サーバを使用するDHCP
拡張DHCPローカルサーバーと拡張DHCPリレーエージェントは、RADIUSなどの外部AAA認証サービスを使用したDHCPクライアントの認証をサポートします。詳細については、このトピックをお読みください。
このトピックでは、拡張 DHCP アプリケーションという用語は、拡張 DHCP ローカル サーバーと拡張 DHCP リレー エージェントの両方を指すために使用します。
外部AAA認証サービスを使用したDHCPクライアントの認証
認証、許可、およびアカウンティング(AAA)サービス フレームワークは、ルータがネットワーク アクセス用にサポートするすべての認証、許可、アカウンティング、アドレス割り当て、およびダイナミック リクエスト サービスのための単一窓口を提供します。
拡張DHCPアプリケーションでは、DHCPサーバーとDHCPリレーエージェントの両方が、RADIUSなどの外部AAA認証サービスを使用したDHCPクライアントの認証をサポートします。DHCPv6 ローカル サーバーと DHCPv6 リレー エージェントで使用できるサポート ID。
Junos OSデバイスは、AAAインフラストラクチャ(割り当てられたDHCPサーバーとのDHCPサービス用のDHCPクライアント)にAAAインフラストラクチャを使用します。DHCP クライアント認証には、次の大まかな手順が含まれます。
DHCPローカルサーバーまたはリレーエージェントがクライアントから検出PDUを受信します
DHCPサービスはAAAサーバに接続してDHCPクライアントを認証します。
DHCP サービスは、外部の AAA 認証サーバからクライアント アドレスと DHCP 設定オプションを取得できます。
外部認証機能は、AAA ダイレクト ログアウトもサポートしています。外部 AAA サービスがユーザ ログアウト ディレクティブをサポートしている場合、拡張 DHCP アプリケーションはログアウトを受け入れ、CLI 管理コマンドで要求されたかのように表示します。
クライアントの状態情報と割り当てられたリソースはすべて、ログアウト時に削除されます。拡張DHCPアプリケーションは、[edit access profile profile-name]階層レベルのauthentication-server ステートメントで指定する設定済み認証サーバーのリストを使用して、ダイレクトログアウトをサポートします。
外部認証サーバでDHCPを設定する手順
認証サポート用にDHCPローカルサーバーとDHCPリレーエージェントを設定するには、次の手順に従います。
- それぞれの階層レベルで認証キーワードを含めて、認証を設定することを指定します。
- (オプション)オプション機能を設定して、一意のユーザー名を作成します。
- (オプション)外部認証サービスに対してユーザー名を認証するパスワードを設定します。
例:
authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } }
外部認証サーバ、DHCPアプリケーション、DHCPクライアント間で交換されるクライアント設定情報
DHCP アプリケーションが外部認証サーバーから応答を受信すると、その応答には IP アドレスとサブネットマスクのほかの情報が含まれる場合があります。DHCP サービスはこの情報を使用して、DHCP クライアントに送信します。
DHCP アプリケーションは、情報を元の形式で送信することも、情報をローカル構成仕様とマージすることもできます。
たとえば、認証応答にアドレスプール名が含まれていて、ローカル構成でそのプールのDHCP属性が指定されている場合、DHCPサービスは認証結果とサーバーがクライアントに送信する応答の属性をマージします。
ローカル構成はオプションであり、クライアントは外部認証サービスによって完全に構成できます。ただし、外部認証サービスがクライアント構成を提供しない場合は、ローカルアドレス割り当てプールを構成して、クライアントに構成を提供する必要があります。
ローカル構成でオプションが指定されている場合、拡張DHCPアプリケーションは、サーバーがクライアントに送信するオファーPDUにローカル構成オプションを追加します。2 つのオプションセットが重複する場合は、外部サービスからの認証応答のオプションが優先されます。
RADIUSを使用して認証を提供する場合、追加情報はRADIUS属性とジュニパーネットワークスVSAの形式になる場合があります。 表 1 は、RADIUS が認証許可に含める可能性のある情報の一覧です。拡張DHCPアプリケーションが加入者アクセス管理またはDHCP管理用にサポートするRADIUS属性およびジュニパーネットワークスVSAの完全なリストについては、 AAAサービスフレームワークでサポートされるRADIUS属性とジュニパーネットワークスVSA を参照してください。
属性番号 |
属性名 |
形容 |
|---|---|---|
RADIUS属性8 |
フレーム付き IP アドレス |
クライアント IP アドレス |
RADIUS属性 9 |
フレーム付き IP ネットマスク |
クライアントIPアドレスのサブネットマスク(DHCPオプション1) |
ジュニパーネットワークスVSA 26-4 |
プライマリ-DNS |
プライマリ ドメイン サーバー(DHCP オプション 6) |
ジュニパーネットワークスVSA 26-5 |
セカンダリ-DNS |
セカンダリ ドメイン サーバ(DHCP オプション 6) |
ジュニパーネットワークスVSA 26-6 |
プライマリ - WINS |
プライマリ WINS サーバー(DHCP オプション 44) |
ジュニパーネットワークスVSA 26-7 |
セカンダリ - WINS |
セカンダリ WINS サーバー(DHCP オプション 44) |
RADIUS 属性 27 |
セッションタイムアウト |
リース期間 |
RADIUS 属性 88 |
フレーム付きプール |
アドレス割り当てプール名 |
ジュニパーネットワークスVSA 26-109 |
DHCP-ガイド付きリレーサーバー |
DHCP リレー サーバー |
例:外部認証サーバによる DHCP の設定
DHCP ローカル サーバー、DHCPv6 ローカル サーバー、DHCP リレー エージェント、および DHCPv6 リレー エージェント レベルで認証を設定します。
次の例は、一意のユーザー名を作成する設定例を示しています。ユーザー名は、設定後に表示されます。
authentication {
username-include {
circuit-type;
domain-name example.com;
mac-address 2001:db8::/32;
user-prefix wallybrown;
}
}
結果の一意のユーザー名は次のとおりです。
wallybrown.2001:db8::/32.enet@example.com
認証サポートの指定
表 2 に示す階層レベルに authentication ステートメントを含めます。グローバル認証サポートまたはグループ固有のサポートのいずれかを構成できます。
サポートされている階層レベル |
階層レベル |
|---|---|
DHCP ローカルサーバー |
|
DHCP リレー エージェント |
|
DHCPv6 ローカル サーバー |
|
DHCPv6 リレー エージェント |
|
DHCP クライアントの一意のユーザー名の作成
DHCP クライアントのログイン時に外部 AAA 認証サービスに渡されるユーザ名に追加情報を含めるように、拡張 DHCP アプリケーションを設定できます。この追加情報により、加入者(DHCP クライアント)を一意に識別するユーザー名を作成できます。
一意のユーザー名を設定するには、 username-include ステートメントを使用します。追加のステートメントの一部またはすべてを含めることができます。
authentication { username-include { circuit-type; client-id <exclude-headers> <use-automatic-ascii-hex-encoding>; delimiter delimiter-character; domain-name domain-name-string; interface-description (DHCP Local Server) (device-interface | logical-interface); interface-name; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } }
認証設定にユーザー名を含めない場合、ルーター(またはスイッチ)は認証を実行しません。ただし、IPアドレスはローカルプールが設定されている場合、ローカルプールによって提供されます。
DHCPv6 ローカル サーバを使用する場合は、認証とクライアント ユーザ名を設定する必要があります。そうしないと、クライアントログインが失敗します。
次のリストでは、ユーザー名の一部として含めることができるオプション情報について説明します。
circuit-type—DHCPクライアントが使用する回線タイプ(例:enet)。client-id- クライアント識別子オプション(オプション 1)。(DHCPv6 ローカル サーバー DHCPv6 リレー エージェントのみ)delimiter- 連結されたユーザー名を構成するコンポーネントを区切る区切り文字。デフォルトの区切り文字はピリオド(.)です。セミコロン (;) は区切り文字としてサポートされていません。domain-name- クライアント ドメイン名を文字列として指定します。ルーターは、ユーザー名に @ 区切り文字を追加します。interface-description—デバイス(物理)インターフェイスまたは論理インターフェイスの説明。interface-name—インターフェイス名(インターフェイス デバイスおよび関連する VLAN ID を含む)。logical-system-name- 受信インターフェイスが論理システムにある場合の論理システムの名前。mac-address—xxxx.xxxx.xxxx形式の文字列でのクライアント MAC アドレス。option-60—長さフィールドに続くオプション 60 ペイロードの部分。(DHCPv6 ローカル サーバーではサポートされていません)option-82 <circuit-id> <remote-id>—オプション 82 ペイロードの指定されたコンテンツ。(DHCPv6 ローカル サーバーではサポートされていません)circuit-id—エージェント サーキット ID サブオプションのペイロード。remote-id—エージェント リモート ID サブオプションのペイロード。circuit-idとremote-idの両方—両方のサブオプションのペイロード(形式:circuit-id[delimiter]remote-id)。circuit-idでもremote-idでもありません—PDU からのオプション 82 の未加工のペイロードは、ユーザー名に連結されます。
手記:DHCP リレー エージェントの場合、ユーザー名の作成に使用されるオプション 82 の値は、発信(リレー)PDU でエンコードされたオプション 82 の値に基づきます。
relay-agent-interface-id—インターフェイスIDオプション(オプション18)。(DHCPv6 ローカル サーバーまたは DHCPv6 リレー エージェントのみ)relay-agent-remote-id—DHCPv6 リレー エージェント Remote-ID オプション(オプション 37)。(DHCPv6 ローカル サーバーまたは DHCPv6 リレー エージェントのみ)relay-agent-subscriber-id—(ルータのみ)DHCPv6 Relay Agent Subscriber-ID オプション(オプション 38)。(DHCPv6 ローカル サーバーまたは DHCPv6 リレー エージェントのみ)routing-instance-name—受信インターフェイスがルーティング インスタンス内にある場合のルーティング インスタンスの名前。user-prefix- ユーザ プレフィックスを示す文字列。vlan-tags—加入者VLANタグ。外部 VLAN タグと、存在する場合は内部 VLAN タグが含まれます。外側の VLAN タグがシステム全体で一意であり、基盤となる物理インターフェイス名を形式に含める必要がない場合は、interface-nameオプションの代わりにこのオプションを使用できます。
DHCPv6 クライアントの場合、DHCPv6 パケット形式にはクライアント MAC アドレスの特定のフィールドがないため、MAC アドレスは、次の優先順位を持つ複数のソースから取得されます。
クライアント DUID タイプ 1 またはタイプ 3。
オプション 79(クライアント リンク層アドレス)(存在する場合)。
クライアントが直接接続されている場合のパケット送信元アドレス。
リンク ローカル アドレス。
ルーター(スイッチ)は、指定された追加情報を次の順序で含め、フィールドを区切り文字で区切ることで、一意のユーザー名を作成します。
DHCPローカルサーバーおよびDHCPリレーエージェントの場合:
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]option-82[delimiter]option-60@domain-name
DHCPv6 ローカル サーバーの場合:
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]relay-agent-remote-id[delimiter]relay-agent-subscriber-id[delimiter]relay-agent-interface-id[delimiter]client-id@domain-name
共通のDHCP設定を持つインターフェイスのグループ化
グループ機能を使用して一連のインターフェイスをグループ化し、共通のDHCP設定を指定されたインターフェイスグループに適用します。拡張DHCPローカルサーバー、DHCPv6ローカルサーバー、DHCPリレーエージェント、DHCPv6リレーエージェントはすべて、インターフェイスグループをサポートします。
次の手順では、DHCP ローカル サーバー グループを作成します。手順は、DHCPv6 ローカル サーバー、DHCP リレー エージェント、および DHCPv6 リレー エージェントの場合と同様です。
DHCP ローカル サーバー インターフェイス グループを設定するには、次の手順に従います。
Example- 2
インターフェイスグループを設定するには、 group ステートメントを使用します。
拡張DHCPアプリケーションが有効になっている1つ以上のインターフェイスの名前を指定できます。 interface interface-name ステートメントを繰り返して、グループ内で複数のインターフェイスを指定できますが、複数のグループで同じインターフェイスを指定することはできません。例えば:
拡張DHCPアプリケーションを使用すると、一連のインターフェイスをグループ化し、指定されたインターフェイスグループに共通のDHCP設定を適用できます。
group boston { interface 192.168.10.1; interface 192.168.15.5; }uptoオプションを使用して、拡張DHCPアプリケーションを有効にするインターフェイスの範囲を指定できます。例えば:
group quebec { interface 192.168.10.1 upto 192.168.10.255; }-
excludeオプションを使用して、特定のインターフェイスまたは指定した範囲のインターフェイスをグループから除外できます。例えば:group paris { interface 192.168.100.1 exclude; interface 192.168.100.100 upto 192.168.100.125 exclude; }
Example:
group group-name { authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } } interface interface-name <upto upto-interface-name> <exclude>; }