AACL ルールの設定
AACL ルールを設定するには、 階層レベルで ステートメントを含め rule rule-name
ます [edit services aacl]
。
rule rule-name { match-direction (input | output | input-output); term term-name { from { application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; destination-address address <any-unicast>; destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; source-address-range low minimum-value high maximum-value; source-prefix-list list-name; } then { (accept | discard); count (application | application-group | application-group-any | nested-application | none); forwarding-class class-name; policer policer-name; } } }
各 AACL ルールは、階層レベルで設定された [edit firewall]
フィルターに似た一連の用語で構成されます。用語は以下で構成されます。
-
from
ステートメント:含めるおよび除外する一致条件とアプリケーションを指定します。 -
then
statement—ルーターソフトウェアが実行するアクションとアクション修飾子を指定します。
次のセクションでは、AACL ルールのコンポーネントを設定する方法について説明します。
AACL ルールの一致方向の設定
各ルールには、 match-direction
ルールの一致を適用する方向を指定するステートメントを含める必要があります。一致を適用する場所を設定するには、 階層レベルで ステートメントを含め match-direction
ます [edit services aacl rule rule-name]
。
match-direction (input | output | input-output);
を設定する match-direction input-output
と、双方向ルールの作成が許可されます。
一致方向は、サービス PIC または DPC を通過するトラフィック フローに関して使用されます。パケットがPICまたはDPCに送信されると、方向情報も一緒に伝送されます。
インターフェイス サービス セットでは、パケットの方向は、パケットがサービス セットが適用されているインターフェイスに入るか出るかによって決まります。
ネクストホップ サービス セットでは、パケットの方向は、サービス PIC または DPC へのパケットのルーティングに使用されるインターフェイスによって決まります。内部インターフェイスを使用してパケットをルーティングする場合は、パケットの方向が入力されます。外部インターフェイスを使用してパケットをPICまたはDPCに誘導する場合、パケットの方向が出力されます。内部インターフェイスと外部インターフェイスの詳細については、 サービス インターフェイスに適用されるサービス セットの設定を参照してください。
PICまたはDPCでは、フロールックアップが実行されます。フローが見つからない場合は、ルール処理が実行されます。サービス セット内のすべてのルールが考慮されます。ルールの処理中に、パケットの方向がルールの方向と比較されます。パケットの方向と一致する方向情報を持つルールのみが考慮されます。
AACL ルールでの一致条件の設定
AACL 一致条件を設定するには、 階層レベルで ステートメントを含め from
ます [edit services aacl rule rule-name term term-name]
。
from { application-group-any; application-groups [ application-group-names ]; applications [ application-names ]; destination-address address <any-unicast>; destination-address-range low minimum-value high maximum-value; destination-prefix-list list-name; nested-applications [ nested-application-names ]; nested-application-unknown source-address address <any-unicast>; source-address-range low minimum-value high maximum-value; source-prefix-list list-name; }
IPv4 および IPv6 の送信元アドレスと宛先アドレスがサポートされています。ファイアウォールフィルターを設定するのと同じ方法で、送信元アドレスまたは宛先アドレスのいずれかを一致条件として使用できます。詳細については 、「 ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイド」を参照してください。
または、 階層レベルで destination-prefix-list
source-prefix-list
ステートメントを設定しprefix-list
、 または ステートメント[edit policy-options]
のいずれかを AACL ルールに含めることで、送信元または宛先のプレフィックスのリストを指定することもできます。例については、 例:AACL ルールの設定を参照してください。
この from
用語を省略すると、AACL ルールはすべてのトラフィックを受け入れ、デフォルトのプロトコル ハンドラーが有効になります。
-
ユーザー データグラム プロトコル(UDP)、伝送制御プロトコル(TCP)、およびインターネット制御メッセージ プロトコル(ICMP)は、予測された逆方向フローを持つ双方向フローを作成します。
-
IP は単方向フローを作成します。
階層レベルで設定した [edit services application-identification]
アプリケーション定義およびアプリケーション グループ定義を含めることもできます。詳細については、「 AACL の概要」のトピックを参照してください。
-
1 つ以上の特定のアプリケーション プロトコル定義を適用するには、階層レベルでステート
applications
メントを記述します[edit services aacl rule rule-name term term-name from]
。 -
定義したアプリケーショングループ定義の 1 つ以上のセットを適用するには、階層レベルで ステートメントを含め
application-groups
ます[edit services aacl rule rule-name term term-name from]
。メモ:アプリケーション プロトコルを指定するステートメントの 1 つを含めると、ルーターは 階層レベルの対応する設定
[edit services application-identification]
からポートとプロトコルの情報を取得します。これらのプロパティを一致条件として指定することはできません。 -
データベースに定義されているアプリケーション グループを一致と見なすには、階層レベルに ステート メントを含め
application-group-any
ます[edit services aacl rule rule-name term term-name from]
。 -
データベースで定義されている入れ子になったアプリケーションが一致すると見なすには、階層レベルでステート
nested-applications
メントを含めます[edit services aacl rule rule-name term term-name from]
。入れ子になったアプリケーションは、親アプリケーションで実行されるプロトコルです。例えば、Facebook アプリケーションが親アプリケーション junos:http で実行されている場合、ネストされたアプリケーションは junos:http:facebook です。
AACL ルールでのアクションの設定
AACL アクションを設定するには、 階層レベルでステートメントを含め then
ます [edit services aacl rule rule-name term term-name]
。
then { (accept | discard); (count (application | application-group | application-group-any | nested-application | none) | forwarding-class class-name); }
次のいずれかのアクションを含める必要があります。
-
accept
- パケットは受理され、宛先に送信されます。 -
discard
- パケットは受理されず、それ以降は処理されません。
アクションとして選択 accept
する場合、オプションで次のアクション修飾子の一方または両方を設定できます。アクションで discard
アクション修飾子は使用できません。
-
count (application | application-group | application-group-any | nested-application | none)
- ルールに一致するすべての受け入れ済みパケットについて、AACL 統計方法を使用してパケット数を記録します。次のいずれかのオプションを指定できます。デフォルト設定はありません。-
application
- 句でfrom
一致したアプリケーションをカウントします。 -
application-group
- 句でfrom
一致したアプリケーション グループをカウントします。 -
application-group-any
- グループ名の下で一致するfrom application-group-any
すべてのアプリケーション グループをカウントしますany
。 -
nested-application
- 句でfrom
一致したネストされたアプリケーションをすべてカウントします。 -
none
- アクションとして指定count
しない場合と同じです。
-
-
forwarding-class class-name
—パケットの転送クラス名を指定します。
オプションで policer
、 [edit firewall]
階層レベルで指定された を含めることができます。ポリサーに指定されたビット レートとバースト サイズのプロパティのみが AACL ルール セットに適用されます。ポリサーが設定され discard
ている場合の唯一のアクション アプリケーションは です。ポリサーの定義の詳細については 、「 ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイド」を参照してください。
アプリケーションに基づく AACL フローのロギング
アプリケーションに基づいて AACL フローをログに記録できるようになりました。特定のアプリケーションを選択したり、不明なアプリケーションに関する情報を要求したりできます。
不明なアプリケーションに一致するように AACL ルールを設定できるようになりました。認識されたアプリケーションに適用できる既存のアクションはすべて、不明なアプリケーションにも適用できます。以下のステートメントを [edit services aacl rule rule-name term term-name from]
階層レベルで使用することができます。
-
アプリケーショングループ任意
-
アプリケーショングループ
-
アプリケーション - 不明
-
アプリケーション
-
ネストされたアプリケーション-不明
-
ネストされたアプリケーション
マッチングapplication-unknown
を追加すると、識別できないアプリケーションに関連する入力フローの特定のロギングが可能になります。ロギングは入力イベントによってトリガーされるため、 として input-output
または input
を指定する必要がありますmatch-direction
。
AACL のフローのロギングを設定するには、 または ステートメントを階層レベルに含め、または ステートメントを階層レベルに含めmatch-direction input
match-direction input-output
、階層applications
レベルに [edit services aacl rule rule-name]
[edit services aacl rule rule-name term term-name from]
1 つのlog
ステートメントのみを含めます[edit services aacl rule rule-name term term-name then]
。application-unknown
ログステートメントには、次のいずれかのオプションを含めることができます。
-
session-start
-
session-end
-
session-start-end-no-stats
-
session-start-interim-end
-
session-interim-end
-
session-end