[index]
AT-DC2552XS コマンドリファレンス 2.5.3.1
トラフィック制御 / ハードウェアパケットフィルター
- 概要
- 基本動作
- インターフェースACLの構成と処理順序
- ポリシーマップの構成と処理順序
- ポートとVLANの両方にポリシーマップを適用している場合
- 各種フィルター機能の処理フロー
- 内部領域と設定可能数
- インターフェースACLの内部領域消費量
- ポリシーマップの内部領域消費量
- 設定手順
- インターフェースACL
- コマンド例
- ポリシーマップ
ハードウェアパケットフィルターについて解説します。
Note - ハードウェアパケットフィルターは、本製品が送信するパケットには適用されません。
Note - IGMP Snooping有効時、IGMPパケットにはハードウェアパケットフィルター(インターフェースACL、ポリシーマップ)が適用されません。
概要
ハードウェアパケットフィルターは、パケットの受信時に、本製品のスイッチングチップ(ASIC)でパケットフィルタリングを行う機能です。
ハードウェアパケットフィルターの設定は、受信インターフェース(スイッチポートまたはVLAN)にハードウェアアクセスリストを適用することで行いますが、インターフェースへの適用方法によって次の2つの方式があります。
- ハードウェアアクセスリストを直接適用する方式(インターフェースACL。スイッチポートにのみ適用可)
- ポリシーマップ、クラスマップを介して間接的に適用する方式(ポリシーマップ。スイッチポートとVLANに適用可)
受信スイッチポートにハードウェアアクセスリストを直接適用する「インターフェースACL」では、フィルタリング条件に以下の各項目を使用できます。
- Ethernetヘッダー
- 送信元MACアドレス
- 宛先MACアドレス
- 入力VLAN
- IPヘッダー
- 始点IPアドレス
- 終点IPアドレス
- 上位プロトコル(IPすべて、TCP、UDP、ICMP、任意のプロトコルタイプ)
- TCP/UDPヘッダー
- ICMPヘッダー
受信スイッチポートやVLANに対して間接的にハードウェアアクセスリストを適用する「ポリシーマップ」では、上記の条件に加え、以下の項目も指定可能です。
- Ethernetヘッダー
- 宛先MACアドレスの種別(ユニキャスト、ブロードキャスト、マルチキャスト)
- フレームフォーマットとプロトコルタイプ
- CoS値
- IPヘッダー
- TOS優先度(precedence)
- DSCP(DiffServ Code Point)
- TCPヘッダー
- TCP制御フラグ(ACK, SYN, FIN, RST, URG)
インターフェースACLは、設定方法がシンプルでコンフィグ上の見通しがよく、後述する内部領域の消費量が少ないのが利点です。
一方、ポリシーマップは、インターフェースACLよりも設定が複雑になり、内部領域の消費量も多めですが、使用できる条件が多く、より柔軟なフィルタリングを行えます。
ハードウェアパケットフィルターを利用するときは、使用するフィルタリング条件と設定のしやすさ、内部領域の消費量のバランスを考慮して、どちらの方式を用いるかを決定してください。なお、同一ポート上で両機能を併用することも可能です。
フィルタリング条件に一致したパケットに対しては、以下の処理(アクション)が可能です。アクションは最初に一致したフィルターエントリーで適用されます。
- 通常転送(permit)
- 破棄(deny)
- 通常転送 + ミラーポートにコピー(copy-to-mirror)
インターフェースACLの場合、インターフェースに適用されているアクセスリストのエントリーに一致しなかったパケットは、通常どおり転送処理されます。
ポリシーマップの場合は、インターフェースに適用されているポリシーマップの明示的エントリー(ユーザー定義のクラスマップ)に一致しなかったパケットは、「デフォルトクラスマップ」のアクションにしたがって処理されます。
インターフェースACLでは、フィルタリング条件と処理内容はハードウェアアクセスリストによって定義します。
ポリシーマップでは、フィルタリング条件と処理内容はハードウェアアクセスリストとクラスマップの組み合わせによって定義します。
ハードウェアアクセスリストの概要と作成方法については「トラフィック制御」の「アクセスリスト」をご覧ください。
なお、ポリシーマップは、受信パケットをトラフィッククラスに分類して異なるサービスレベル(帯域や優先度)を割り当てるQuality of Service(QoS)機能でも使用しますが、本解説編ではポリシーマップのパケットフィルタリング機能だけをとりあげます。ポリシーマップのQoS機能については、「トラフィック制御」の「Quality of Service」をご覧ください。
基本動作
ハードウェアパケットフィルターの基本動作について説明します。
インターフェースACLの構成と処理順序
直接適用方式のハードウェアパケットフィルター(インターフェースACL)は、受信スイッチポートに適用された1個以上のハードウェアアクセスリストで構成されます。実際のフィルタリングに使用されるエントリーリストは、各アクセスリスト内のエントリーを順番に並べたものとなります。次に例を示します。
- スイッチポート1.0.1
- [1] ハードウェアアクセスリスト acl1
- (1) deny ip 10.0.0.0/8 any
- (2) deny ip 172.16.0.0/12 any
- (3) deny ip 192.168.0.0/16 any
- [2] ハードウェアアクセスリスト acl2
- (4) deny tcp any any eq 25
- (5) deny tcp any any eq 3128
- (6) deny tcp any any eq 8080
- [3] ハードウェアアクセスリスト acl3
- (7) copy-to-mirror udp any any eq 14888
- (8) copy-to-mirror icmp any any
この例では、スイッチポート1.0.1に3つのハードウェアアクセスリストacl1, acl2, acl3をこの順序([1]〜[3])で適用しています。この場合、スイッチポート1.0.1に直接適用されたハードウェアパケットフィルターは、実質的に(1)〜(8)で示した8つのフィルターエントリーを持つこととなります。(1)〜(8)のフィルターエントリーにマッチしたパケットは、各エントリーのアクションにしたがって処理されます。(1)〜(8)のいずれにもマッチしなかったパケットは、通常どおり転送されます。
ポリシーマップの構成と処理順序
間接適用方式のハードウェアパケットフィルター(ポリシーマップ)は、受信スイッチポートまたはVLANに適用されたポリシーマップが持つ、1個以上のクラスマップで構成されます。実際のフィルタリングに使用されるエントリーリストは、各クラスマップを順番に並べたものとなります。次に例を示します。
- スイッチポート1.0.2
- ポリシーマップ polmap2
- [1] クラスマップ cmap1
- ハードウェアアクセスリスト pacl1
- (1) permit tcp 192.168.10.0/24 192.168.20.0/24
- (1) match tcp-flags syn ack
- [2] クラスマップ cmap2
- ハードウェアアクセスリスト pacl2
- (2) deny tcp 192.168.10.0/24 192.168.20.0/24
- (2) match tcp-flags syn
- [3] デフォルトクラスマップ
この例では、スイッチポート1.0.2にポリシーマップpolmap2が適用されています。ポリシーマップpolmap2は、2つのユーザー定義クラスマップ pacl1, pacl2 と、暗黙のうちに存在するデフォルトクラスマップで構成されています。この場合、スイッチポート1.0.2に間接適用されたハードウェアパケットフィルターは、実質的に(1)〜(3)で示した3つのフィルターエントリーを持つこととなります。(1)〜(2)のフィルターエントリーにマッチしたパケットは、各エントリーのハードウェアアクセスリストで指定されたアクションにしたがって処理されます。(1)〜(2)のいずれにもマッチしなかったパケットは、(3) のデフォルトクラスマップのアクションにしたがって処理されます。
ポートとVLANの両方にポリシーマップを適用している場合
ポリシーマップはスイッチポートとVLANの両方に適用することが可能です。
パケットの受信ポートと受信VLANの両方にポリシーマップが適用されていた場合、パケットとクラスマップの照合順序は次のようになります。
- 受信ポートに適用されたポリシーマップのユーザー定義クラスマップ(ポリシーマップに関連付けた順で照合)
- 受信VLANに適用されたポリシーマップのユーザー定義クラスマップ(ポリシーマップに関連付けた順で照合)
- 受信ポートに適用されたポリシーマップのデフォルトクラスマップ
- 受信VLANに適用されたポリシーマップのデフォルトクラスマップ
照合はパケットにマッチするクラスマップが見つかった時点で終了します(それ以降のクラスマップとは照合しません)。
そのため、受信ポートと受信VLANの両方にポリシーマップが適用されている場合は、1, 2にマッチしなかったパケットがすべて3に分類され、4に分類されることはありません。
各種フィルター機能の処理フロー
次に、攻撃検出機能、インターフェースACL、ポリシーマップの処理順序を示します。同一ポート上でこれらの機能を併用している場合、すべての機能を通過しないとパケットは出力されません。

