加入者管理用のアドレス割り当てプール
アドレス割り当てプールの概要
アドレス割り当てプールを使用すると、プールを使用するクライアントアプリケーションに関係なく、一元化されたIPv4およびIPv6アドレスプールを作成できます。認証プロセスは、アドレスがローカルプールから取得されるのか、RADIUSサーバーから来ているのかを問わず、プールとアドレス割り当てを管理します。
たとえば、DHCP などの複数のクライアント アプリケーションは、同じアドレス割り当てプールを使用して、特定のクライアントにアドレスを提供できます。クライアント アプリケーションは、認証済みクライアントまたは認証されていないクライアントのアドレスを取得できます。RADIUS サーバーまたはネットワーク一致またはその他のルールに基づいて、加入者に対して選択されたプールを、加入者の一致プールと呼ばれます。
- アドレス割り当てタイプ
- アドレス割り当てプールの名前付きアドレス範囲
- リンクアドレスプールからのアドレス割り当て
- アドレス プールのホールドダウン状態
- ネイバーディスカバリールーターアドバタイズメントのアドレス割り当てプール
- 指定されたアドレスまたはアドレス範囲の除外
- ライセンス要件
- アドレス割り当てプールのメリット
アドレス割り当てタイプ
アドレス割り当てプールは、動的アドレス割り当てと静的アドレス割り当ての両方をサポートします。動的アドレス割り当てでは、クライアントにはアドレス割り当てプールからアドレスが自動的に割り当てられます。IPv4プールでのみサポートされている静的アドレス割り当てでは、特定のクライアントが常に使用するアドレスを予約します。静的割り当て用に予約されているアドレスは、動的アドレス・プールから削除され、他のクライアントに割り当てることはできません。
アドレス割り当てプールの名前付きアドレス範囲
アドレス割り当てプール内で、名前付きアドレス範囲を設定できます。名前付き範囲は、アドレス範囲全体のサブセットです。クライアント アプリケーションでは、名前付き範囲を使用して、クライアント固有の基準に基づいてアドレス割り当てを管理できます。例えば、IPv4 アドレス割り当てプールの場合、特定の DHCP オプション 82 値に基づく名前付き範囲を作成できます。その後、DHCP クライアントのリクエストが指定されたオプション 82 値に一致すると、指定された範囲のアドレスがクライアントに割り当てられます。
リンクアドレスプールからのアドレス割り当て
アドレス割り当てプールをリンクして、アドレス割り当て用のバックアッププールを提供できます。プライマリまたは一致するアドレス プールにアドレスが使用できない場合、デバイスは自動的にリンク(セカンダリ)アドレス プールに進み、割り当て可能なアドレスを検索します。
一般に、リンク・プールのチェーン内の最初のプールは 1 次プールと見なされますが、一致するプールは必ずしもチェーン内の最初のプールであるとは限りません。
Junos OS リリース 18.1R1 以降では、利用可能なアドレスの検索メカニズムがリンク プールのチェーンを通じて処理されます。この動作により、DHCP はアドレスを連続して検索できます..
検索メカニズムの仕組み例を使用します。3 つのプール(A、B、C)のチェーンを考えてみましょう。プール A はプライマリ プールであり、プール B は RADIUS サーバーが返す情報に基づいて特定の加入者に一致するプールです。これらの加入者に使用可能なアドレスを検索する場合、次のシーケンスが使用されます。
デフォルトでは、一致するプール(プール B)が最初に検索されます。
アドレスが見つからない場合、検索はチェーン内の最初のプール(プール A)に移動します。
検索は、利用可能なアドレスが見つかって割り当てられるまで、または検索によってアドレスが空かなくなったと判断されるまで、チェーン(プール C)を通って続行されます。
各プールでは、すべてのアドレス範囲が 1 つのアドレスを完全に検索します。
ステートメントを linked-pool-aggregation
設定して、一致するプール内の各範囲のアドレスブロック内の検索を開始してから、リンクプールを連続して検索することができます。検索はチェーン内の最初のプールに戻り、チェーン内の最後のプールを通る各プール内のすべての範囲のすべてのアドレスを検索します。
アドレス プールのホールドダウン状態
アドレス割り当てプールは、ホールドダウン状態で設定できます。アドレス プールがホールドダウン状態の場合、プールは、加入者に IP アドレスを割り当てるために使用できなくなります。この設定は、以前に割り当てられたアドレスがプールに返されるので、アクティブなプールを非アクティブ状態にグレースフルに変換します。プールが非アクティブな場合、アクティブな加入者に影響を与えることなく、プールの保守を安全に実行できます。
ネイバーディスカバリールーターアドバタイズメントのアドレス割り当てプール
ネイバー検出ルーターアドバタイズメント(NDRA)のアドレス割り当てプールを明示的に割り当てることができます。
指定されたアドレスまたはアドレス範囲の除外
Junos OS リリース 18.1R1 以降では、アドレス プールから割り当てられるのを防ぐために、指定されたアドレスまたは連続アドレスの範囲を除外できます。
例えば、特定のアドレスや範囲を静的加入者にのみ使用するように予約することができます。除外するアドレスまたは範囲を設定し、その範囲内のアドレスまたはアドレスがすでに割り当てられている場合、その加入者はログアウトされ、アドレスは割り当て解除され、アドレスは除外としてマークされます。
ライセンス要件
この機能にはライセンスが必要です。加入者アクセス ライセンスの詳細については、「 加入者アクセス ライセンスの概要」を参照してください。ライセンス管理に関する一般的な情報については、 ジュニパーのライセンスガイド を参照してください。詳細については、製品 データシート を参照するか、ジュニパーアカウントチームまたはジュニパーパートナーにお問い合わせください。
アドレス割り当てプールのメリット
アドレス割り当てプール機能は、加入者管理とDHCP管理の両方をサポートします。
クライアント アプリケーションに関係なく、アドレスの一元的なプールを作成できます。
アドレスのブロック、名前付き範囲を指定することで、特定のアドレスプールを使用して、異なるクライアント・アプリケーションや、異なる基準のセットに一致する加入者に異なるアドレスを提供することができます。
プールをリンクして、連続または非連続でプールが特定の方法で空きアドレスを検索するようにすることができます。
アドレス プールをアクティブから非アクティブにグレースフルに移行するには、プールからそれ以上アドレスが割り当てされていないことを指定します。
リンクアドレスプールからのアドレス割り当て
アドレス割り当てプールをチェーンにリンクして、アドレス割り当て用のバックアップ プールを提供できます。RADIUSサーバーまたはネットワークの一致またはその他のルールに基づいて、加入者に選択されたプールは、加入者の一致または一致したプールと呼ばれます。一致するプールは、チェーン内の最初の (1 次) プールではないかもしれません。一致アドレスプールまたはプライマリアドレスプールからの割り当てにアドレスが利用できない場合、ルーターまたはスイッチは自動的に別のアドレスプールに進み、割り当て可能なアドレスを検索します。検索で利用可能なアドレスがどこにも検出されない場合、検索は停止し、加入者にアドレスは割り当てられません。
検索動作では、リンクされたプールのチェーンに沿って検索がどのように進むかだけでなく、各プール内のどのアドレス範囲を検索するかを決定します。検索が開始される場所、設定、および以前に割り当てられたアドレスが解放されたかどうかに応じて、検索をチェーン内の次のリンクアドレスプールで続行したり、チェーンの最初のプールに戻ったりすることができます。
使用可能なアドレスの検索は、加入者と一致するプールから開始されます。多くの場合、一致するプールはチェーンの最初のプールでもあります。一部の加入者にとって、一致するプールはチェーンの下にあります。たとえば、RADIUS サーバーが、認証時に一致する基準に基づいて 1 つ目のプールではなく、チェーンの 2 つ目のプールを指定するように構成する場合があります。別の例では、異なる加入者グループに異なるアドレス範囲を指定することができます。特定のプールが加入者に一致するかどうかは、異なるアドレス範囲に対して設定されているプールによって異なります。
以下の用語を使用して、検索動作の詳細を説明します。
lowAddress — アドレス プール内の特定の範囲内の最も低いアドレス。
highAddress — アドレス プール内の特定の範囲内の最高アドレス。
nextAddress — アドレス プール内の特定の範囲内で最後に割り当てられたアドレスの後の次のアドレス。これは、次に割り当てられると予想されるアドレスです。このアドレスと最後に使用した範囲は、検索の開始点として保存されます。
例えば、プール A に 192.0.2.1、192.0.2.2、192.0.2.3、192.0.2.4 というアドレスを含む単一の範囲があるとします。この場合、192.0.2.1 は lowAddress、190.0.2.4 は highAddress です。192.0.2.2 がこのプールから最後に割り当てられたアドレスの場合、nextAddress は 192.0.2.3 です。
Junos OS リリース 18.1R1 以降、次の 2 つの方法のいずれかで検索するようにリンク プールを設定できます。
連続アドレス割り当て — これはデフォルトの動作です。プールの各範囲のすべてのアドレスが検索されます。検索は一致したプールから開始され、チェーン内の最初のプールに移動し、必要に応じて各リンク プールを連続してチェーン内の最後のプールまで続行します。各プールでは、すべての範囲のすべてのアドレスが空きアドレスを検索します。このメソッドでは、アドレスを連続して割り当てることができます。各プールは、別のプールが検索される前にフルである必要があります。
連続しない(集約された)アドレス割り当て — ステートメントが設定されている場合の
linked-pool-aggregation
動作。最初は、一致したプールの各範囲で特定のアドレス(次のアドレスから highAddress まで)のみが検索されます。リンクされたプールでは同じ検索が実行され、必要に応じて、各リンク プールを連続してチェーン内の最後のプールまで続行します。その後、検索はチェーン内の最初のプールで再開されます(必ずしも一致したプールとは限りません)。今回は、チェーンの最後のすべてのプールで、すべての範囲のすべてのアドレスが検索されます。
これが基本的な機能ですが、両方の検索の詳細はかなり複雑です。 図 1 は、デフォルトの検索動作を示しています。

