外部認証サーバーを使用した 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クライアントを)認証します。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-Guided-Relay-Server |
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
認証サポートの指定
authentication
表 2 に示す階層レベルに ステートメントを含めます。グローバル認証のサポートまたはグループ固有のサポートのいずれかを構成できます。
サポートされている階層レベル |
階層レベル |
---|---|
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 (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
- クライアントの MAC アドレス(形式のxxxx.xxxx.xxxx
文字列)。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
)。どちら
remote-id
でもないcircuit-id
または —PDU からオプション 82 の未加工のペイロードがユーザ名に連結されます。
メモ:DHCPリレーエージェントの場合、ユーザー名の作成に使用されるオプション82の値は、発信(リレー)PDUでエンコードされたオプション82の値に基づきます。
relay-agent-interface-id
- インターフェイス ID オプション(オプション 18)。(DHCPv6 ローカル サーバーまたは DHCPv6 リレー エージェントのみ)relay-agent-remote-id
- DHCPv6 リレー エージェント リモート ID オプション(オプション 37)。(DHCPv6 ローカル サーバーまたは DHCPv6 リレー エージェントのみ)relay-agent-subscriber-id
—(ルータのみ)DHCPv6 リレー エージェント加入者 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>; }