内部領域と設定可能数
インターフェースACLとポリシーマップは、各機能専用のシステム内部領域を使います。インターフェースACLとポリシーマップには、それぞれ独立した内部領域が256単位ずつ用意されています。
インターフェースACLやポリシーマップをスイッチポートやVLANに適用すると、それぞれの内部領域が消費されます。
インターフェースACL、ポリシーマップをいくつまで設定できるかは、この内部領域の消費具合によって決まります。
以下では、インターフェースACLとポリシーマップが内部領域をどのように消費するかについて解説します。
インターフェースACLの内部領域消費量
インターフェースACLは、下記のルール1〜3にしたがって専用の内部領域(総容量256単位)を消費します。
ここでは説明のため、次に示すハードウェアアクセスリストacl1とacl2を用意し、これを様々なパターンでスイッチポートに適用して、それぞれの場合の内部領域消費量を考えます。
awplus(config)# access-list hardware acl1 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.1.0/24 any ↓
awplus(config-ip-hw-acl)# deny ip 192.168.2.0/24 any ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# access-list hardware acl2 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.3.0/24 any ↓
awplus(config-ip-hw-acl)# exit ↓
|
- スイッチポートに適用したハードウェアアクセスリストのエントリー数に応じて内部領域を消費します。
たとえば、acl1(2エントリー)とacl2(1エントリー)を、acl1, acl2の順でスイッチポートport1.0.1に適用すると、インターフェースACL用の内部領域は3単位消費されます。
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# access-group acl1 ↓
awplus(config-if)# access-group acl2 ↓
|
- 同じハードウェアアクセスリストを同じ順序で複数のスイッチポートに適用する場合、内部領域の消費量はポート数に左右されません。
たとえば、acl1(2エントリー)とacl2(1エントリー)を、全52ポート(port1.0.1〜port1.0.61)に適用した場合でも、適用順序が全ポート同じであれば、内部領域の消費量は3単位で変わりません。
awplus(config)# interface port1.0.1-port1.0.61 ↓
awplus(config-if)# access-group acl1 ↓
awplus(config-if)# access-group acl2 ↓
|
- 複数のスイッチポートに同じハードウェアアクセスリストを適用していても、ポートによってハードウェアアクセスリストの適用順序が異なる場合、前項は適用されず、適用順序の組み合わせ数によって消費量が増えます。
たとえば、acl1(2エントリー)とacl2(1エントリー)を、acl1, acl2の順でport1.0.1〜port1.0.48に、acl2, acl1の順でport1.0.49〜port1.0.61に適用した場合の内部領域消費量は3単位ではなく、5単位になります。
awplus(config)# interface port1.0.1-port1.0.48 ↓
awplus(config-if)# access-group acl1 ↓
awplus(config-if)# access-group acl2 ↓
awplus(config-if)# exit ↓
awplus(config)# interface port1.0.49-port1.0.61 ↓
awplus(config-if)# access-group acl2 ↓
awplus(config-if)# access-group acl1 ↓
awplus(config-if)# exit ↓
|
本製品は、インターフェースACLの領域消費量をおさえるため、各ポートにおけるアクセスリストの適用順序を守りながらも、可能な場合は複数ポートで領域を共有します。そのため、同じハードウェアアクセスリストを異なる順序で複数ポートに適用した場合の内部領域消費量は、ポートあたりの消費量×適用順の組み合わせ数(上記例では3×2=6)よりも小さくなる(上記例では5)ことがあります。
しかし、どの程度領域を共有できるかは、各スイッチポートでのアクセスリスト適用順だけでなく、コマンドの入力順序にも依存するため、CLIからダイナミックに設定したときと、コンフィグ保存後に再起動したときとで領域消費量が異なるケースもあります。インターフェースACLを使用する場合は、次にのべるshow platform classifier statistics utilization briefコマンドで実際の消費量を確認しながら設定を進めてください。また、設定がひととおり完了したら、設定を保存して再起動し、再起動後の領域消費量も確認すると確実です。
■ インターフェースACLによる内部領域の消費状況は、show platform classifier statistics utilization briefコマンドで確認できます。
awplus# show platform classifier statistics utilization brief ↓
|
Policy Type「ACL」の「Used」欄がインターフェースACLによる消費量を示しています。
インターフェースACLを使用する場合は、同コマンドで消費量を確認しながら設定してください。
ポリシーマップの内部領域消費量
ポリシーマップは、下記のルール1〜3にしたがって専用の内部領域(総容量256単位)を消費します。
- 基本原則として、スイッチポートまたはVLANに適用したポリシーマップ内のクラスマップ数(デフォルトクラスマップを含む)に応じて内部領域を消費します。
たとえば、次に示すポリシーマップpmap1をスイッチポートport1.0.1に適用した場合、pmap1はユーザー定義のクラスマップ2つ(cmap1, cmap2)と暗黙のうちに存在するデフォルトクラスマップ(default)1つの合計3つのクラスマップを持つため、ポリシーマップ用内部領域の消費量は3単位となります。
awplus(config)# access-list hardware acl1 ↓
awplus(config-ip-hw-acl)# permit tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# access-list hardware acl2 ↓
awplus(config-ip-hw-acl)# deny tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# class-map cmap1 ↓
awplus(config-cmap)# match access-group acl1 ↓
awplus(config-cmap)# match tcp-flags syn ack ↓
awplus(config-cmap)# exit ↓
awplus(config)# class-map cmap2 ↓
awplus(config-cmap)# match access-group acl2 ↓
awplus(config-cmap)# match tcp-flags syn ↓
awplus(config-cmap)# exit ↓
awplus(config)# policy-map pmap1 ↓
awplus(config-pmap)# class cmap1 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# class cmap2 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# exit ↓
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# service-policy input pmap1 ↓
|
- 基本は1クラスマップあたり1単位の消費量ですが、クラスマップのマッチ条件として複数のエントリーを持つハードウェアアクセスリストが使われている場合、該当クラスマップはハードウェアアクセスリストのエントリー数分の領域を消費します。
たとえば、次に示すポリシーマップpmap2をスイッチポートport1.0.1に適用した場合の内部領域消費量は、cmap3が2単位、cmap4が2単位、defaultが1単位で合計5単位となります。
awplus(config)# access-list hardware acl3 ↓
awplus(config-ip-hw-acl)# permit tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# permit tcp 192.168.10.0/24 192.168.30.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# access-list hardware acl4 ↓
awplus(config-ip-hw-acl)# deny tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# deny tcp 192.168.10.0/24 192.168.30.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# class-map cmap3 ↓
awplus(config-cmap)# match access-group acl3 ↓
awplus(config-cmap)# match tcp-flags syn ack ↓
awplus(config-cmap)# exit ↓
awplus(config)# class-map cmap4 ↓
awplus(config-cmap)# match access-group acl4 ↓
awplus(config-cmap)# match tcp-flags syn ↓
awplus(config-cmap)# exit ↓
awplus(config)# policy-map pmap2 ↓
awplus(config-pmap)# class cmap3 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# class cmap4 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# exit ↓
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# service-policy input pmap2 ↓
|
- ポリシーマップを複数のスイッチポートまたはVLANに適用した場合、内部領域の総消費量は各ポートまたはVLANの消費量を合計したものとなります。これは、同じポリシーマップを複数ポートまたはVLANに適用した場合であっても変わりません。
たとえば、前記ポリシーマップpmap1を全52ポート(port1.0.1〜port1.0.61)に適用した場合の内部領域消費量は、3×52=156単位となります。
awplus(config)# interface port1.0.1-port1.0.61 ↓
awplus(config-if)# service-policy input pmap1 ↓
|
同様に、前記ポリシーマップpmap2を全52ポート(port1.0.1〜port1.0.61)に適用した場合の内部領域消費量は、5×52=260単位となりますが、ポリシーマップ機能が使える内部領域は256単位なので、これは不可能です。
(次の例では、port1.0.1〜port1.0.57の51ポートにはpmap2を適用できていますが、51ポートで5×51=255単位を消費してしまっており、残りが1単位しかないため、最終ポート1.0.61へのpmap2(5単位)の適用には失敗しています)
awplus(config)# interface port1.0.1-port1.0.61 ↓
awplus(config-if)# service-policy input pmap2 ↓
% Max number of Filter entries has exceeded.
% Can't attach policy-map(pmap2) to port1.0.61
|
また、ポリシーマップをVLANに適用した場合は、ポート数ではなくVLAN数をもとに計算します。たとえば、前の例と同じポリシーマップpmap1を、スイッチポートではなく、vlan101〜150の50 VLANに適用した場合の内部領域消費量は、3×50=150単位となります。
awplus(config)# interface vlan101-vlan150 ↓
awplus(config-if)# service-policy input pmap1 ↓
|
■ ポリシーマップによる内部領域の消費状況は、show platform classifier statistics utilization briefコマンドで確認できます。
awplus# show platform classifier statistics utilization brief ↓
|
Policy Type「QoS」の「Used」欄がポリシーマップによる消費量を示しています。
ポリシーマップを使用する場合は、同コマンドで消費量を確認しながら設定してください。
設定手順
インターフェースACL
インターフェースACLの設定は次の流れで行います。
- ハードウェアアクセスリストを作成
- 受信スイッチポートにアクセスリストを適用
以下、各手順について詳しく解説します。
ここでは例として、スイッチポート1.0.13において、ホスト192.168.100.38からサーバー192.168.10.5と192.168.10.11宛てのIPパケットを遮断するよう設定します。
- ハードウェアアクセスリストacl2を作成し、IPパケットの条件とマッチしたときの処理を指定します。これにはaccess-list hardware(list)コマンドとaccess-list hardware(seq entry)コマンドを使います。
awplus(config)# access-list hardware acl2 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.100.38/32 192.168.10.5/32 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.100.38/32 192.168.10.11/32 ↓
awplus(config-ip-hw-acl)# exit ↓
|
- 受信スイッチポートにハードウェアアクセスリストを追加します。interfaceコマンドで対象スイッチポートを指定してインターフェースモードに入り、access-groupコマンドで関連付けるハードウェアアクセスリストを指定します。
awplus(config)# interface port1.0.13 ↓
awplus(config-if)# access-group acl2 ↓
awplus(config-if)# exit ↓
|
Note - 1つのスイッチポートに対して、ハードウェアアクセスリストを複数追加した場合、受信パケットとアクセスリストの照合はアクセスリストの追加順に行われます。受信パケットがどのアクセスリストともマッチしなかった場合、該当パケットは許可されます。
基本設定は以上です。
■ トランクグループ(saX, poX)にインターフェースACLを適用するときは、「saX」、「poX」ではなく、該当グループに所属しているすべてのスイッチポートに同じアクセスリストを設定します。たとえば、スイッチポート1.0.1〜1.0.10からなるLACPチャンネルグループ「1」にインターフェースACLを適用するには、次のようにしてください。
awplus(config)# interface port1.0.1-1.0.10 ↓
awplus(config-if)# access-group acl3 ↓
|
インターフェース名「saX」や「poX」にアクセスリストを適用することはできないので注意してください。
awplus(config)# interface sa1 ↓
awplus(config-if)# access-group acl4 ↓
% ACL cannot be attached to a static aggregator interface.
|
Note - REFグループ(refX)上でのハードウェアパケットフィルター(インターフェースACL)の使用はサポート対象外です。
コマンド例
次に具体的なコマンド例を示します。
■ ポート1.0.1において、192.168.10.100から192.168.20.0/24へのIPパケットを破棄。
awplus(config)# access-list hardware acltest1 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.10.100/32 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.1 ↓
awplus(config-if)# access-group acltest1 ↓
|
■ ポート1.0.2〜1.0.4において、10.0.0.0/8からのICMPパケットを破棄。
awplus(config)# access-list hardware acltest2 ↓
awplus(config-ip-hw-acl)# deny icmp 10.0.0.0/8 any ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.2-1.0.4 ↓
awplus(config-if)# access-group acltest2 ↓
|
■ ポート1.0.5において、MACアドレス00:0a:79:34:0b:00〜00:0a:79:34:0b:ffからのパケットだけを許可。
awplus(config)# access-list hardware acltest3 ↓
awplus(config-ip-hw-acl)# permit mac 00:0a:79:34:0b:00 00:00:00:00:00:ff any ↓
awplus(config-ip-hw-acl)# deny mac any any ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.5 ↓
awplus(config-if)# access-group acltest3 ↓
|
■ ポート1.0.8において、192.168.30.100へのtelnetパケットを破棄。
awplus(config)# access-list hardware acltest4 ↓
awplus(config-ip-hw-acl)# deny tcp any 192.168.30.100/32 eq 23 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.8 ↓
awplus(config-if)# access-group acltest4 ↓
|
■ ハードウェアパケットフィルターは、同一サブネット内のトラフィックに対しても有効です。そのため、「192.168.10.0/24の存在するポート1.0.1〜1.0.12において、192.168.10.0/24から他のサブネットへのIP通信を拒否」するつもりで次のような設定を行うと、192.168.10.0/24内でもIP通信ができなくなってしまいます。
awplus(config)# access-list hardware acltest5 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.10.0/24 any ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.1-1.0.12 ↓
awplus(config-if)# access-group acltest5 ↓
|
このような場合は、次の例のように「始点IPアドレスと終点IPアドレスが同一サブネットなら許可」というアクセスリストを拒否のアクセスリストの前に追加してください。
awplus(config)# access-list hardware acltest5 ↓
awplus(config-ip-hw-acl)# permit ip 192.168.10.0/24 192.168.10.0/24 ↓
awplus(config-ip-hw-acl)# deny ip 192.168.10.0/24 any ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# interface port1.0.1-1.0.12 ↓
awplus(config-if)# access-group acltest5 ↓
|
Note - ハードウェアパケットフィルターでは、最初にマッチしたアクセスリストのアクションが実行されます。デフォルト拒否の設定を行うには、最初に特定の条件を満たしたパケットを許可するアクセスリストを並べた上で、最後にすべてを破棄するアクセスリストを指定します。また、デフォルト許可に設定する場合は、特定の条件を満たしたパケットを拒否するアクセスリストだけを並べていきます。つまり、ハードウェアパケットフィルター自体はデフォルト許可です。
■ スイッチポートに適用されているハードウェアアクセスリストを確認するには、show interface access-groupコマンドを使います。
awplus# show interface port1.0.1-1.0.24 access-group ↓
|
■ アクセスリストの情報を表示するには、show access-listコマンドを使います。
awplus# show access-list ↓
|
■ スイッチポートからハードウェアパケットフィルターを削除するには、該当ポートを対象にしたインターフェースモードにおいて、access-groupコマンド、をno形式で実行します。
awplus(config)# interface port1.0.1-1.0.24 ↓
awplus(config-if)# no access-group acltest11 ↓
awplus(config-if)# no access-group acltest10 ↓
|
Note - スイッチポートからハードウェアパケットフィルターを削除しても、ハードウェアアクセスリストそのものは削除されません。スイッチポートとハードウェアアクセスリストの関連付けが削除されるだけです。ハードウェアアクセスリストを削除するには、access-list hardware(list)コマンドをno形式で実行します。
ポリシーマップ
ポリシーマップを利用したハードウェアパケットフィルターの設定は次の流れで行います。
Note - ここでは、ポリシーマップのパケットフィルタリング機能だけをとりあげます。ポリシーマップのQoS機能については、「トラフィック制御」の「Quality of Service」をご覧ください。
- ハードウェアアクセスリストを作成
- クラスマップを作成
- ポリシーマップを作成
- 受信スイッチポートまたはVLANにポリシーマップを適用
以下、各手順について詳しく解説します。
ここでは例として、192.168.10.0/24から192.168.20.0/24へのTCP接続(セッション開始)を禁止するよう設定します。
仕様により、1つのクラスマップでSynパケットだけを破棄する設定はできないため、ここでは2つのクラスマップを用意し、(1) Syn=Onのパケットは原則破棄、(2) ただしSyn=OnかつAck=Onのパケットは例外的に許可、という2つの条件を併用することでセッション確立を禁止します。
なお、192.168.10.0/24のネットワークは、ポート1.0.1〜1.0.2に接続されているものと仮定します。
- 192.168.10.0/24から192.168.20.0/24へのTCPパケットを識別するハードウェアアクセスリストを作成します。これにはaccess-list hardware(list)コマンドとaccess-list hardware(seq entry)コマンドを使います。
ここでは、Syn=OnかつAck=Onのパケットを許可するためのアクセスリストSA10と、Syn=Onのパケットを破棄するためのアクセスリストS10を作成します。
なお、ハードウェアアクセスリストでは、TCP制御フラグの指定はできません。これは、クラスマップのmatch tcp-flags節を使って指定します。
awplus(config)# access-list hardware SA10 ↓
awplus(config-ip-hw-acl)# permit tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
awplus(config)# access-list hardware S10 ↓
awplus(config-ip-hw-acl)# deny tcp 192.168.10.0/24 192.168.20.0/24 ↓
awplus(config-ip-hw-acl)# exit ↓
|
Note - ハードウェアアクセスリストの概要と作成方法については、「トラフィック制御」の「アクセスリスト」をご覧ください。
- 192.168.10.0/24から192.168.20.0/24へのTCPパケットに関して、Syn=OnかつAck=Onのパケットを許可するクラスマップpermitSA10と、Syn=Onのパケットを破棄するクラスマップdenyS10を作成します。
クラスマップの作成はclass-mapコマンドで行います。同コマンドを実行するとクラスマップモードに移動するので、同モードのコマンドを使って分類条件を指定してください。ここでは、match access-groupコマンドを使って、前の手順で作成したハードウェアアクセスリストを指定し、match tcp-flagsコマンドでTCP制御フラグのマッチ条件を指定します。
awplus(config)# class-map permitSA10 ↓
awplus(config-cmap)# match access-group SA10 ↓
awplus(config-cmap)# match tcp-flags syn ack ↓
awplus(config-cmap)# exit ↓
awplus(config)# class-map denyS10 ↓
awplus(config-cmap)# match access-group S10 ↓
awplus(config-cmap)# match tcp-flags syn ↓
awplus(config-cmap)# exit ↓
|
- 2つのクラスマップを束ねるポリシーマップpacl10を作成します。最初にpolicy-mapコマンドでポリシーマップの名前を指定します。これにより、ポリシーマップモードに移動します。
awplus(config)# policy-map pacl10 ↓
awplus(config-pmap)#
|
- ポリシーマップにクラスマップを関連付け、該当クラスマップによって識別されたパケットに対する処理を指定します。ここでは、192.168.10.0/24から192.168.20.0/24へのTCP Syn + Ackパケットを許可、同TCP Synパケットを拒否、その他すべてのパケットを許可するよう設定します。
クラスマップの関連付けはclassコマンドで行います。同コマンドでクラスマップ名を指定するとポリシーマップ・クラスモードに移動しますが、現状このモードで実行できるコマンドはありませんので、すぐにexitコマンドを実行して同モードを抜けます。
awplus(config-pmap)# class permitSA10 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# class denyS10 ↓
awplus(config-pmap-c)# exit ↓
awplus(config-pmap)# exit ↓
|
- ポリシーマップpacl10をネットワーク192.168.10.0/24の接続されているスイッチポート1.0.1〜1.0.2に適用します。
awplus(config)# interface port1.0.1-1.0.2 ↓
awplus(config-if)# service-policy input pacl10 ↓
|
設定は以上です。
■ トランクグループ(saX, poX, refX)にポリシーマップを適用するときは、「saX」、「poX」、「refX」ではなく、該当グループに所属しているすべてのスイッチポートに同じポリシーマップを設定します。たとえば、スイッチポート1.0.1〜1.0.10からなるLACPチャンネルグループ「1」にポリシーマップを適用するには、次のようにしてください。
awplus(config)# interface port1.0.1-1.0.10 ↓
awplus(config-if)# service-policy input pacl10 ↓
|
インターフェース名「saX」、「poX」、「refX」にポリシーマップを適用することはできないので注意してください。
awplus(config)# interface po1 ↓
awplus(config-if)# service-policy input pacl12 ↓
% Service policy cannot be applied to a dynamic aggregator interface.
awplus(config-if)# exit ↓
awplus(config)# interface ref1 ↓
awplus(config-if)# service-policy input pacl12 ↓
^
% Invalid input detected at '^' marker.
|
■ 上記設定例ではポリシーマップをスイッチポートに適用していましたが、ポリシーマップはVLANに適用することもできます。たとえば、さきほどの例において192.168.10.0/24がvlan10に接続されているならば、手順5を次のように変更することも可能です。
awplus(config)# interface vlan10 ↓
awplus(config-if)# service-policy input pcal10 ↓
|
(C) 2011-2012 アライドテレシスホールディングス株式会社
PN: 613-001633 Rev.C