加入者管理のためのアドレス割り当てプール
アドレス割り当てプールの概要
アドレス割り当てプールを使用すると、プールを使用するクライアントアプリケーションとは独立して、集中型のIPv4およびIPv6アドレスプールを作成できます。authdプロセスは、アドレスがローカルプールから取得されたものか、RADIUSサーバーからのものであるかにかかわらず、プールとアドレス割り当てを管理します。
例えば、DHCP などの複数のクライアントアプリケーションは、同じアドレス割り当てプールを使用して、特定のクライアントにアドレスを提供できます。クライアントアプリケーションは、認証済みクライアントまたは認証されていないクライアントのアドレスを取得できます。RADIUSサーバーまたはネットワークマッチング、またはその他のルールに基づいて、加入者用に選択されたプールを、加入者用マッチングプールと呼びます。
- アドレス割り当てタイプ
- アドレス割り当てプール内の名前付きアドレス範囲
- リンクされたアドレスプールからのアドレス割り当て
- アドレスプールホールドダウン状態
- ネイバーディスカバリルーターアドバタイズメント用のアドレス割り当てプール
- 指定されたアドレスまたはアドレス範囲の除外
- ライセンス要件
- アドレス割り当てプールのメリット
アドレス割り当てタイプ
アドレス割り当てプールは、動的アドレス割り当てと静的アドレス割り当ての両方をサポートします。動的アドレス割り当てでは、クライアントにはアドレス割り当てプールからアドレスが自動的に割り当てられます。IPv4プールでのみサポートされている静的アドレス割り当てでは、アドレスを予約し、そのアドレスは特定のクライアントによって常に使用されます。静的割り当て用に予約されたアドレスは動的アドレスプールから削除され、他のクライアントに割り当てることができません。
アドレス割り当てプール内の名前付きアドレス範囲
アドレス割り当てプール内に名前付きアドレス範囲を設定できます。名前付き範囲は、アドレス範囲全体のサブセットです。クライアントアプリケーションでは、名前付き範囲を使用して、クライアント固有の基準に基づいてアドレス割り当てを管理できます。例えば、IPv4アドレス割り当てプールの場合、特定のDHCPオプション82値に基づいて名前付き範囲を作成できます。次に、DHCP クライアント要求が指定されたオプション 82 の値に一致すると、指定した範囲のアドレスがクライアントに割り当てられます。
リンクされたアドレスプールからのアドレス割り当て
アドレス割り当てプールをリンクして、アドレス割り当て用のバックアッププールを提供できます。プライマリまたは一致するアドレスプールに使用可能なアドレスがない場合、デバイスは自動的にリンクされた(セカンダリ)アドレスプールに進み、割り当て可能なアドレスを検索します。
リンクされたプールのチェーン内の最初のプールは一般にプライマリプールとみなされますが、一致するプールが必ずしもチェーン内の最初のプールであるとは限りません。
検索メカニズムがどのように機能するかについての例を使用しましょう。A、B、C の 3 つのプールのチェーンについて考えてみましょう。プール A はプライマリ プール、プール B は RADIUS サーバーから返された情報に基づく特定の加入者のマッチング プールです。これらの加入者が使用可能なアドレスを検索するには、以下のシーケンスを使用します。
デフォルトでは、一致するプール(プールB)が最初に検索されます。
アドレスが見つからない場合、検索はチェーン内の最初のプール(プールA)に移動します。
検索は、使用可能なアドレスが見つかって割り当てられるまで、または検索によって空いているアドレスがないと判断されるまで、チェーン (プール C) を通じて進行します。
各プールで、すべてのアドレス範囲でアドレスが完全に検索されます。
linked-pool-aggregationステートメントを設定して、一致するプール内の各範囲のアドレスのブロック内で検索を開始し、その後、リンクされたプールを順次検索することができます。その後、検索はチェーンの最初のプールに戻り、チェーンの最後のプールまで各プールのすべての範囲のすべてのアドレスを検索します。
アドレスプールホールドダウン状態
ホールドダウン状態でアドレス割り当てプールを設定できます。アドレスプールがホールドダウン状態になると、プールは加入者にIPアドレスを割り当てるために使用できなくなります。この設定では、以前に割り当てられたアドレスがプールに戻されるため、アクティブプールが非アクティブな状態に正常に変換されます。プールが非アクティブな場合、アクティブな加入者に影響を与えることなく、プールのメンテナンスを安全に実行できます。
ネイバーディスカバリルーターアドバタイズメント用のアドレス割り当てプール
Neighbor Discovery Router Advertisement(NDRA)のアドレス割り当てプールを明示的に割り当てることができます。
指定されたアドレスまたはアドレス範囲の除外
例えば、特定のアドレスや範囲を静的加入者にのみ使用するように予約したい場合があります。除外するアドレスまたは範囲を設定し、そのアドレスまたは範囲内のアドレスがすでに割り当てられている場合、その加入者はログアウトされ、アドレスの割り当てが解除され、アドレスは除外のマークが付けられます。
ライセンス要件
この機能にはライセンスが必要です。加入者アクセスライセンスの詳細については、「 加入者アクセスライセンスの概要」を参照してください。ライセンス管理に関する一般的な情報については、 ジュニパーライセンスガイド を参照してください。詳細については製品 データシート を参照するか、ジュニパーアカウントチームまたはジュニパーパートナーにお問い合わせください。
アドレス割り当てプールのメリット
アドレス割り当てプール機能は、加入者管理とDHCP管理の両方をサポートします。
クライアントアプリケーションとは独立して、アドレスの集中プールを作成できます。
アドレスのブロック(名前付き範囲)を指定することで、特定のアドレスプールを使用して、異なるクライアントアプリケーションや異なる基準セットに一致する加入者に異なるアドレスを提供できます。
プールを相互にリンクして、プール内で特定の方法(連続的または非連続的)で空きアドレスを検索することができます。
プールからそれ以上のアドレスが割り当てられないように指定することで、アドレスプールをアクティブから非アクティブにグレースフルに移行できます。
リンクされたアドレスプールからのアドレス割り当て
アドレス割り当てプールをチェーンにリンクして、アドレス割り当て用のバックアッププールを提供できます。RADIUSサーバーまたはネットワークの一致、またはその他のルールに基づいて、加入者に選択されたプールを、加入者の一致プールまたは一致プールと呼びます。一致するプールは、チェーン内の最初の(プライマリ)プールではない可能性があります。一致するアドレスプールまたはプライマリアドレスプールから割り当て可能なアドレスがない場合、ルーターまたはスイッチは自動的に別のアドレスプールに進み、割り当て可能なアドレスを検索します。検索で使用可能なアドレスがどこにも見つからない場合、検索は停止し、加入者にアドレスは割り当てられません。
検索動作によって、リンクされたプールのチェーンに沿って検索がどのように進行するかだけでなく、各プール内のどのアドレス範囲が検索されるかも決まります。検索の開始場所、設定、および以前に割り当てられたアドレスが解放されたかどうかに応じて、検索はチェーン内の次にリンクされたアドレスプールで続行されるか、チェーン内の最初のプールに戻る場合があります。
利用可能なアドレスの検索は、加入者に一致するプールから開始されます。多くの場合、一致するプールはチェーンの最初のプールでもあります。一部の加入者にとって、一致するプールはチェーンの奥下にあります。例えば、認証時に一致するいくつかの基準に基づいて、チェーンの最初のプールではなく、2番目のプールを指定するようにRADIUSサーバーを設定することができます。別の例として、加入者グループごとに異なるアドレス範囲を指定することもできます。特定のプールが加入者と一致するかどうかは、異なるアドレス範囲に対してどのプールが設定されているかによって異なります。
検索動作の詳細を説明するために、以下の用語が使用されます。
-
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ステートメントが設定されている場合の動作。最初に、一致したプールの各範囲で特定のアドレス(nextAddress から highAddress まで)のみが検索されます。同じ検索がリンクされたプールで実行され、必要に応じて、各リンクされたプールを連続してチェーン内の最後のプールまで続行されます。その後、検索はチェーン内の最初のプール(必ずしも一致したプールとは限りません)で再開されます。今回は、チェーンの端までのすべてのプールで、すべての範囲のすべてのアドレスが検索されます。
これは基本的な機能ですが、両方の検索の詳細はかなり複雑です。 図 1 は、デフォルトの検索動作を示しています。
例えば、以下の条件が存在するとします。
-
リンクされたアドレスプールA、B、C、D。プールCが一致します。
-
各プールには、r1、r2、r3の3つのアドレス範囲があります。最後に使用された範囲は、各プールの r2 でした。
空きアドレスが見つからない場合、検索は次のように進みます:C > A > B > C > D。その後停止します。
-
プールCが検索され、範囲r2のhighAddressを介してnextAddressが検索されます。
-
プールCが検索され、範囲r2のnextAddressを介してlowAddressが検索されます。
-
プールCが検索され、範囲r3のhighAddressを介してnextAddressが検索されます。
-
プールCが検索され、範囲r3のnextAddressを介してlowAddressが検索されます。
-
プールCが検索され、範囲r1のhighAddressを介してnextAddressが検索されます。
-
プールCが検索され、範囲r1のnextAddressを介してlowAddressが検索されます。
プール C のすべての範囲とアドレスが検索されたため、検索はチェーン内の最初のプール A に移動します。
-
プールAが検索され、範囲r2のnextAddressからhighAddressまで検索されます。
-
プール A が検索され、範囲 r2 の nextAddress を介して lowAddress が検索されます。
-
プールAが検索されます。範囲r3のnextAddressからhighAddressまで。
-
プールAが検索され、範囲r3のnextAddressを介してlowAddressが検索されます。
-
プールAが検索され、範囲r1のhighAddressを介してnextAddressが検索されます。
-
プール A が検索され、範囲 r1 の nextAddress を介して lowAddress が検索されます。
プール A のすべての範囲とアドレスが検索されたため、検索はチェーン内の次のリンクされたプール B に移動します。
このプロセスは、すべてのプールのすべての範囲のすべてのアドレスが検索されるまで続きます。プールの検索順序は C > A > B > C > D で、その後停止します。アドレスが見つかった場所と是否有無によっては、一致するプールが 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を介してnextAddressが検索されます。
-
プールCが検索され、範囲r3のhighAddressを介してnextAddressが検索されます。
-
プールCが検索され、範囲r1のhighAddressを介してnextAddressが検索されます。
プール C のすべての範囲が nextAddress から highAddress まで検索されているため、検索はチェーン内の次のリンクされたプール D に移動します。
-
プールDが検索され、範囲r2のhighAddressを介してnextAddressが検索されます。
-
プール D が検索され、範囲 r3 の nextAddress から highAddress まで検索されます。
-
プールDが検索され、範囲r1のhighAddressを介してnextAddressが検索されます。
プール D のすべての範囲が、nextAddress から highAddress まで検索されています。プール D はチェーンの最後のプールであるため、検索はチェーンの最初のプール A に移動します。
-
プール A が検索されます。範囲 r2 の lowAddress から highAddress まで。
-
プール A が検索されます。範囲 r3 の lowAddress から highAddress まで。
-
プール A が検索されます。範囲 r1 の lowAddress から highAddress まで。
プール A のすべての範囲とアドレスが検索されたため、検索はチェーン内の次のリンクされたプール B に移動します。
-
プールBが検索されます。範囲r2のlowAddressからhighAddressまで。
-
プールBが検索されます。範囲r3のlowAddressからhighAddressまで。
-
プールBが検索されます。範囲r1のlowAddressからhighAddressまで。
プール B のすべての範囲とアドレスが検索されたため、検索はチェーン内の次のリンクされたプール C に移動します。
このプロセスは、すべてのプールのすべての範囲のすべてのアドレスが検索されるまで続きます。プール検索の順序は、C > D > A > B > C > D で、その後停止します。アドレスが見つかった場所と是否有無によっては、一致するプールがチェーン内の最初のプールであっても、すべてのプールが 2 回検索される場合があります。例えば、プールAがこの条件セットで一致するプールである場合、完全な検索(アドレスが見つからないと仮定)は、A>B>C>D>A>B>C>Dになります。
アドレス割り当てプール設定の概要
アドレス割り当てプール機能は、異なるクライアントアプリケーションで共有できるアドレスプールを作成できるようにすることで、加入者管理機能をサポートします。アドレス割り当てプールは、IPv4アドレスまたはIPv6アドレスのいずれかをサポートできます。両方のタイプのアドレスに同じプールを使用することはできません。
アドレス割り当てプールは、[edit access]階層レベルでaddress-poolステートメントで作成するサービスPICベースのL2TP LNSアドレスプールや、[edit services nat]階層レベルでpoolステートメントで作成する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
}
}
}
同様に、pool v6-pool の構成では、割り当てるアドレスの範囲と、割り当てから除外されるアドレスの範囲が定義されます。
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—アドレスプールから割り当てられたアドレスの割合がこの値を下回ると、abated-utilization トラップが生成されます。システムは警告メッセージの送信を停止します。通常、削減使用率のしきい値は、高使用率のしきい値よりも小さく設定します。それ以上に設定することはできません。
しきい値にデフォルト値はありません。これらのしきい値を設定しない場合、割り当てられたアドレスの割合が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
次の例では、IPv4アドレスプールの使用率(高)しきい値を95%、使用率を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が設定されている場合の動作。最初に、一致したプールの各範囲で特定のアドレス(nextAddress から highAddress まで)のみが検索されます。必要に応じて、同じ検索がリンクされたプールで実行され、チェーン内の最後のプールまで、連続する各リンクされたプールを通って続行されます。その後、検索はチェーン内の最初のプール(必ずしも一致したプールとは限りません)で再開されます。今回は、チェーンの端までのすべてのプールで、すべての範囲のすべてのアドレスが検索されます。
加入者を識別するためにIPアドレスのみを使用するようにRADIUSサーバーを設定している場合、 linked-pool-aggregation ステートメントを含めることが望ましい場合があります。通常、加入者は、加入者セッションIDやその他の基準を使用してRADIUSサーバーによって識別されます。IPアドレスのみを使用する場合、 linked-pool-aggregation ステートメントが設定されていない場合のデフォルトの動作で、次のような問題が発生する可能性があります。加入者は切断でき、そのアドレスを次の加入者に割り当てることができます。2 人目の加入者に対する Acct-Start メッセージは、切断された加入者に Acct-Stop メッセージが送信される前に送信される場合があります。Acct-Stopを受信すると、IPアドレスのみで識別される新しい加入者を切断できます。
この状況を回避するには、 linked-pool-aggregation ステートメントを含めるか、識別に(IPアドレスではなく)加入者セッションIDを使用するようにRADIUSサーバーを設定します。
開始する前に、アドレスプールを設定してください。 アドレス割り当てプール設定の概要を参照してください。
アドレス割り当てプールをセカンダリプールにリンクするには:
例えば、以下の設定は、Pool_AをPool_Bにリンクし、次に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時間まで)クライアントにバインドされたままである場合に示されます。このような状況では、アクティブドレイン設定を削除してから、プール用に再設定して、プールが適時にドレインされるようにします。
authdまたはjdhcpdが再起動した場合、あるいはルーティングエンジンのグレースフルスイッチオーバーが発生した場合、ログアウトを開始するためにNAKが送信されていない一部の加入者によってプールアドレスが使用されることがあります。再起動または GRES が完了すると、authd は、アクティブなドレイン用に設定されたプールのアドレスをまだ持っている加入者のリストを含む通知を jdhcpd に送信します。その後、プールの排水を続行できます。
Junos OSリリース18.4R1以降、アドレスプールが削除またはドレインしていることをauthdが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
関連項目
例:アドレス割り当てプールの設定
要件
ネットワークアクセスアドレス割り当てプールを作成します。使用率が100%に達したときにプールを自動的に拡張するには、新しいプール範囲を元のプールサイズに一致させるために、プールごとに異なるネットマスクを使用します。
概要
設定
この例では、IPv4 DHCP クライアント(isp_1)用に 1 つ、アドバタイズメントに使用される 2 つ目のプール(chi-fiber-ra)の 2 つのプールを作成するアドレス割り当てプール設定を示していますルーター。
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;
}
}
}
}
この例では、southeast と northeast の 2 つの名前付きアドレス範囲を含む isp-1 という名前の IPv4 アドレス割り当てプールを作成します。アドレス割り当てプールには、クライアントhost host.example.net用の静的バインディングも含まれています。ISP_1プール設定には、プールがDHCPクライアントに使用されていることを示すdhcp-attributesステートメントも含まれています。オプション 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 オプションを含めることで、アドレス保護が設定されている場合に、オプションで現在使用中のアドレスの再割り当てを有効にすることができます。