例えば、以下の条件があるとします。
リンクアドレスプールA、B、C、D.プールCが一致します。
各プールには、r1、r2、r3 の 3 つのアドレス範囲があります。最後に使用された範囲は、各プールで r2 でした。
空きアドレスが見つからない場合は、次のように検索を実行します。C > A > B > C > D を停止します。
プール C が検索され、次に範囲 r2 の highAddress を通じてアドレスが検索されます。
プール C が検索され、範囲 r2 の次のアドレスを通じてアドレスが低くなっています。
プール C が検索され、次に範囲 r3 の highAddress を通じてアドレスが検索されます。
プール C が検索され、範囲 r3 の次のアドレスを通じてアドレスが低くなっています。
プール C が検索され、次に範囲 r1 の highAddress を通じてアドレスが検索されます。
プール C が検索され、lowAddress through nextAddress in range r1.
プール C 内のすべての範囲とアドレスが検索されたので、検索はチェーン内の最初のプールである A に移動します。
プール A が検索され、次に範囲 r2 の highAddress を通じてアドレスが検索されます。
プール A が検索され、範囲 r2 の次のアドレスからアドレスが低くなっています。
プール A が検索され、次に範囲 r3 の highAddress を通じてアドレスが検索されます。
プール A が検索され、範囲 r3 の次のアドレスを通じてアドレスが低くなっています。
プール A が検索され、次に範囲 r1 の highAddress を通じてアドレスが検索されます。
プール A が検索され、範囲 r1 の次のアドレスを通じてアドレスが低くなっています。
プール A 内のすべての範囲とアドレスが検索されたので、検索はチェーン内の次のリンク プール B に移動します。
このプロセスは、すべてのプール内のすべての範囲のすべてのアドレスが検索されるまで続きます。プール検索順序は、A > B > C > D > C、次に停止します。アドレスが見つかった場所と見つかったかどうかに応じて、一致するプールを 2 回検索する場合があります。これは、一致するプールがチェーンの最初のプールでない限り、当てはまります。例えば、プール A がこの一連の条件で一致するプールである場合、完全検索 (アドレスが見つからないと仮定) は A > B > C > D になります。
図 2 は、 ステートメントを含める場合の検索動作を linked-pool-aggregation
示しています。

