例:ポリサーを使用したオーバーサブスクリプションの管理
インターフェイスがオーバーサブスクライブしているときにポリサーを使用し、輻輳が発生した場合に何が起こるかを制御することができます。例えば、 に示すように、サーバーがスイッチに 表 1接続されている場合があります。
サーバー タイプ |
つながる |
IP アドレス |
---|---|---|
ネットワーク・アプリケーション・サーバー |
1 ギガビット インターフェイス |
10.0.0.1 |
認証サーバー |
1 ギガビット インターフェイス |
10.0.0.2 |
データベース サーバー |
10 ギガビット インターフェイス |
10.0.0.3 |
この例では、ネットワーク・アプリケーション・サーバーが提供するサービスにユーザーがアクセスし、必要に応じてデータベース・サーバーに情報を要求します。ユーザーから要求を受信すると、ネットワーク アプリケーション サーバーは最初に認証サーバーに接続してユーザーの資格情報を確認します。ユーザーが認証され、ネットワーク アプリケーション サーバーが要求したサービスを提供する場合、データベース サーバーからアプリケーション サーバーに送信されるすべてのパケットは、アプリケーション サーバーに接続された 1 ギガビット イーサネット インターフェイスを 2 回(イングレスからアプリケーション サーバーに 1 回、ユーザーへのエグレス時に)2 回転送する必要があります。
ユーザーセッションのイベントのシーケンスは次のとおりです。
ユーザーはアプリケーション サーバーに接続し、サービスを要求します。
アプリケーション・サーバーはユーザーの資格情報を要求し、それらを認証サーバーにリレーします。
認証サーバーが認証情報を検証する場合、アプリケーション・サーバーは要求されたサービスを開始します。
アプリケーション・サーバーは、ユーザーの要求を満たすために必要なファイルをデータベース・サーバーから要求します。
データベース サーバーは、要求されたファイルをアプリケーション サーバーに送信します。
アプリケーション・サーバーは、ユーザーに対する応答として要求されたファイルを含みます。
データベース・サーバーからアプリケーション・サーバーへのトラフィックは、アプリケーション・サーバーが接続されている 1 ギガビット・インターフェースを輻輳させる可能性があります。この輻輳により、サーバーはユーザーからのリクエストに応答し、ユーザーに対する新しいセッションを作成できなくなる可能性があります。ポリシー実行を使用して、このようなことが起こらないようにすることができます。
このファイアウォール構成を作成するには、データベース サーバーで次の手順を実行します。
特定の制限を超えた場合、データベース サーバーからアプリケーション サーバーにトラフィックをドロップするポリサーを作成します。
[edit firewall] user@switch# set policer Database-Egress-Policer if-exceeding bandwidth-limit 400 burst-size-limit 500m user@switch# set policer Database-Egress-Policer then discard
データベース サーバーからアプリケーション サーバーへのトラフィックを調べるフィルターを作成します。
[edit firewall] user@switch# edit family inet filter Database-Egress-Filter
フィルターを構成して、データベース サーバーから出るトラフィックとアプリケーション サーバー宛てのトラフィックにポリサーを適用します。
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-1 from destination-address 10.0.0.1 user@switch# set term term-1 then policer Database-Egress-Policer
必要に応じて、データベースサーバーから他の宛先へのトラフィックを許可する条件を設定します(そうでない場合、トラフィックは暗黙の拒否ステートメントで破棄されます)。
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-2 then accept
ステートメントを
from
省略すると、条件はすべてのパケットに一致し、これが望ましい動作であることに注意してください。アプリケーション サーバーに接続されたデータベース サーバー インターフェイスに、出力フィルターとしてエグレス フィルターをインストールします。
[edit interfaces] user@switch# set xe-0/0/3 unit 0 family inet filter output Database-Egress-Filter
これが最終設定の表示方法です。
firewall { policer Database-Egress-Policer { if-exceeding { bandwidth-limit 400; burst-size-limit 500m; } then discard; } family inet { filter Database-Egress-Filter { term term-1 { from { destination-address { 10.0.0.1/24; } } then policer Database-Egress-Policer; } term term-2 { # If required, include this term so that traffic from the database server to other destinations is allowed. then accept; } } } ]