例えば、デフォルトの例と同じ条件を考えてみましょう。
リンクアドレスプールA、B、C、D.プールCが一致します。
各プールには、r1、r2、r3 の 3 つのアドレス範囲があります。最後に使用された範囲は、各プールで r2 でした。
空きアドレスが見つからない場合は、次のように検索を実行します。C > D > A > B > C > D、次に停止します。
プール C が検索され、次に範囲 r2 の highAddress を通じてアドレスが検索されます。
プール C が検索され、次に範囲 r3 の highAddress を通じてアドレスが検索されます。
プール C が検索され、次に範囲 r1 の highAddress を通じてアドレスが検索されます。
プール C 内のすべての範囲が次から上位アドレスに検索されているため、検索はチェーン D のリンクされたプールに移動します。
プール D が検索され、次に範囲 r2 の highAddress を通じてアドレスが検索されます。
プール D が検索され、次に範囲 r3 の highAddress を通じてアドレスが検索されます。
プール D が検索され、次に範囲 r1 の highAddress を通じてアドレスが検索されます。
プール D のすべての範囲が次から上位アドレスまで検索されました。プール D はチェーンの最後のプールであるため、検索はチェーン内の最初のプール A に移動します。
プール A が検索され、範囲 r2 の highAddress を通じてアドレスが低くなっています。
プール A が検索され、範囲 r3 の highAddress を通じてアドレスが低くなっています。
プール A が検索され、範囲 r1 の highAddress を通じてアドレスが低くなっています。
プール A 内のすべての範囲とアドレスが検索されたので、検索はチェーン内の次のリンク プール B に移動します。
プール B が検索され、範囲 r2 の highAddress を通じてアドレスが低くなっています。
プール B が検索され、範囲 r3 の highAddress を通じてアドレスが低くなっています。
プール B が検索され、範囲 r1 の highAddress を通じてアドレスが低くなっています。
プール B 内のすべての範囲とアドレスが検索されたので、検索はチェーン内の次のリンク プールである C に移動します。
このプロセスは、すべてのプール内のすべての範囲のすべてのアドレスが検索されるまで続きます。プール検索順序は、A > B > C > D > C > D で、次に停止します。アドレスが見つかった場所と見つかったかどうかに応じて、一致するプールがチェーンの最初のプールである場合でも、すべてのプールを 2 回検索することがあります。たとえば、プール A がこの一連の条件で一致するプールである場合、完全検索 (アドレスがない場合) は A > B > C > D > A > B > C > D になります。
アドレス割り当てプール構成の概要
アドレス割り当てプール機能は、異なるクライアント アプリケーションで共有できるアドレス プールを作成できるようにすることで、加入者管理機能をサポートします。アドレス割り当てプールは、IPv4 アドレスまたは IPv6 アドレスのいずれかをサポートできます。両方のタイプのアドレスに同じプールを使用することはできません。
アドレス割り当てプールは、階層レベルの ステートメントで address-pool
作成するサービスPICベースのL2TP LNSアドレスプールと、 階層レベルの [edit access]
ステートメントで作成 pool
するNATプールとは完全に [edit services nat]
独立しています。
アドレス割り当てプールを設定するには:
「」も参照
アドレス割り当てプール名とアドレスの設定
アドレス割り当てプールを設定するには、プールの名前を指定し、プールのアドレスを設定する必要があります。
IPv4 アドレス割り当てプールを設定するには:
IPv6 アドレス割り当てプールを設定するには:
プールの名前を設定し、IPv6ファミリーを指定します。
[edit access] user@host# edit address-assignment pool isp_2 family inet6
アドレスプールのIPv6ネットワークプレフィックスを設定します。プレフィックス指定は、IPv6 アドレス割り当てプールを設定する場合に必要です。
[edit access address-assignment pool isp_2 family inet6] user@host# set prefix 2001:db8:2008:2009::/32
動的アドレス割り当ての名前付きアドレス範囲の設定
オプションで、アドレス割り当てプール内のアドレスの複数の名前付き範囲(サブセット)を設定できます。動的アドレス割り当て中に、クライアントに特定の名前付き範囲のアドレスを割り当てることができます。名前付き範囲を作成するには、範囲の名前を指定し、アドレス範囲を定義します。
IPv4 アドレス割り当てプール内で名前付き範囲を作成するには、以下の手順に従います。
IPv6 アドレス割り当てプール内で名前付き範囲を作成するには、以下の手順に従います。
アドレス割り当てプールと IPv6 ファミリーの名前を指定します。
[edit access] user@host# edit address-assignment pool isp_2 family inet6
範囲の名前を設定し、範囲を定義します。範囲は、範囲内のプレフィックスの下限と上限に基づいて定義することも、範囲内のプレフィックスの長さに基づいて定義することもできます。
[edit access address-assignment pool isp_2 family inet6] user@host# set range dsl-range low 2001:db8:2008:2010:2011:0100::/64 high 2001:db8:2008:2010:2011:ffff::/64 user@host# set range fiber-east prefix-length 48
アドレスプールからアドレスが割り当てられるのを防ぐ
指定したアドレスまたはアドレス範囲を除外して、アドレス・プールから割り当てないようにすることができます。例えば、特定のアドレスや範囲を静的加入者にのみ使用するように予約することができます。除外するアドレスまたはアドレスの範囲を設定し、その範囲内のアドレスまたはアドレスがすでに割り当てられている場合、そのアドレスを割り当てた加入者がログアウトすると、アドレスは割り当て解除され、アドレスは除外としてマークされます。
アドレス プール内のアドレスまたはアドレス範囲を割り当てから除外するには、以下を行います。
個々のアドレスを指定します。
[edit access address-assignment pool-name family (inet | inet6)] user@host# set excluded-address ip-address
連続するアドレスの範囲を指定し、名前を付けます。
[edit access address-assignment pool-name family (inet | inet6)] user@host# set excluded-range name low minimum-value high maximum-value
例えば、IPv4アドレスプールの以下の部分的な設定では、割り当てるアドレスの範囲r1を192.168.0.10から192.168.128.250まで定義します。1 つのアドレス 192.168.110.10 を除外します。さらに、プールから割り当てることができない連続アドレスの 2 つのセットを指定する、exclude1 と exclude2 という 2 つの範囲を定義します。
pool v4-pool { family inet { network 192.168.0.0/16; range r1 { low 192.168.0.10; high 192.168.128.250; } excluded-address 192.168.110.10 excluded-range exclude1 { low 192.168.12.0 high 192.168.12.255 } excluded-range exclude2 { low 192.168.98.10 high 192.168.98.200 } } }
同様に、プール v6 プールの構成では、割り振るアドレスの範囲と、割り振りから除外されるアドレスの範囲を定義します。
pool v6-pool { family inet6 { prefix 2016::/64; range r2 { low 2016::1; high 2016::80:ffff; } excluded-range exclude3 { low 2016::7c:a high 2016::7c:ff } } }
除外されたアドレスに関する情報を表示するには、以下のいずれかのコマンドを使用できます。
user@host> show network-access address-assignment pool pool-name IP address/prefix Hardware address Host/User Type 192.168.2.1 00:00:5e:00:53:01 user1 DHCP 192.168.2.2 00:00:5e:00:53:02 user2 DHCP 192.168.2.3 00:00:5e:00:53:03 user3 DHCP 192.168.2.4 NA EXCLUDED unknown
user@host> show network-access aaa statistics address-assignment pool pool-name Address-assignment statistics ... Addresses excluded: 1000 ...
アドレス割り当てプール使用しきい値トラップの設定
使用量(使用率)のしきい値トラップを設定することで、アドレスプールまたはリンクされたアドレスプールのセットが利用可能なアドレスで不足していることを示す高度な警告を受け取ることができます。使用率と使用率は、現在割り当てられているアドレス プール内のアドレスの割合を意味するために、同じ意味で使用されます。アドレスプールには、以下のSNMPしきい値が関連付けられています。特定の条件が存在する場合、ローカルアドレスサーバーがSNMPトラップに信号を送れるようにします。
使用率の高いしきい値—アドレス プールから割り当てられたアドレスの割合がこの値を超えると、使用率の高い SNMP トラップが生成されます。このしきい値を超えた場合、システムは警告メッセージを送信します。
abated-utilization threshold—アドレス プールから割り当てられたアドレスの割合がこの値を下回ると、アバード使用率トラップが生成されます。システムは警告メッセージの送信を停止します。通常、アバート使用率のしきい値を高使用率のしきい値よりも小さく設定します。高く設定することはできません。
しきい値にはデフォルト値がありません。これらのしきい値を設定しない場合、割り当てられたアドレスの割合が 100% に近づくにつれて、システムは枯渇の通知を送信しません。システムは、アドレス プール内のすべてのアドレスが割り当てられている場合にのみ、アドレス外トラップを送信します。
Junos OS リリース 19.2R1 以降、高使用率しきい値とアバート使用率しきい値の両方が設定されていない限り、アドレス外トラップは送信されません。アドレス外トラップが送信されると、アドレス外syslogメッセージも送信されます。
階層レベルですべてのアドレス プールのしきい値を設定することも、 [edit access address-assignment]
階層レベルで指定したルーティング インスタンスのアドレス プールのみにしきい値を [edit routing-instance routing-instance-name]
設定することもできます。以下の設定は、設定のみを [edit access]
示しています。
しきい値トラップを設定するには:
IPv4またはIPv6アドレスプールの使用率の高いしきい値を指定します。
[edit accessaddress-assignment] user@host# set high-utilization percentage user@host# set high-utilization-v6 percentage
IPv4またはIPv6アドレスプールのアバード使用率のしきい値を指定します。
[edit accessaddress-assignment] user@host# set abated-utilization percentage user@host# set abated-utilization-v6 percentage
次の例では、高いしきい値は 95% の使用率に設定され、無効なしきい値は IPv4 アドレス プールの 90% 使用量に設定されています。割り当てられたアドレスの数がアドレス プールの 95% を超えると、使用率の高いトラップが生成されます。すべてのアドレスがプールから割り当てられると、アドレス外トラップが生成され、アドレス外syslogメッセージが送信されます。割り当てられたアドレスの数がアドレス プールの 90% を下回ると、アバード使用率トラップが生成されます。
[edit accessaddress-assignment] user@host# set high-utilization 95 user@host# set abated-utilization 90
アドレス割り当てプールリンクの設定
アドレス割り当てプールリンクを使用すると、一致するアドレス割り当てプールまたはプライマリアドレス割り当てプールが完全に割り当てられている場合に使用する、ルーターのセカンダリアドレスプールを指定できます。複数のリンクプールのチェーンを作成できます。例えば、プール A をプール B にリンクし、プール B をプール C にリンクすることができます。チェーン内の任意の数のプールをシリアルリンクすることはできますが、同じプールとの間で複数のリンクを作成することはできません。例えば、プール A からプール B とプール C へのリンクを作成することはできません。同様に、プールCはプールAとプールBの両方からリンクすることはできません。さらに考慮すべき点は、チェーン内のすべてのアドレス プールが同じファミリー タイプである、IPv4 または IPv6 である必要があるということです。
加入者と一致するアドレスプールに利用可能なアドレスがない場合、ルーターは自動的にリンクプールに切り替わり、そのプールからアドレスを割り当てます。ルーターは、一致するアドレス割り当てプールが完全に割り当てられている場合にのみ、リンクプールを使用します。
Junos OSリリース18.1以降、アドレスプールのチェーンでフリーアドレスを見つけて割り当てる方法が動作が変わります。リンクプールを検索するように設定するには、次の2つの方法のいずれかを使用します。
連続アドレス割り当て — デフォルトの動作。プールの各範囲のすべてのアドレスが検索されます。検索は一致したプールから開始され、チェーン内の最初のプールに移動し、必要に応じて各リンク プールを連続してチェーン内の最後のプールまで続行します。各プールでは、すべての範囲のすべてのアドレスが空きアドレスを検索します。このメソッドでは、アドレスを連続して割り当てることができます。各プールは、別のプールが検索される前にフルである必要があります。
連続しない(集約された)アドレス割り当て —設定されている場合
linked-pool-aggregation
の動作。最初は、一致したプールの各範囲で特定のアドレス(次のアドレスから highAddress まで)のみが検索されます。必要に応じて、リンクされたプールで同じ検索が実行され、チェーン内の連続したリンクプールを通じて続行されます。その後、検索はチェーン内の最初のプールで再開されます(必ずしも一致したプールとは限りません)。今回は、チェーンの最後のすべてのプールで、すべての範囲のすべてのアドレスが検索されます。
加入者を linked-pool-aggregation
識別するためにIPアドレスのみを使用するようにRADIUSサーバーを設定する場合、 ステートメントを含めるのが望ましい場合があります。通常、加入者は、加入者セッションIDとその他の基準を使用して、RADIUSサーバーによって識別されます。IP アドレスのみを使用する場合、 ステートメントが設定されていない場合のデフォルト動作で、以下の問題が linked-pool-aggregation
発生する可能性があります。加入者は切断でき、そのアドレスを次の加入者に割り当てることができます。切断された加入者に対して Acct-Stopメッセージが送信される前に、2番目の加入者の Acct-Startメッセージが送信されることがあります。Acct-Stopを受信すると、IPアドレスでのみ識別される新しい加入者を切断できます。
この状況を回避するには、 ステートメントを linked-pool-aggregation
含めるか、識別に加入者セッションID(IPアドレスではなく)を使用するようにRADIUSサーバーを設定します。
開始する前に、アドレスプールを設定します。 アドレス割り当てプール構成の概要を参照してください。
アドレス割り当てプールをセカンダリ プールにリンクするには、次の手順に従います。
例えば、以下の設定リンクはPool_BにPool_Aし、Pool_BをPool_Cにリンクしています。
[edit access] user@host# set address-assignment pool Pool_A link Pool_B user@host# set address-assignment pool Pool_B link Pool_C
アドレス割り当てプールホールドダウンの設定
アドレス割り当てプールホールドダウン機能(パッシブドレインとも呼ばれます)により、アクティブなアドレスプールを非アクティブ状態にグレースフルに移行できます。プールが非アクティブ状態の場合、現在の加入者(アドレスの追加、変更、削除など)に影響を与えることなく、プールの保守を安全に実行できます。
アドレス割り当てプールがホールドダウン状態の場合、そのプールから追加のアドレスは割り当てされません。ただし、ホールドダウン状態は、以前にプールから割り当てられたアドレスを使用している既存の加入者には影響しません。既存の加入者が切断すると、そのIPアドレスはプール内でフリーとマークされますが、プールのホールドダウン状態によりアドレスは再割り当てされません。最終的に、すべての加入者が切断され、そのアドレスがプールに戻されると、プールは非アクティブになります。
アクティブなアドレス割り当てプールをホールドダウン状態にするには:
DHCP ローカル アドレス プール ラピッド ドレインの設定
DHCP ローカル サーバーは、アクティブ ドレイン モードにプールを設定することで、特定のローカル アドレス プールからのアドレスの割り当てを停止するように強制できます。このモードでは、すでにそのプールから割り当てられたアドレスを使用している加入者を正常に終端し、別のプールに移行できます。DHCP加入者が(T1更新時に)アクティブドレインモードに設定されたプールからのIPアドレス上のリースを更新しようとすると、DHCPローカルサーバーはNAKで加入者の更新要求に返信します。この応答により、加入者はリースを再ネゴシエーションする必要があります。その後、サーバーは、アクティブ・ドレイン用に構成されていない代替アドレス・プールから新しい IP アドレスを割り当てます。
アクティブドレインモードは、アドレスプールから加入者を迅速にドレインする方法を提供します。その結果、加入者に設定されたリース時間が長いほど、アクティブドレイン モードが有効になる可能性があります。プールにアクティブドレインモードを設定しない場合、そのアドレスの割り当てを停止するには、パッシブドレインモードを設定するか、プールを削除する必要があります。
パッシブ ドレイン モードでは、アドレス プールがホールドダウン状態になります。プールから割り振られるアドレスはこれ以上ありませんが、現在プールから割り当てられたアドレスを使用している加入者には影響はありません。既存の加入者はエージング アウトできます。加入者が切断(またはオペレーターによって切断された)場合、アドレスは解放されますが、再割り当てすることはできません。最終的には、すべての加入者がアドレスを解放し、プールはアクティブではなくなりました。アクティブな加入者のリースは要求に応じて更新されるため、パッシブ ドレイン モードでは、アクティブ ドレイン モードよりもはるかに時間がかかり、プール内のすべてのアドレスを回復できます。
プール削除は、リースの期限が切れ、加入者が再ネゴシエーションして新しいリースを取得するまでの間、プールアドレスを使用している各現在の加入者のトラフィックを中断します。サーバーは、削除されたプールからアドレスを持つすべての加入者を削除します。加入者はリースの拡張を試みますが、サーバーでリースが削除されたために失敗します。その後、加入者が新しいリースを再ネゴシエートしようとすると、別のプールまたはRADIUSからのアドレスを付与されることがあります。
アドレス プールを空にする前に、アクティブドレイン設定を削除できます。この場合、このプールからのアドレスを持つ加入者にリース拡張が付与される場合があります。一部の加入者は、構成を削除したときにサーバーによってログアウトされているため、この回復はベスト エフォートです。これらの加入者はプールに復旧できず、リースを再ネゴシエートする必要があります。その後、これらの加入者には、このプールから(再びアクティブであるため)、または代替プールからアドレスが割り当てられる場合があります。
DHCP クライアントがアドレス プールのドレイン中の通知を受信できない場合、このプールを使用する加入者にリース拡張を引き続き付与することがあります。この条件は、アドレスがプールによって回復されるべき T1 時間(T2 時間まで)を超えてクライアントにバインドされたままになります。この状況では、アクティブ・ドレーン・コンフィギュレーションを削除してから、プールがタイムリーにドレーンされるようにプール用に再構成してください。
認証またはjdhcpd再起動、またはグレースフルルーティングエンジンスイッチオーバーが発生した場合でも、一部の加入者は、ログアウトを開始するためにNAKが送信されていないプールアドレスを使用することがあります。再起動または GRES が完了すると、認証は jdhcpd に通知を送信し、アクティブ ドレイン用に設定されたプールからのアドレスをまだ持つ加入者のリストが表示されます。その後、プール・ドレーンは続行できます。
Junos OS リリース 18.4R1 以降では、アドレス割り当ての方法により、認証時に、アドレス プールが削除されたか、ドレインされていることを DHCP プロセスに通知する際の後続の動作が決定されます。
アドレスがオンデマンドで割り当てられると、そのプール内のアドレスを持つファミリーは、プールが削除されると直ちにログアウトされるか、DHCP の更新または再バインドメッセージが受信されたときにドレイン プロセスによってグレースフルにログアウトされます。
アドレスが事前割り当てられた場合、プールが削除された場合、または DHCP の更新または再バインド メッセージを受信したときにドレーン プロセスによってグレースフルに削除された場合、両ファミリのアドレスは直ちに削除されます。
アドレス プールからのアドレス割り当てを停止するように DHCP ローカル サーバーを構成するには:
コマンドを使用して、 show network-access aaa statistics
アクティブ・ドレインがプールに対して設定されていることを確認できます。
user@host> show network-access aaa statistics address-assignment pool pool1 Address assignment statistics Pool Name: pool1 Out of Memory: 0 Out of Addresses: 0 Address total: 33009 Addresses in use: 1 Address Usage (percent): 0 Pool drain configured: yes
アクティブドレイン機能は、プレフィックスアドレスの保持よりも優先されます。アドレスの保持により、ACI(アクセス回線識別子)に基づいて、同じ委任プレフィックスが加入者に割り当てられます。保存されたプレフィックスを持つ加入者がログアウトすると、ACIとプレフィックスがアドレス保持テーブルに保存されます。その加入者が再びログインしようとすると、アドレスとACIがテーブル内で検索されます。
アクティブ ドレイン モードは、この動作に影響を与えます。プレフィックスが現在、アクティブドレインモードに設定されているプールの一部である場合、それはテーブルから削除され、加入者が再びログインしようとすると加入者に割り当てされません。
クライアントがログアウト中にアクティブなドレインがキャンセルされた場合、プレフィックスとACI文字列がテーブルに保存されます。この場合、加入者が再びログインする際に、プレフィックスをACI文字列に割り当てることができます。ただし、クライアントが既にログアウトし、テーブルがプレフィックス/ACIアソシエーションからクリアされた後にアクティブドレインがキャンセルされた場合、後続のログインの加入者は、再有効化されたプールからプレフィックスを取得し、プレフィックスが異なる可能性があります。
「」も参照
静的アドレス割り当ての設定
特定のクライアントの特定のアドレスを予約することで、静的 IPv4 アドレス バインディングをオプションで作成できます。アドレスはアドレス割り当てプールから削除され、別のクライアントに割り当てされません。アドレスを予約すると、クライアント ホストを識別し、クライアント MAC アドレスと割り当てられた IP アドレス間のバインディングを作成します。IPv6 アドレス割り当てプールは、静的アドレス バインディングをサポートしていません。
IPv4アドレスの静的バインディングを設定するには:
AAA用の重複IPv4アドレス保護の設定
Junos OSリリース14.1以降、AAAを使用してIPv4アドレスを提供する場合、アドレスの重複保護を有効にして、アドレスが複数回使用されるのを防ぐことができます。有効にすると、外部サーバーから受信した以下の属性がチェックされます。
Framed-IP-Address
Framed-Pool
次に、ルーターは次のいずれかのアクションを実行します。
アドレスがアドレス プール内のアドレスと一致する場合、利用可能であれば、そのアドレスはプールから取得されます。
アドレスが既に使用されている場合、そのアドレスは利用不可能として拒否され、そのアドレスを使用している既存の加入者はそのまま残ります。
重複アドレス保護を設定するには:
Junos OSリリース18.4R1以降、 オプションを含 reassign-on-match
めることで、アドレス保護が設定されている場合に現在使用されているアドレスの再割り当てをオプションで有効にすることができます。設定されると、ルーターは既存の加入者を切断し、新しい加入者が再ネゴシエーションできるようにします。この設定の効果は、使用中のアドレスが常に新しい加入者に再割り当てされるということです。
このオーバーライド機能の 1 つの使用事例は、モバイル 加入者が誤ってゲートウェイ GPRS サポート ノード(GGSN)からドロップした場合に発生しますが、GGSN は加入者の L2TP セッションを一定時間稼働させます。お客様が別のノードを介して再接続しようとすると、元のセッションがまだ稼働しているため、セッションは接続できません。アドレスの再割り当てにより、新しいセッションが既存のセッションをプリエンプトして、加入者が再接続できるようになります。
既存の加入者は、アドレスが RADIUS 送信元アドレス プールからの場合にのみ切断されます。アドレスがローカルに設定されたアドレスプールからの場合、既存の加入者セッションはそのままです。
アドレスコリジョンの reassign-on-match
可能性が高いため、RADIUSがローカルに設定されたアドレスプールに含まれるアドレスを割り当てる場合は、 オプションを使用しないでください。RADIUS 送信元アドレスとローカル アドレス プールを重複しないことをお勧めします。
このオプションは reassign-on-match
、以下のように機能します。
加入者は、特定の IP アドレスでアクセスをネゴシエートします。
ルーターは、そのアドレスが使用中か、どこから来たのかを判断します。
加入者がすでにそのアドレスでログインしている場合、アドレスはローカルに設定されたプールの一部ではなく、アドレス保護が有効になります。
ルーターはNAKを新しい加入者に送信し、リクエストを拒否します。
ルーターは、既存の加入者に切断要求を送信します。切断要求には、ログアウトの原因を報告する終了 ID が含まれています。
新しい(拒否された)加入者は再ネゴシエーションでき、IP アドレスが割り当てられます。
加入者がすでにそのアドレスでログインしており、そのアドレスがローカル アドレス プールから割り当てられた場合:
ルーターはNAKを新しい加入者に送信し、リクエストを拒否します。
ルーターは、既存の加入者に切断要求を送信しません。
既存の重複アドレス保護構成に追加 reassign-on-match
すると、既存の加入者に対して即座に有効になります。同様に、設定から削除 reassign-on-match
すると、すぐに有効になります。そのため、その後、使用中のアドレスを持つアクセス要求は、既存の加入者が終了することはありません。
アドレスの再割り当てを有効にするには:
[edit access address-protection] user@host# set reassign-on-match
「」も参照
例:アドレス割り当てプールの設定
要件
概要
構成
この例では、2 つのプール(IPv4 DHCP クライアント用)と、ルーターアドバタイズメントに使用する 2 つ目のプール(isp_1
chi-fiber-ra
)を作成するアドレス割り当てプール設定を示しています。
CLI クイックコンフィギュレーション
[edit access] address-assignment { network-discovery-router-advertisement chi-fiber-ra; pool isp_1 { family inet { network 192.168.0.0/16; range southeast { low 192.168.102.2 high 192.168.102.254; } range northeast { low 192.168.119.2 high 192.168.119.250; } host host.example.net { hardware-address 00:00:5E:00:53:90; ip-address 192.168.44.12; } dhcp-attributes { option-match { option-82 { circuit-id fiber range northeast; } option-82 { circuit-id cable_net range southeast; } } boot-file boot.client; boot-server 192.168.200.100; grace-period 3600; maximum-lease-time 18000; netbios-node-type p-node; router 192.168.44.44 192.168.44.45; } } } pool chi-fiber-ra { family inet6 { prefix 2001:db8:2008:2009:2010::/48; range fiber3 { low 2001:db8:2008:2009:2010::1/64; high 2001:db8:2008:2009:2010::5/64; } } } }
この例では、 という名前isp-1
southeast
northeast
の IPv4 アドレス割り当てプールを作成します。アドレス割り当てプールには、クライアントhost host.example.net
の静的バインディングも含まれています。ISP_1プール設定には、 dhcp-attributes
ステートメントも含まれています。これは、プールがDHCPクライアントに使用されていることを示しています。オプション 82 circuit-id
エントリーが文字列fiber
に一致する場合、DHCP は範囲からアドレスをクライアントにnortheast
割り当てます。オプション 82 circuit-id
が文字列cable_net
に一致する場合、DHCP は範囲からアドレスをsoutheast
割り当てます。
この例で作成された 2 つ目のアドレス割り当てプールは、 です chi-fiber-ra
。構文の先頭の ステートメントは neighbor-discovery-router-advertisement
、この名前付きアドレス割り当てプールがルーターのアドバタイズに使用されることを指定します。この例の最後の構文では、 という名前 chi-fiber-ra
のアドレス割り当てプールを設定しています。
reassign-on-match
めることで、アドレス保護が設定されている場合に現在使用されているアドレスの再割り当てをオプションで有効にすることができます。