Catalyst 6500 シリーズ スイッチ ソフトウェア コンフィギュレーション ガイド Software Release 8.4
アクセス制御の設定
アクセス制御の設定
発行日;2012/01/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

アクセス制御の設定

ACLの機能概要

ハードウェアの要件

サポートされるACL

QoS ACL

Cisco IOS ACL

VACL

VACLの概要

VACLでサポートされるACE

分割および非分割トラフィックの処理

VLAN上でのCisco IOS ACLおよびVACLの適用

ブリッジド パケット

ルーテッド パケット

マルチキャスト パケット

ネットワークにおけるCisco IOS ACLの使用方法

PFCでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理

セキュリティCisco IOS ACL

再帰ACL

TCP代行受信

ポリシー ルーティング

WCCP

NAT

ユニキャストRPFチェック

ブリッジ グループ

PFC2およびPFC3A/PFC3B/PFC3BXLでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理

セキュリティCisco IOS ACL

Cisco IOS ACLロギングのレート制限

再帰ACL

TCP代行受信

ポリシー ルーティング

WCCP

NAT

ユニキャストRPFチェック

ブリッジ グループ

VACLとCisco IOS ACLの併用

同一VLANインターフェイス上にCisco IOS ACLおよびVACLを設定する場合の注意事項

暗黙の拒否ステートメント

動作のグループ化

動作数の制限

レイヤ4ポート情報の回避

Release 7.1(1)より前のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定

Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定

レイヤ4演算設定時の注意事項

レイヤ4演算の使用方法

LOUの使用

ネットワークでのVACLの使用

配線クローゼットの設定

特定のサーバ ポートへのブロードキャスト トラフィックのリダイレクト

特定のサーバに対するDHCP応答の制限

他のVLAN上のサーバからのアクセス拒否

ARPトラフィックの制限

ARPトラフィックの検査

概要

実装

ARPトラフィック検査設定時の注意事項

ARPトラフィック検査の設定手順

ダイナミックARP検査

概要

ダイナミックARP検査の設定手順

プライベートVLAN上でのACLの設定

トラフィック フローのキャプチャ

サポートされない機能

VACLの設定

VACL設定時の注意事項

VACL設定の要約

CLIからのVACLの設定

ACLマージ アルゴリズムの指定

IP VACLの作成およびACEの追加

IPX VACLの作成およびACEの追加

non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加

ACLのコミット

VACLのVLANへのマッピング

VACLの内容の表示

VACL/VLANのマッピングの表示

編集バッファの消去

セキュリティACLからのACEの削除

セキュリティACLマップの消去

VACL管理情報の表示

特定ポート上でのトラフィック フローのキャプチャ

VACLロギングの設定

すべてのパケット タイプに関するMACベースACL検索の設定

MACベースACLの概要

すべてのパケット タイプに関するMACベースACL検索の使用

MACベースACLへのVLANおよびCoSの追加

VLANマッチング

CoSマッチング

設定時の注意事項

すべてのパケット タイプに関するMACベースACL検索の設定

MAC ACLおよび拡張EthertypeへのCoS、VLAN、およびパケット タイプの追加

VACLおよびQoS ACLの設定およびフラッシュ メモリへの保存

VACLおよびQoS ACL設定のフラッシュ メモリへの自動的な移動

VACLおよびQoS ACL設定のフラッシュ メモリへの手動での移動

VACLおよびQoS ACL設定のフラッシュ メモリからの実行

VACLおよびQoS ACL設定のNVRAMへの再移動

冗長構成の同期化サポート

ハイ アベイラビリティの保証

ポート単位のACLの設定

PACL設定の概要

PACL設定時の注意事項

PACLのVACLおよびCisco IOS ACLとの相互作用

EtherChannelおよびPACLの相互作用

ダイナミックACL(マージ モードにのみ適用)

トランキング モード(マージ モードにのみ適用)

補助VLAN(マージ モードにのみ適用)

プライベートVLAN(マージ モードにのみ適用)

ポートVLANアソシエーション変更(マージ モードにのみ適用)

OIRの概要

CLIでのPACLの設定

PACLモードの指定

PACL情報の表示

ポートまたはVLANへのACLのマッピング

ACLマッピング情報の表示

EtherChannelのACL情報の表示

PACLの設定例

例1

例2

例3

例4

例5

例6

例7

ACL統計情報の設定

ACL統計情報の概要

CLIからのACL統計情報の設定

ACL単位のACL統計情報のイネーブル化

VLAN単位のACL統計情報のイネーブル化

ACE単位のACL統計情報のイネーブル化

ACL統計情報の消去

ACL統計情報の表示

CRAMの設定

CLIからのCRAM機能の設定

CRAM機能のテスト実行のイネーブル化

CRAM機能の手動によるイネーブル化

CRAM機能の自動実行のイネーブル化

CRAM機能のステータス情報の表示

CRAM機能の自動モードのディセーブル化

PBFの設定

PBFの機能概要

PBFのハードウェアおよびソフトウェア要件

CLIからのPBFの設定

PBFのイネーブル化とPFC2またはPFC3A/PFC3B/PFC3BXL用MACアドレスの指定

VLANにおけるPBF MACアドレスの指定

PBFのためのVACLの設定

PBF情報の表示

PBF VACLのエントリの削除

編集バッファ内の隣接テーブル エントリのロール バック

PBFのためのホストの設定

PBFの設定例

PBF設定の拡張機能(Releases 7.5(1)以降のソフトウェア リリース)

PBF設定拡張機能の概要

PBF_MAP_ACLの指定

PBF_MAP_ACL情報の表示

PBF_MAP_ACL設定の消去

PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)

PBFの使用上の注意事項および制限事項

セキュリティACLおよび隣接情報の設定とコミット

clearコマンド

showコマンド

診断インターフェイスとしてのsc1インターフェイスの使用

アクセス制御の設定

この章では、Catalyst 6500シリーズ スイッチ上でAccess Control List(ACL;アクセス制御リスト)を設定する手順について説明します。ACLの設定は、スーパバイザ エンジンに搭載されているハードウェアのタイプによって異なります。詳細については、「ハードウェアの要件」を参照してください。


) この章で使用しているコマンドの完全な構文および使用方法の詳細については、『Catalyst 6500 Series Switch Command Reference』を参照してください。


この章で説明する内容は、次のとおりです。

「ACLの機能概要」

「ハードウェアの要件」

「サポートされるACL」

「VLAN上でのCisco IOS ACLおよびVACLの適用」

「ネットワークにおけるCisco IOS ACLの使用方法」

「VACLとCisco IOS ACLの併用」

「ネットワークでのVACLの使用」

「サポートされない機能」

「VACLの設定」

「すべてのパケット タイプに関するMACベースACL検索の設定」

「VACLおよびQoS ACLの設定およびフラッシュ メモリへの保存」

「ポート単位のACLの設定」

「ACL統計情報の設定」

「PBFの設定」


) 特に明記されていないかぎり、この章で説明する情報および手順は、Policy Feature Card 3B/3BXL(PFC3B/PFC3BXL;ポリシー フィーチャ カード3B/3BXL)を搭載したSupervisor Engine 32、PFC3A/PFC3B/PFC3BXLを搭載したSupervisor Engine 720、PFC2を搭載したSupervisor Engine 2 、およびPFCを搭載したSupervisor Engine 1に適用されます。


ACLの機能概要

従来、スイッチが動作するのはレイヤ2でのみでした。スイッチがVLAN(仮想LAN)内のトラフィックをスイッチングし、ルータがVLAN間のトラフィックをルーティングしていました。Catalyst 6500シリーズ スイッチは、Multilayer Switch Feature Card(MSFC;マルチレイヤ スイッチ フィーチャ カード)を搭載し、レイヤ3スイッチング(Multilayer Switching[MLS;マルチレイヤ スイッチング])を使用することによって、VLAN間の高速パケット ルーティングをサポートしています。スイッチがパケットをブリッジングすると、パケットはルータに渡されずに内部的にルーティングされたあと、再びブリッジングされて宛先に送信されます。このプロセスの実行中、スイッチはVLAN内でブリッジングされるパケットを 含み 、スイッチングする すべての パケットをアクセス制御できます。

Cisco IOS ACLが、VLAN間でルーティングされるトラフィックのアクセス制御を行い、VLAN ACL(VACL)が すべての パケットのアクセス制御を行います。

パケットの分類には、標準Cisco IOS ACLおよび拡張Cisco IOS ACLを使用します。分類されたパケットには、アクセス制御(セキュリティ)、暗号化、Policy-Based Routing(PBR)など、さまざまな機能が適用されます。標準および拡張Cisco IOS ACLは、ルータのインターフェイス上だけで設定し、ルーテッド パケットに適用されます。

VACLは、IPおよびIPXプロトコルのレイヤ3アドレスに基づくアクセス制御を行います。サポートされないプロトコルのアクセス制御は、MAC(メディア アクセス制御)アドレス経由で実行されます。VACLは(ブリッジングおよびルーティングされた)すべてのパケットに適用され、任意のVLANインターフェイス上で設定することができます。VLAN上でVACLを設定すると、そのVLANに送信されてきた(ルーティングまたはブリッジングされた)すべてのパケットが、VACLチェックの対象になります。パケットは、スイッチ ポートを通じて、またはルーティングされてからルータ ポートを通じてVLANに送信されます。


) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


ハードウェアの要件

Catalyst 6500シリーズ スイッチ上でACLを設定するには、次のハードウェアが必要です。

Cisco IOS ACL

PFCおよびMSFCまたはMSFC2搭載のSupervisor Engine 1

PFC2およびMSFC2搭載のSupervisor Engine 2

PFC3A/PFC3B/PFC3BXLおよびMSFC3搭載のSupervisor Engine 720

PFC3B/PFC3BXLおよびMSFC2A搭載のSupervisor Engine 32

VACLおよびQuality of Service(QoS;サービス品質) ACL

PFC搭載のSupervisor Engine 1

PFC2搭載のSupervisor Engine 2

PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720

PFC3B/PFC3BXL搭載のSupervisor Engine 32


) スイッチ上でサポートされるQoSフィーチャ セットは、スーパバイザ エンジン上に搭載されているスイッチング エンジン ドータ カードによって異なります。詳細については、第44章「QoSの設定」を参照してください。


サポートされるACL

ここでは、Catalyst 6500シリーズ スイッチがサポートしているACLについて説明します。

「QoS ACL」

「Cisco IOS ACL」

「VACL」

QoS ACL

QoS ACLはスイッチ上で設定することができます。 第44章「QoSの設定」 を参照してください。

Cisco IOS ACL

Cisco IOS ACLは、MSFC VLANインターフェイス上で設定します。ACLは、一連の順序に基づくAccess Control Entry(ACE;アクセス制御エントリ)によって、アクセス制御を行います。他の多くの機能もまた、フロー指定のためにACLを使用します。たとえば、(Web Cache Coordination Protocol[WCCP]に基づく)Webキャッシュ リダイレクト機能では、ACLを使用して、Webキャッシュ エンジンにリダイレクトするHTTPフローを指定します。

ほとんどのCisco IOS機能は、特定の方向(着信または発信)でインターフェイスに適用されます。ただし、機能によってはグローバルなACLを使用します。このような機能では、指定した方向のすべてのインターフェイス上にACLが適用されます。たとえば、TCP代行受信は、発信方向のすべてのインターフェイス上に適用されるグローバルACLを使用します。

1つのCisco IOS ACLを、特定のインターフェイスの複数の機能と併用できます。また、1つの機能で複数のACLを使用することもできます。複数の機能で1つのACLを共有する場合、Cisco IOSソフトウェアは同じACLを何度も検証します。

Cisco IOSソフトウェアは、特定のインターフェイスおよび方向に設定された各機能について、関連ACLを検証します。ルータの特定のインターフェイス上にパケットが送信されると、Cisco IOSソフトウェアは、そのインターフェイス上に設定されているすべての着信機能について、次のような関連ACLを検証します。

着信ACL(標準、拡張、および再帰、またはそのいずれか)

暗号化ACL(MSFC上では非サポート)

ポリシー ルーティングACL

外部から内部へのアドレス変換を指定するNetwork Address Translation(NAT;ネットワーク アドレス変換)

パケットがルーティングされると、次のホップに転送される前に、Cisco IOSソフトウェアは出力インターフェイスに設定された発信機能について、次のすべての関連ACLを検証します。

発信ACL(標準、拡張、および再帰、またはそのいずれか)

暗号化ACL(MSFC上では非サポート)

NAT ACL(内部から外部へのアドレス変換)

WCCP ACL

TCP代行受信ACL

VACLの概要

VACLでは、 すべての トラフィックをアクセス制御できます。スイッチ上でVACLを設定し、VLANが着信または発信するようルーティングされる、またはVLAN内でブリッジングされる すべてのパケット にVACLを適用できます。VACLは、セキュリティ パケット フィルタリングを完全に実行し、トラフィックを特定の物理スイッチ ポートに転送します。Cisco IOS ACLと異なり、VACLには方向(入力または出力)を定義しません。

VACLは、IPおよびIPXのレイヤ3アドレスに基づいて設定します。他のプロトコルはすべて、MACアドレスおよびMAC VACLを使用するEthertypeによってアクセス制御されます。


注意 IPトラフィックおよびIPXトラフィックは、MAC VACLではアクセス制御されません。その他のトラフィック タイプ(AppleTalk、DECnetなど)はすべてMACトラフィックとして分類され、MAC VACLによってアクセス制御されます。


) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)、では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


VACLを適用できるのは、Catalyst 6500シリーズ スイッチ経由で転送されるパケットだけです。ハブ上のホスト間またはCatalyst 6500シリーズ スイッチに接続している他のスイッチを経由するトラフィックに対して、VACLを適用することはできません。

VACLでサポートされるACE

VACLには、ACEの順序リストが設定されています。各VACLに設定できるのは、1タイプのACEだけです。各ACEには、パケットの内容に対応する多数のフィールドがあります。各フィールドに、関連するビットを示す関連ビット マスクを指定します。各ACEには、条件に一致したパケットをどのように処置するかを指定する1つの動作が関連付けられます。この動作は、機能によって異なります。Catalyst 6500シリーズ スイッチは、ハードウェアで次の3タイプのACEをサポートしています。

IP ACE

IPX ACE

Ethernet ACE

表16-1 に、各ACEタイプの関連パラメータを示します。

 

表16-1 ACEのタイプおよびパラメータ

ACEタイプ
TCPまたはUDP 1
ICMP 1
その他のIP1
IPX
イーサネット2

レイヤ4パラメータ

送信元ポート

送信元ポート演算子

宛先ポート

宛先ポート演算子

ICMPコード1

該当なし

ICMPタイプ

該当なし

レイヤ3パラメータ

IP ToSバイト

IP ToSバイト

IP ToSバイト

IP送信元アドレス

IP送信元アドレス

IP送信元アドレス

IPX送信元ネットワーク

IP宛先アドレス

IP宛先アドレス

IP宛先アドレス

IPX宛先ネットワーク

IPX宛先ノード

TCPまたはUDP

ICMP

その他のプロトコル

IPXパケット タイプ

レイヤ2パラメータ

Ethertype

イーサネット送信元アドレス

イーサネット宛先アドレス

1.IP ACE

2.IPバージョン4またはIPX以外のイーサネット パケット

分割および非分割トラフィックの処理

TCP/UDPまたは任意のレイヤ4プロトコル トラフィックは、分割されると、レイヤ4情報(レイヤ4送信元/宛先ポート)が失われます。この場合、アプリケーションに基づくセキュリティを適用するのは困難です。ただし、分割トラフィックかどうかを識別して、他のTCP/UDPトラフィックと区別することができます。

ACEのレイヤ4パラメータは、オフセット0のフラグメントを持つ非分割トラフィックおよび分割トラフィックをフィルタリングできます。オフセットが0以外のIPフラグメントは、レイヤ4ポート情報が失われているので、フィルタリングすることはできません。パケット分割に対応するACEの例を示します。

次に、1.1.1.1(ポート68)からのトラフィックが分割されていた場合、最初のフラグメントだけをポート4/3に転送する例を示します。ポート68からの他のトラフィックはこのエントリの条件とは一致しません。

redirect 4/3 tcp host 1.1.1.1 eq 68 host 255.255.255.255
 

次に、1.1.1.1(ポート68)から発信され、2.2.2.2(ポート34)を宛先とするトラフィックを許可する例を示します。パケットが分割されている場合、最初のフラグメントはこのエントリの条件と一致するので、許可されます。ただし、オフセットが0以外のフラグメントも、デフォルトの分割結果として許可されます。

permit tcp host 1.1.1.1 eq 68 host 2.2.2.2 eq 34
 

次に、1.1.1.1(ポート68)から発信され、2.2.2.2(ポート34)を宛先とするトラフィックのうち、オフセットが0の分割を拒否する例を示します。オフセットが0以外のフラグメントは、デフォルトとして許可されます。

deny tcp host 1.1.1.1 eq 68 host 2.2.2.2 eq 34
 

Release 6.1(1)より前のソフトウェア リリースでは、フラグメント フィルタリングは完全にトランスペアレントです。 permit tcp .... port eq port_number などのACEを入力すると、このACLの先頭にpermit tcp any any fragmentsというACEがソフトウェアによって暗黙的に付加されます。

Release 6.1(1)以降のソフトウェア リリースでは、 fragment オプションが設定されています。 fragment キーワードを指定しない場合は、旧リリースと同じ結果になります。 fragment キーワードを指定すると、フラグメントのグローバルな許可ステートメントは自動的には付加されません。このキーワードにより、フラグメントの処理方法を、より詳細に制御できます。

次の例では、サーバHTTP接続用として10.1.1.2が設定されています。フラグメントACEを使用しない場合、ACLの先頭に permit tcp any any fragments のACEが自動的に付加されるので、TCPトラフィックのすべてのフラグメントが許可されます。

permit tcp any any fragments
 

1. permit tcp any host 10.1.1.2 eq www

2. deny ip any host 10.1.1.2

3. permit ip any any

上の例でエントリ1を次のように変更すると、

1. deny tcp any host 10.1.1.2 eq www

permit tcp any any fragment s ACEがACLの先頭に追加されません。エントリがdenyステートメントの場合は、次のアクセスリスト エントリが処理されます。


) denyステートメントは、非初期フラグメント対非フラグメント化または初期フラグメントとは別の方法で処理されます。


fragment キーワードを指定すると、グローバルなTCP/UDPフラグメント許可ステートメントは付加されません。少なくとも1つのACEに fragment キーワードが指定されていると、指定した特定のIPアドレス(またはサブネット)宛てのフローを許可するACEが自動的に付加されます。

次のACLの例では、 deny tcp any host 10.1.1.2 fragment エントリにより、ホスト10.1.1.2上のすべてのTCPポートへの分割トラフィックの転送を拒否しています。また、 permit udp any host 10.1.1.2 eq 69 エントリにより、Trivial File Transfer Protocol(TFTP;簡易ファイル転送プロトコル)サーバ10.1.1.2への接続が許可されています。この場合、 permit for all fragments of udp traffic to host 10.1.1.2 のACEが自動的に付加されます。このACEが付加されない場合、フラグメントは deny ip any host 10.1.1.2 エントリによって拒否されます。

1. deny tcp any host 10.1.1.2 fragment

2. permit tcp any host 10.1.1.2 eq www

3. permit udp any host 10.1.1.2 eq 69

4. permit udp any gt 1023 10.1.1.2 gt 1023

5. deny ip any host 10.1.1.2

6. permit ip any any

ホスト10.1.1.2への分割UDPトラフィックを明示的に停止したい場合には、次の例のように、3番めのエントリの前に deny udp any host 10.1.1.2 fragment を入力します。

[...]

3. deny udp any host 10.1.1.2 fragment

4. permit udp any host 10.1.1.2 eq 69

5. permit udp any gt 1023 10.1.1.2 gt 1023

[...]

VLAN上でのCisco IOS ACLおよびVACLの適用

ここでは、ブリッジド パケット、ルーテッド パケット、およびマルチキャスト パケットについて、VLANにCisco IOS ACLおよびVACLを適用する方法について説明します。

以下、ACLおよびVACLの適用方法について説明します。

「ブリッジド パケット」

「ルーテッド パケット」

「マルチキャスト パケット」

ブリッジド パケット

図16-1は、ブリッジド パケットにACLがどのように適用されるのかを示しています。ブリッジド パケットの場合は、レイヤ2 ACLだけが入力VLANに適用されます。

図16-1 ブリッジド パケットへのACLの適用

 

ルーテッド パケット

図16-2は、ルーテッド/レイヤ3スイッチド パケットにACLがどのように適用されるのかを示しています。ルーテッド/レイヤ3スイッチド パケットの場合、ACLは次の順序で適用されます。

1. 入力VLAN用のVACL

2. 入力Cisco IOS ACL

3. 出力Cisco IOS ACL

4. 出力VLAN用のVACL

図16-2 ルーテッド パケットへのACLの適用

 

マルチキャスト パケット

図16-3は、マルチキャスト拡張を必要とするパケットに対してACLがどのように適用されるのかを示しています。マルチキャスト拡張を必要とするパケットの場合、ACLは次の順序で適用されます。

1. マルチキャスト拡張を必要とするパケット

a. 入力VLAN用のVACL

b. 入力Cisco IOS ACL

2. マルチキャスト拡張後のパケット

a. 出力Cisco IOS ACL

b. 出力VLAN用のVACL

3. ルータから発信されたパケット

a. 出力VLAN用のVACL

図16-3 マルチキャスト パケットへのACLの適用

 

ネットワークにおけるCisco IOS ACLの使用方法


) Catalyst 6500シリーズ スイッチのルーテッドVLANインターフェイス上でのCisco IOS ACLの設定は、他のシスコ製ルータ上でのACLの設定と同じです。Cisco IOS ACLを設定する場合は、「サポートされない機能」および「VACL設定時の注意事項」を参照してください。また、Cisco IOSのコンフィギュレーション ガイドおよびコマンド リファレンスも参照してください。IPのACLを設定する場合には、『Network Protocols Configuration Guide』Part 1の「Configuring IP Services」を参照してください。


ルータ上にトラフィックを処理する機能(NATなど)を設定すると、その機能に関連付けられているCisco IOS ACLによって、レイヤ3のスイッチングではなくルータにブリッジングされる特定のトラフィックが判別されます。通常、ルータはその機能を適用し、パケットをルーティングします。「PFCでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理」で、このプロセスの例外をいくつか紹介しています。


) 冗長MSFCを搭載したシステムでは、両方のMSFC上で、Cisco IOS ACLおよびVACLの同じACL設定を適用する必要があります。



注意 PFCの場合:デフォルトでは、パケットがアクセス グループによって拒否されると、MSFCによりInternet Control Message Protocol(ICMP)unreachables(到達不能)メッセージが送信されます。アクセス グループによって拒否されたパケットはハードウェアでは廃棄されず、MSFCがICMP到達不能メッセージを生成できるように、MSFCにブリッジングされます。アクセス グループによって拒否されたパケットをハードウェアで廃棄するには、no ip unreachablesインターフェイス コンフィギュレーション コマンドを使用して、ICMP unreachablesをディセーブルにする必要があります。ip unreachablesコマンドは、デフォルトでイネーブルに設定されています。

PFC2およびPFC3A/PFC3B/PFC3BXLの場合:インターフェイス上でIP unreachablesまたはIP redirectがイネーブルに設定されていると、ハードウェア上で拒否が実行されます。ただし、適切なICMP到達不能メッセージを生成するため、少数のパケットがMSFC2/MSFC3に送信されます。

ここでは、PFC、PFC2、およびPFC3A/PFC3B/PFC3BXLでのハードウェアおよびソフトウェアによるACLの処理について説明します。

「PFCでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理」

「PFC2およびPFC3A/PFC3B/PFC3BXLでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理」

PFCでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理

ここでは、PFCでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理について説明します。


) PFC2およびPFC3A/PFC3B/PFC3BXLでのCisco IOS ACLの情報については、「PFC2およびPFC3A/PFC3B/PFC3BXLでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理」を参照してください。


ACL機能の処理では、ソフトウェアによっていくつかのフローを転送する必要があります。ソフトウェア転送フローの割合は、ハードウェア転送フローに比べると、かなり少ないものです。ACLによりロギングが要求されているフローはソフトウェアに渡されますが、ハードウェアによる非ログ フローの転送には影響しません。


show ip access-listコマンドの出力に表示されるマッチ カウントは、ハードウェアでアクセス制御されたパケット数ではありません。



) 送信元ホストのノード番号を指定したIPX Cisco IOS ACLを、ハードウェアのスイッチ上で実行することはできません。そのため、MSFCがソフトウェアでACLを処理することになります。この処理は、システムのパフォーマンスを著しく低下させます。


ここでは、各種ACLとトラフィック フローがハードウェアおよびソフトウェアによってどのように処理されるかについて説明します。

「セキュリティCisco IOS ACL」

「再帰ACL」

「TCP代行受信」

「ポリシー ルーティング」

「WCCP」

「NAT」

「ユニキャストRPFチェック」

「ブリッジ グループ」

セキュリティCisco IOS ACL

PFCでは、IPおよびIPXのセキュリティCisco IOS ACLは次のように処理されます。

セキュリティACLの[deny](拒否)ステートメントと一致するフローは、[ip unreachables](IP到達不能)をディセーブルに設定しておくと、ハードウェアによって廃棄されます。[permit](許可)ステートメントと一致するフローは、ハードウェアによりスイッチングされます。

セキュリティ アクセス制御用の標準ACLおよび拡張ACL(入力および出力)の許可および拒否動作は、ハードウェアによって処理されます。

特定のインターフェイス上のACLアクセス違反のIPアカウントは、そのインターフェイス上で拒否されたすべてのパケットをソフトウェアに転送することによってサポートされます。この動作は他のフローには影響しません。

ダイナミック(ロックおよび鍵)ACLフローはハードウェアでサポートされますが、アイドル タイムアウトはサポートされません。

IPX標準入力ACLおよび出力ACLは、ACLパラメータがIPX送信元ネットワーク、宛先ネットワーク、および宛先ノードの場合(またはそのいずれかの場合)、ハードウェアによってサポートされます。ACLに他のパラメータが含まれている場合には、ソフトウェアによって処理されます。

IPX拡張入力ACLおよび出力ACLは、ACLパラメータがIPX送信元ネットワーク、宛先ネットワーク、宛先ノード、およびプロトコル タイプの場合(またはそのいずれかの場合)、ハードウェアによってサポートされます。

ロギングが必要なACLフローはソフトウェアによって処理されますが、ハードウェアによる非ログ フローの転送には影響しません。

再帰ACL

ハードウェアにより、最大512の同時再帰セッションがサポートされています。再帰ACLが適用されている場合は、フロー マスクがVLAN-full flowに変更されています。

TCP代行受信

TCP代行受信は、DoS攻撃の一種であるTCP SYN(同期)フラッディング攻撃からTCPサーバを保護するソフトウェアを実装します。TCP代行受信は、TCP接続要求を代行受信して検証することにより、SYNフラッディング攻撃を防止できるようにします。代行受信モードの場合、TCP代行受信ソフトウェアはクライアントからサーバに送られる、拡張アクセス リストと一致するTCP SYNパケットを代行受信します。ソフトウェアは宛先サーバの代わりにクライアントとの接続を確立します。接続が正常に確立されると、クライアントの代わりにサーバとの接続を確立して、2つの半接続をトランスペアレントにバインドします。このプロセスにより、到達不能なホストからの接続要求がサーバに到達しないようになります。ソフトウェアは接続されている間、代行受信を継続してパケットを転送します。

ポリシー ルーティング

ポリシー ルーティングが必要なフローは、ソフトウェアによって処理されますが、ハードウェアによる非ポリシー ルーティング フローの転送には影響しません。ルート マップに複数の[match](一致)コマンドが含まれている場合、すべての一致条件を満たしているパケットだけが、ポリシー ルーティングされます。ただし、ルート マップに[match ip address]および[match length]の両方が含まれている場合には、[match ip address]コマンドのACLに一致するすべてのトラフィックが、[match length]の条件を満たしているかどうかに関係なく、ソフトウェアに転送されます。ルート マップにmatch lengthコマンドだけが含まれている場合は、インターフェイスが受信したすべてのパケットがソフトウェアに転送されます。

mls ip pbr グローバル コマンドを使用してハードウェアのポリシー ルーティングをイネーブルにすると、すべてのポリシー ルーティングがハードウェアで実行されます。


注意 mls ip pbrコマンドを使用してポリシー ルーティングをイネーブルにした場合、各インターフェイスにポリシー ルーティングが設定されているかどうかに関係なく、ハードウェアのすべてのインターフェイスにポリシー ルーティングが適用されます。

WCCP

WCCPリダイレクトの対象になるHTTP要求は、ソフトウェアによって処理されます。サーバおよびキャッシュ エンジンからのHTTP応答は、ハードウェアで処理されます。

NAT

NATが必要なフローは、ソフトウェアによって処理されますが、ハードウェアによる非NATフローの転送には影響しません。

ユニキャストRPFチェック

ユニキャストRPF機能は、PFC上のハードウェアでサポートされています。ACLベースのRPFチェックの場合、ユニキャストRPF ACLによって拒否されたトラフィックは、RPF検証のためにMSFCに転送されます。


注意 ACLベースのユニキャストRPFでは、ACLによって拒否されたパケットは、CPUにRPF検証のために送信されます。DoS攻撃の場合には、このようなパケットは拒否ACEにほぼ一致するので、CPUに転送されます。トラフィックが多い状況では、これによってCPUの利用率が高くなります。


) ACLベースのRPFチェックでは、廃棄抑制統計はサポートされていません。


ブリッジ グループ

Cisco IOSブリッジ グループACLは、ソフトウェアによって処理されます。

PFC2およびPFC3A/PFC3B/PFC3BXLでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理

ここでは、PFC2およびPFC3A/PFC3B/PFC3BXLで構成されたスイッチでのハードウェアおよびソフトウェアによるCisco IOS ACLの処理について説明します。

ACL機能の処理では、いくつかのフローをソフトウェアに転送する必要があります。ソフトウェア転送フローの割合は、ハードウェア転送フローに比べると、かなり少ないものです。ACLによりロギングが要求されているフローはソフトウェアに渡されますが、ハードウェアによる非ログ フローの転送には影響しません。


show ip access-listコマンドの出力に表示されるマッチ カウントは、ハードウェアでアクセス制御されたパケット数ではありません。



) 送信元ホストのノード番号を指定したIPX Cisco IOS ACLを、ハードウェアのスイッチ上で実行することはできません。そのため、MSFCがソフトウェアでACLを処理することになります。この処理は、システムのパフォーマンスを著しく低下させます。



) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


ここでは、各種Cisco IOS ACLとトラフィック フローが、PFC2またはPFC3A/PFC3B/PFC3BXLで構成されたスイッチで、ハードウェアおよびソフトウェアによってどのように処理されるかについて説明します。

「セキュリティCisco IOS ACL」

「Cisco IOS ACLロギングのレート制限」

「再帰ACL」

「TCP代行受信」

「ポリシー ルーティング」

「WCCP」

「NAT」

「ユニキャストRPFチェック」

「ブリッジ グループ」

セキュリティCisco IOS ACL

PFC2またはPFC3A/PFC3B/PFC3BXLで構成されたスイッチのIPおよびIPXのセキュリティCisco IOS ACLは次のように処理されます。

[ip unreachables]または[ip redirect]オプションがイネーブルの場合、ACLの[deny]ステートメントと一致するフローのパケットの大半がハードウェアで廃棄されます。少数のパケットだけは、ルータから適切なICMP到達不能メッセージを送信するためにソフトウェアに渡されます。

セキュリティ アクセス制御用の標準ACLおよび拡張ACL(入力および出力)の許可および拒否動作は、ハードウェアによって処理されます。

特定のインターフェイス上のACLアクセス違反のIPアカウントは、そのインターフェイス上で拒否されたすべてのパケットをソフトウェアに転送することによってサポートされています。この動作は他のフローには影響しません。

ダイナミック(ロックおよび鍵)ACLフローはハードウェアでサポートされていますが、アイドル タイムアウトはサポートされていません。

IPX標準入力ACLおよび出力ACLは、ACLパラメータがIPX送信元ネットワーク、宛先ネットワーク、および宛先ノードの場合(またはそのいずれかの場合)、ハードウェアによってサポートされます。ACLに他のパラメータが含まれている場合には、ソフトウェアによって処理されます。

IPX拡張入力ACLおよび出力ACLは、ACLパラメータがIPX送信元ネットワーク、宛先ネットワーク、宛先ノード、およびプロトコル タイプの場合(またはそのいずれかの場合)、ハードウェアによってサポートされます。

ロギングが必要なACLフローはソフトウェアによって処理されますが、ハードウェアによる非ログ フローの転送には影響しません。

Cisco IOS ACLロギングのレート制限

Cisco IOS ACLロギングのレート制限によって、ブリッジドACEのMSFC CPUに送信されるパケット数が制限されます。ログ オプションが指定されたCisco IOS ACLの結果が拒否または許可の場合、ACEがブリッジングされます。このブリッジ動作の結果、Cisco IOS ACLロギングはMSFC CPUの過負荷をもたらします。Cisco IOS ACLロギングのレート制限を設定すると、ブリッジングされたACEはレート制限付きでMSFCにリダイレクトされます。

Cisco IOS ACLロギングのレート制限設定時の注意事項

ここでは、Cisco IOS ACLロギングのレート制限設定時の注意事項について説明します。

set acllog ratelimit rate コマンドまたは clear acllog コマンドを入力したあとで、MSFCをリセットするか、 log キーワードが適用されたACEを備えたMSFCインターフェイスに対してshutdown/no shutdownを実行する必要があります。

set acllog ratelimit rate コマンドを入力すると、リセットまたはshutdown/no shutown動作によってブリッジングされたACEはレート制限付きでMSFCにリダイレクトされます。

clear acllog コマンドを入力すると、リセットまたはshutdown/no shutdown動作によってswitchは元の動作に戻り、ブリッジ動作は元のままです。

set acllog ratelimit rate コマンドを入力して指定する rate には、1~1000の値を使用できます。 rate は、リダイレクトACEと一致し、MSFCに送信される1秒当たりのパケット数です。実際の1秒当たりのパケット数が指定した rate より大きい場合は、指定した rate を超えるパケットは廃棄されます。 rate には、500パケット/秒を指定することを推奨します。

Cisco IOS ACLロギングのレート制限の設定

Cisco IOS ACLロギングのレート制限を設定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

ACLロギングをイネーブルにして、Cisco IOS ACLロギング レート制限のレートを指定します。

set acllog ratelimit rate

ステップ 2

ACLロギング ステータスを表示します。

show acllog

次に、ACLロギングをイネーブルにして、Cisco IOS ACLロギング レート制限のレートを500に指定する例を示します。

Console> (enable) set acllog ratelimit 500
If the ACLs-LOG were already applied, the rate limit mechanism will be effective on system restart, or after shut/no shut the interface.
Console> (enable)
 
Console> (enable) show acllog
ACL log rate limit enabled, rate = 500 pps.
Console> (enable)
 

次に、ACLロギングを消去する(ディセーブルにする)例を示します。ACLロギングを消去すると、ブリッジ動作は元どおりになり、システムの動作は set acllog ratelimit コマンドを発行する前と同じになります。

Console> (enable) clear acllog
ACL log rate limit is cleared.
If the ACLs-LOG were already applied, the rate limit mechanism will be disabled on system restart, or after shut/no shut the interface.
Console> (enable)

再帰ACL

ICMPパケットは、ソフトウェアによって処理されます。TCP/UDPフローの場合は、フローが確立されれば、ハードウェアによって処理されます。再帰ACLが適用されている際は、フロー マスクがVLAN-full flowに変更されています。

TCP代行受信


) TCP代行受信は、Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)またはSupervisor Engine 32(PFC3B/PFC3BXL)ではサポートされません。


TCP代行受信は、DoS攻撃の一種であるTCP SYNフラッディング攻撃からTCPサーバを保護するソフトウェアを実装します。TCP代行受信は、TCP接続要求を代行受信して検証することにより、SYNフラッディング攻撃を防止できるようにします。代行受信モードの場合、TCP代行受信ソフトウェアはクライアントからサーバに送られる、拡張アクセス リストと一致するTCP SYNパケットを代行受信します。ソフトウェアは宛先サーバの代わりにクライアントとの接続を確立します。接続が正常に確立されると、クライアントの代わりにサーバとの接続を確立して、2つの半接続をトランスペアレントにバインドします。このプロセスにより、到達不能なホストからの接続要求がサーバに到達しないようになります。ソフトウェアは接続されている間、代行受信を継続してパケットを転送します。

PFC2では、TCP代行受信が次のようにハードウェアによってサポートされています。

1. TCP代行受信が設定されている場合、TCP代行受信ACL内のpermitステートメントを含むACEと一致し、 かつ セキュリティACLによって許可されているすべてのTCP SYNパケットは、TCP代行受信機能を適用するソフトウェアに送信されます。このプロセスは、セキュリティACLにSYNフラグが指定されていない場合でも発生します。

2. 接続が正常に確立されると、次の処理が適用されます。

a. TCP代行受信で使用されている代行受信モードにタイムアウトが指定されている場合は、所定の接続/フローに属するすべてのトラフィックがソフトウェアで処理されます。

b. TCP代行受信がそれ以外のモードを使用している場合、接続が正常に確立されると、ソフトウェアはハードウェア ショートカットをインストールして、残りのフローをハードウェアでスイッチングします。

3. 接続が正常に確立されない場合は、他のトラフィックはそのフローに属することができません。

ポリシー ルーティング

ポリシー ルーティングが必要なフローは、ルート マップに応じて、ハードウェアまたはソフトウェアによって処理されます。ルート マップにmatch ip addressだけが設定され、setコマンドにネクスト ホップが含まれている場合、そのネクスト ホップが到達可能であれば、パケットはハードウェアに転送されます。ルート マップに複数のmatchコマンドが含まれている場合、すべての一致条件を満たしているパケットだけが、ポリシー ルーティングされます。ただし、ルート マップにmatch ip addressおよびmatch lengthの両方が含まれている場合には、match ip addressコマンドのACLに一致するすべてのトラフィックが、match lengthの条件を満たしているかどうかに関係なく、ソフトウェアに転送されます。ルート マップにmatch lengthコマンドだけが含まれている場合は、インターフェイスが受信したすべてのパケットがソフトウェアに転送されます。


) PFC2またはPFC3A/PFC3B/PFC3BXL上では、mls ip pbrコマンドは不要です(サポートされていません)。


WCCP


) Release 8.1(x)~8.4(x)のソフトウェア リリースでは、WCCPはSupervisor Engine 720またはSupervisor Engine 32でサポートされません。


WCCPリダイレクトの対象になるHTTP要求は、ソフトウェアによって処理されます。サーバおよびキャッシュ エンジンからのHTTP応答は、ハードウェアで処理されます。

NAT

NATが必要なフローは、ソフトウェアによって処理されますが、ハードウェアによる非NATフローの転送には影響しません。

ユニキャストRPFチェック

ユニキャストRPFは、PFC2およびPFC3A/PFC3B/PFC3BXL上でハードウェアによってサポートされます。ACLベースのRPFチェックの場合、ユニキャストRPF ACLによって拒否されたトラフィックは、RPF検証のためにMSFC2またはMSFC3に転送されます。


注意 ACLベースのユニキャストRPFでは、ACLによって拒否されたパケットは、CPUにRPF検証のために送信されます。DoS攻撃の場合には、このようなパケットは拒否ACEにほぼ一致するので、CPUに転送されます。トラフィックが多い状況では、これによってCPUの利用率が高くなります。


) ACLベースのRPFチェックでは、廃棄抑制統計はサポートされていません。


ブリッジ グループ

Cisco IOSブリッジ グループACLは、ソフトウェアによって処理されます。

VACLとCisco IOS ACLの併用

ブリッジド トラフィックおよびルーテッド トラフィックの両方をアクセス制御するには、VACLだけを使用するか、Cisco IOS ACLとVACLを組み合わせて使用します。Cisco IOS ACLは、入力用および出力用の両方のルーテッドVLANインターフェイスに定義することができます。VACLは、ブリッジド トラフィックのアクセスを制御するために定義します。

ACLのVACL denyまたはredirectステートメントの条件に一致したフローは、Cisco IOS ACLの設定に関係なく、拒否またはリダイレクトされます。Cisco IOS ACLをVACLと組み合わせて使用する場合は、次の事項に注意してください。

発信ACLに設定したロギングを必要とするパケットは、VACLによって拒否された場合、ロギングされません。

NAT ― VACLは、NAT変換前のパケットに適用されます。また、変換後のフローをアクセス制御する必要がない場合でも、VACLの設定によっては、変換後のフローがアクセス制御されることがあります。


) VACLでは、リストの最後に暗黙の拒否ステートメントが付加されます。どのVACL ACEにも一致しないパケットは拒否されます。


ここでは、Cisco IOS ACLの設定、VACLの設定、およびレイヤ4演算の注意事項について説明します。

「同一VLANインターフェイス上にCisco IOS ACLおよびVACLを設定する場合の注意事項」

「レイヤ4演算設定時の注意事項」

同一VLANインターフェイス上にCisco IOS ACLおよびVACLを設定する場合の注意事項

ここでは、同じVLAN上にCisco IOS ACL および VACLの両方を設定する場合の注意事項について説明します。Cisco IOS ACLとVACLを異なるVLAN上にマッピングする設定では、これらの注意事項は当てはまりません。

Catalyst 6500シリーズ スイッチのハードウェアは、各方向(入力および出力)についてセキュリティACLを1度だけ検索します。同じVLAN上にCisco IOS ACLおよびVACLの両方を適用する場合には、これらをマージする必要があります。Cisco IOS ACLとVACLをマージすると、ACEの数が著しく増加することがあります。

同一VLAN上でCisco IOS ACLとVACLを設定する場合には、Cisco IOS ACLおよびVACLの両方を、次の注意事項に基づいて設定してください。


show security acl resource-usageコマンドを入力すると、使用済みのACLストレージの割合が表示されます。


ここでは、Cisco IOS ACLとVACLを設定する場合の注意事項、およびその例を示します。

「暗黙の拒否ステートメント」

「動作のグループ化」

「動作数の制限」

「レイヤ4ポート情報の回避」

「Release 7.1(1)より前のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定」

「Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定」

暗黙の拒否ステートメント

できるだけ、ACLの最後に付加される暗黙の拒否ステートメント( deny any any )を使用し、許可するトラフィックだけをACEに定義してください。すべての拒否エントリを定義して、最後に許可ステートメント( permit ip any any )を指定しても、同じ結果になります(例1を参照)。

動作のグループ化

ACLに複数の動作(許可、拒否、リダイレクト)を定義する場合には、各動作をタイプ別にグループ化します。「例3」は、各タイプをグループ化しなかった場合の例を示しています。この例では、6行めのdenyステートメントが、permitステートメントと同じグループに入っています。このdenyステートメントを削除すると、合成後のエントリ数を329から53に減らすことができます。

動作数の制限

許可ACEのみで構成されるACLは、許可と拒否という2つの動作を含んでいます(リストの最後の暗黙の拒否のため)。許可とリダイレクトが設定されているACLでは、許可、リダイレクト、拒否という3つの動作を含んでいます(リストの最後の暗黙の拒否のため)。

ACLの設定時に2種類の動作だけを指定すると、最良のマージ結果が得られます(許可と拒否、リダイレクトと許可、リダイレクトと拒否のマージ)。


) Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースでは、ACLマージのアルゴリズムが改善されているので、ACLの設定時に動作数を制限する必要はありません。


リダイレクトおよび拒否のACLを定義するには、許可ACEを使用しません。リダイレクトおよび許可のACLを定義するには、許可ACEおよびリダイレクトACEだけを定義し、最後に permit ip any any ステートメントを指定します。 permit ip any any を指定すると、リストの最後に付加される暗黙の拒否(deny ip any)が無効になります(例4を参照)。

レイヤ4ポート情報の回避

マージ プロセスが複雑になるので、ACLにはレイヤ4情報を入れないでください。full flow(送信元IPアドレス、宛先IPアドレス、プロトコル、およびプロトコル ポート)ではなく、IPアドレス(送信元および宛先)だけに基づいてフィルタリングするACLを定義すると、最良のマージ結果が得られます。

full flowを指定する必要がある場合には、「暗黙の拒否ステートメント」および「動作のグループ化」を参照してください。ACLに、IPおよびレイヤ4情報を含むTCP/UDP/ICMP ACEを指定しなければならない場合には、IPアドレスに基づくトラフィック フィルタリングを優先させ、レイヤ4のACEはリストの最後に指定してください。

Release 7.1(1)より前のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定


) Release 7.1(1)より前のスーパバイザ エンジン ソフトウェア リリースと、7.1(1)以降のリリースで、マージ結果を比較する場合は、「Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定」を参照してください。


上記の注意事項に基づいてACLを設定した場合、ACLのマージ結果をおおまかに推測することができます。

たとえば、ACL A、ACL B、およびACL Cがあるとします。ACL Cを、ACL AとACL Bのマージ結果とした場合、ACL AとACL Bのサイズがわかっていれば、ACL Cの上限サイズを次の公式によって概算することができます。ただし、ACL AとACL Bにレイヤ4ポート情報が含まれていないことが前提です。

ACL Cのサイズ =(ACL Aのサイズ)×(ACL Bのサイズ)×(2)


) Release 7.1(1)より前のソフトウェア リリースでは、この公式を目安として使用できますが、エントリ数は予想範囲を大幅に上回ることがあります。Release 7.1(1)以降のソフトウェアリリースでは、新しいACLマージ アルゴリズムを使用するので、この公式で正確な値を知ることができます。レイヤ4ポート情報が含まれている場合は、新しいアルゴリズムでも上限サイズはさらに大きくなります。詳細については、「レイヤ4演算設定時の注意事項」を参照してください。

ACLマージ アルゴリズムには、Binary Decision Diagram(BDD)とOrder-Dependent Merge(ODM)の2種類があります。ODMは、Release 7.1(1)のソフトウェア リリースで採用された拡張アルゴリズムです。BDDアルゴリズムは、Release 7.1(1)より前のソフトウェア リリースで使用されていました。設定の詳細については、「ACLマージ アルゴリズムの指定」を参照してください。



) Release 8.1(1)以降のソフトウェア リリースでは、BDDアルゴリズムはどのプラットフォーム(PFC、PFC2、またはPFC3A/PFC3B/PFC3BXL)上でもサポートされなくなりました。デフォルトのACLマージ アルゴリズムはODMです。Release 8.1(1)以降のソフトウェア リリースでは、コマンドが次のように変更されています。set aclmerge algoおよびset aclmerge bddコマンドは削除されました。show aclmerge {bdd | algo}コマンドはshow aclmerge algoになりました。


ここでは、さまざまなCisco IOS ACLおよびVACL設定によるマージ結果の例を示します。それぞれ1つずつのVACLおよびCisco IOS ACLを同じVLANに設定します。

例1

次に、VACLの設定が推奨事項に従っていない(ACLの最後に暗黙の拒否動作を指定する代わりに、9行めに拒否動作を定義)ため、マージの結果、ACE数が増える例を示します。

******** VACL ***********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 deny tcp any host 194.72.6.51 eq ftp
10 permit tcp any host 194.72.6.51 eq ftp-data
11 permit tcp any host 194.72.6.51
12 permit tcp any eq domain host 194.72.6.51
13 permit tcp any host 194.72.6.51 gt 1023
14 permit ip any host 1.1.1.1
******** Cisco IOS ACL ************
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE **********
has 91 entries entries
 

例2

例1 の場合、推奨事項に従って9行めを削除し(代わりに、ACLの最後で暗黙の拒否を使用)、9行めで廃棄するはずだったトラフィックが許可されないように、11行めおよび12行めを変更すると、次のようなACLになり、マージ結果が改善されます。

******** VACL **********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 permit tcp any host 194.72.6.51 eq ftp-data
10 permit tcp any host 194.72.6.51 neq ftp
11 permit tcp any eq domain host 194.72.6.51 neq ftp
12 permit tcp any host 194.72.6.51 gt 1023
13 permit ip any host 1.1.1.1
******** Cisco IOS ACL ************
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE ***********
has 78 entries
 

例3

次に、VACLの設定が推奨事項に従っていない(すべての動作タイプがひとまとめにされていない)ため、マージの結果、ACE数が 著しく 増える例を示します。

******** VACL ***********
1 deny ip 0.0.0.0 255.255.255.0 any
2 deny ip 0.0.0.255 255.255.255.0 any
3 deny ip any 0.0.0.0 255.255.255.0
4 permit ip any host 239.255.255.255
5 permit ip any host 255.255.255.255
6 deny ip any 0.0.0.255 255.255.255.0
7 permit tcp any range 0 65534 any range 0 65534
8 permit udp any range 0 65534 any range 0 65534
9 permit icmp any any
10 permit ip any any
******** Cisco IOS ACL **********
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE **********
has 329 entries
 

例4

次に、VACLの設定が推奨事項に従っていない(3種類の動作が指定されている)ため、マージの結果、ACE数が 著しく 増える例を示します。

******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 deny tcp any any lt 30
4 deny udp any any lt 30
5 permit ip any any
******* Cisco IOS ACL ***********
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
has 142 entries
 

例5

次に、 例4 のVACLを変更し、2種類の動作だけを指定したことによって、マージ結果が大幅に改善される例を示します。

******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 permit ip any any
******* Cisco IOS ACL ***********
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
has 4 entries
 

Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定

Release 7.1(1)より前のスーパバイザ エンジン ソフトウェア リリースの場合と同様、7.1(1)以降のリリースでも次の公式が成り立ちます。ACL Cのサイズ=(ACL Aのサイズ)×(ACL Bのサイズ)×(2)。


) Release 7.1(1)より前のソフトウェア リリースでは、この公式を目安として使用できますが、エントリ数は予想範囲を大幅に上回ることがあります。Release 7.1(1)以降のソフトウェアリリースでは、新しいACLマージ アルゴリズムを使用するので、この公式で正確な値を知ることができます。レイヤ4ポート情報が含まれている場合は、新しいアルゴリズムでも上限サイズはさらに大きくなります。詳細については、「レイヤ4演算設定時の注意事項」を参照してください。

ACLマージ アルゴリズムには、BDDとODMの2種類があります。ODMは、Release 7.1(1)のソフトウェア リリースで採用された拡張アルゴリズムです。BDDアルゴリズムは、Release 7.1(1)より前のソフトウェア リリースで使用されていました。ソフトウェア設定の詳細については、「ACLマージ アルゴリズムの指定」を参照してください。



) Release 8.1(1)以降のソフトウェア リリースでは、BDDアルゴリズムはどのプラットフォーム(PFC、PFC2、またはPFC3A/PFC3B/PFC3BXL)上でもサポートされなくなりました。デフォルトのACLマージ アルゴリズムはODMです。Release 8.1(1)以降のソフトウェア リリースでは、コマンドが次のように変更されています。set aclmerge algoおよびset aclmerge bddコマンドは削除されました。show aclmerge {bdd | algo}コマンドはshow aclmerge algoになりました。


ここでは、さまざまなCisco IOS ACLおよびVACL設定によるマージ結果の例を示します。それぞれ1つずつのVACLおよびCisco IOS ACLを同じVLANに設定します。

例1

******** VACL ***********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 deny tcp any host 194.72.6.51 eq ftp
10 permit tcp any host 194.72.6.51 eq ftp-data
11 permit tcp any host 194.72.6.51
12 permit tcp any eq domain host 194.72.6.51
13 permit tcp any host 194.72.6.51 gt 1023
14 permit ip any host 1.1.1.1
******** Cisco IOS ACL ************
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
Using the new algorithm - 17 entries
Using the old algorighm - 91 entries
 

例2

******** VACL **********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 permit tcp any host 194.72.6.51 eq ftp-data
10 permit tcp any host 194.72.6.51 neq ftp
11 permit tcp any eq domain host 194.72.6.51 neq ftp
12 permit tcp any host 194.72.6.51 gt 1023
13 permit ip any host 1.1.1.1
******** Cisco IOS ACL ************
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE ***********
Using the new algorithm - 16 entries
Using the old algorithm - 78 entries
 

例3

******** VACL ***********
1 deny ip 0.0.0.0 255.255.255.0 any
2 deny ip 0.0.0.255 255.255.255.0 any
3 deny ip any 0.0.0.0 255.255.255.0
4 permit ip any host 239.255.255.255
5 permit ip any host 255.255.255.255
6 deny ip any 0.0.0.255 255.255.255.0
7 permit tcp any range 0 65534 any range 0 65534
8 permit udp any range 0 65534 any range 0 65534
9 permit icmp any any
10 permit ip any any
******** Cisco IOS ACL **********
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE **********
Using the new algorithm - 12 entries
Using the old algorithm - 303 entries
 

例4

******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 deny tcp any any lt 30
4 deny udp any any lt 30
5 permit ip any any
******* Cisco IOS ACL ***********
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
 
Using the new algorithm - 6 entries
Using the old algorithm - 142 entries
 

例5

******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 permit ip any any
******* Cisco IOS ACL ***********
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
 
Using the new algorithm - 4 entries
Using the old algorithm - 4 entries
 

レイヤ4演算設定時の注意事項

ここでは、レイヤ4ポート演算使用時の注意事項について説明します。

「レイヤ4演算の使用方法」

「LOUの使用」

レイヤ4演算の使用方法

スイッチ ハードウェアには、次のタイプの演算子を指定することができます。

gt(geater than:より大きい)

lt(less than:より小さい)

neq(not equal:等しくない)

eq(equal:等しい)

range(inclusive range:包含範囲)

1つのACLに指定する演算は、9つまでにしてください。この数を超えると、新しい演算によって影響されるACEが、複数のACEに分割されることがあります。


) 同じVLANインターフェイス上にCisco IOS ACLおよびVACLの両方を設定する場合も、レイヤ4演算の数は合計で9以下にすることを推奨します。


レイヤ4演算を定義するときは、次の2つの注意事項に従ってください。

1. レイヤ4演算は、演算子またはオペランドが異なっていると、異なる演算であるとみなされます。次のACLには4つの異なるレイヤ4演算が定義されています([gt 10]と[gt 11]は2つの異なるレイヤ4演算です)。

... gt 10 permit
... lt 9 deny
... gt 11 deny
... neq 6 redirect

) [eq]演算子の使用に制限はありません。[eq]演算子はLogical Operator Unit(LOU)またはレイヤ4演算ビットを使用しないためです。LOUについては、「LOUの使用」を参照してください。


2. レイヤ4演算は、同じ演算子とオペランドの組み合わせでも、送信元ポートに適用するか宛先ポートに適用するかによって異なる演算になります。次のACLでは、1つのACEには送信元ポート、もう1つのACEには宛先ポートが指定されているので、2つの異なるレイヤ4演算が定義されていることになります。

... Src gt 10 ...
... Dst gt 10
 

) ACLのレイヤ4ポート演算リソースの使用状況を調べるには、show security acl resource- usageコマンドを使用します。


LOUの使用

LOUは、演算子とオペランドの組み合わせを保存するレジスタです。すべてのACLはLOUを使用します。最大32のLOUがあります。各LOUには、2つの異なる演算子/オペランドの組み合わせを保存できますが、range演算子だけは例外です。レイヤ4演算は、次のようにLOUを使用します。

gt は、1/2 LOUを使用します。

lt は、1/2 LOUを使用します。

neq は、1/2 LOUを使用します。

range は、1 LOUを使用します。

eq は、LOUを使用しません。

たとえば、次のACLでは、1つのLOUに2つの異なる演算子とオペランドが保存されます。

... Src gt 10 ...
... Dst gt 10
 

以下は、より詳細な例です。

ACL1
... (dst port) gt 10 permit
... (dst port) lt 9 deny
... (dst port) gt 11 deny
... (dst port) neq 6 redirect
... (src port) neq 6 redirect
... (dst port) gt 10 deny
 
ACL2
... (dst port) gt 20 deny
... (src port) lt 9 deny
... (src port) range 11 13 permit
... (dst port) neq 6 redirect
 

レイヤ4演算数とLOUの使用数は、次のとおりです。

ACL1のレイヤ4演算: 5

ACL2のレイヤ4演算: 4

LOU: 4

LOUは、次のように使用されています。

LOU 1に、[gt 10]および[lt 9]が保存されます。

LOU 2に、[gt 11]および[neq 6]が保存されます。

LOU 3に、[gt 20]が保存されます(半分は空き)。

LOU 4に、[range 11 13]が保存されます(rangeは1 LOUを使用)。

ネットワークでのVACLの使用

ここでは、VACLの一般的な使用例について説明します。

「配線クローゼットの設定」

「特定のサーバ ポートへのブロードキャスト トラフィックのリダイレクト」

「特定のサーバに対するDHCP応答の制限」

「他のVLAN上のサーバからのアクセス拒否」

「ARPトラフィックの制限」

「ARPトラフィックの検査」

「ダイナミックARP検査」

「プライベートVLAN上でのACLの設定」

「トラフィック フローのキャプチャ」

配線クローゼットの設定

配線クローゼットの設定では、Catalyst 6500シリーズ スイッチにMSFC(ルータ)が搭載されていないことがあります。この設定では、スイッチによりVACLおよびQoS ACLがサポートされます。ホストXおよびホストYは異なるVLAN上にあり、配線クローゼットのスイッチAおよびスイッチCに接続しているとします(図16-4を参照)。ホストXからホストYへのトラフィックは、最終的に、MSFC搭載スイッチによってルーティングされます。ホストXからホストYへのトラフィックは、トラフィックの入口であるスイッチAでアクセス制御することができます。

ホストXからホストYへのHTTPトラフィックをスイッチングしない場合は、スイッチAにVACLを設定します。この場合、ホストXからホストYへのHTTPトラフィックはすべてスイッチAで廃棄され、MSFC搭載スイッチにはブリッジングされません。

図16-4 配線クローゼットの設定

 

特定のサーバ ポートへのブロードキャスト トラフィックのリダイレクト

一部のアプリケーション トラフィックは、VLAN内のすべてのホストに到達するブロードキャスト パケットを使用します。VACLにより、これらのブロードキャスト パケットを特定のアプリケーション サーバのポートにリダイレクトできます。

図16-5では、ホストAからアプリケーション ブロードキャスト パケットがターゲットのアプリケーション サーバ ポートにリダイレクトされ、他のポートにパケットは送信されません。

ブロードキャスト トラフィックを特定のサーバ ポートにリダイレクトするには、イネーブル モードで次の作業を行います(対象となるサーバ アプリケーション ポートは、TCPポート5000です)。

 

作業
コマンド

ステップ 1

ブロードキャスト パケットをリダイレクトします。

set security acl ip SERVER redirect 4/1 tcp any host 255.255.255.255 eq 5000

ステップ 2

他のすべてのトラフィックを許可します。

set security acl ip SERVER permit ip any any

ステップ 3

VACLをコミットします。

commit security acl SERVER

ステップ 4

VACLをVLAN 10にマッピングします。

set security acl map SERVER 10


) トラフィックをポート グループにリダイレクトすることによって、ブロードキャスト トラフィックをマルチキャストの宛先に送信することができます(図16-5を参照)。


図16-5 特定のサーバ ポートへのブロードキャスト トラフィックのリダイレクト

 

特定のサーバに対するDHCP応答の制限

Dynamic Host Configuration Protocol(DHCP)要求がブロードキャストされると、VLAN内のすべてのDHCPサーバに送信されるので、複数の応答が戻されます。VACLによって、 特定の DHCPサーバからの応答だけを受けるようにし、他の応答を廃棄することができます。

DHCP応答を特定のサーバに制限するには、イネーブル モードで次の作業を行います(ターゲットのDHCPサーバのIPアドレスは、1.2.3.4です)。

 

作業
コマンド

ステップ 1

ホスト1.2.3.4からのDHCP応答を許可します。

set security acl ip SERVER permit udp host 1.2.3.4 any eq 68

ステップ 2

他のホストからのDHCP応答を拒否します。

set security acl ip SERVER deny udp any any eq 68

ステップ 3

他のIPトラフィックを許可します。

set security acl ip SERVER permit any

ステップ 4

VACLをコミットします。

commit security acl SERVER

ステップ 5

VACLをVLAN 10にマッピングします。

set security acl map SERVER 10

図16-6では、DHCP要求に対して、ターゲット サーバのDHCP応答だけが戻されています。

図16-6 特定のサーバのDHCP応答のリダイレクト

 

他のVLAN上のサーバからのアクセス拒否

他のVLAN上のサーバからのアクセスを制限することができます。たとえば、VLAN 10のサーバ10.1.1.100で、次のようなアクセス制限をする必要があるとします(図16-7を参照)。

VLAN 20のサブネット10.1.2.0/24のホストからのアクセスを拒否する

VLAN 10のホスト10.1.1.4および10.1.1.8からのアクセスを拒否する

他のVLAN上のサーバからのアクセスを拒否するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

サブネット10.1.2.0/24のホストからのトラフィックを拒否します。

set security acl ip SERVER deny ip 10.1.2.0 0.0.0.255 host 10.1.1.100

ステップ 2

ホスト10.1.1.4からのトラフィックを拒否します。

set security acl ip SERVER deny ip host 10.1.1.4 host 10.1.1.100

ステップ 3

ホスト10.1.1.8からのトラフィックを拒否します。

set security acl ip SERVER deny ip host 10.1.1.8 host 10.1.1.100

ステップ 4

他のIPトラフィックを許可します。

set security acl ip SERVER permit ip any any

ステップ 5

VACLをコミットします。

commit security acl SERVER

ステップ 6

VACLをVLAN 10にマッピングします。

set security acl map SERVER 10

図16-7 他のVLAN上のサーバからのアクセスを拒否

 

ARPトラフィックの制限


) この機能を使用できるのは、PFC2搭載のSupervisor Engine 2、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720、およびPFC3B/PFC3BXL搭載のSupervisor Engine 32のみです。


ARPトラフィックは、デフォルトでは各VLAN上で許可されます。 set security acl ip acl_name deny arp コマンドを使用して、VLAN単位でARPトラフィックを拒否することができます。このコマンドを入力すると、ACLをマッピングしたVLAN上でARPトラフィックが拒否されます。ARPトラフィックを拒否したVLAN上で、ARPトラフィックを再び許可するには、 set security acl ip acl_name permit arp コマンドを入力します。

ARPトラフィックの検査


) この機能を使用できるのは、PFC2搭載のSupervisor Engine 2、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720、およびPFC3B/PFC3BXL搭載のSupervisor Engine 32のみです。


ここでは、ARPトラフィック検査機能について説明します。

「概要」

「実装」

「ARPトラフィック検査設定時の注意事項」

「ARPトラフィック検査の設定手順」

概要

ARPは認証メカニズムを備えていない簡易プロトコルなので、ARP要求および応答が正しいかどうかを確認する方法がありません。認証メカニズムがなければ、悪意のあるユーザ/ホストによってレイヤ2ネットワークまたはブリッジ ドメインにある同じVLAN上の他のホストのARPテーブルが破壊される可能性があります。

たとえば、ユーザ/ホストA(悪意のあるユーザ)が、デフォルト ルータのIPアドレスとホストAのMACアドレスで、非送信請求ARP応答(不必要なARPパケット)をサブネット上の他のホストに送信することがあります。従来のOS(オペレーティング システム)では、デフォルト ルータのスタティックARPエントリがホストにすでにある場合でも、ホストAからの新たにアドバタイズされたバインディングが学習されます。ホストAがIP転送をイネーブルにし、「スプーフィングされた」ホストとルータ間ですべてのパケットをやり取りする場合、(たとえばdsniffプログラムを使用した)man-in-the-middle攻撃を実行できます。このスプーフィングされたホストでは、そのトラフィックのすべてにスニファが行われていることを認識しません。

ARPトラフィック検査によって、セキュリティACL(VACL)フレームワーク内に順序依存型の一連のルールを設定してARPテーブルへの攻撃を防止できます。

実装

VLAN上のVACLにARPトラフィック検査の具体的なルールが存在する場合は、すべてのARPパケットはVACLのACEを介してインデックスによる指定でCPUに送られます。パケットは、ARPトラフィック検査タスクによって指定されたルールへの適合が検査されます。適合パケットは転送されますが、非適合パケットは廃棄されてログが取られます(ロギングがイネーブルの場合)。

ARPトラフィック検査のルールは、次の例に示すように指定されたIPアドレスに対してARPバインディングを指定します。

permit arp-inspection host 10.0.0.1 00-00-00-01-00-02
permit arp-inspection host 20.0.0.1 00-00-00-02-00-03
deny arp-inspection host 10.0.0.1 any
deny arp-inspection host 20.0.0.1 any
permit arp-inspection any any
 

上記の一連のルールによって、00-00-00-01-00-02だけがIPアドレス10.0.0.1のMACアドレスとしてアドバタイズされます。同様に、MACアドレス00-00-00-02-00-03はIPアドレス20.0.0.1にバインドされます。10.0.0.1および20.0.0.1のその他のMACアドレスをアドバタイズするARPパケットは廃棄されます(3行めおよび4行めの deny 動作によって達成)。残りのARPパケットは通過が許可されます(5行めの permit 動作によって達成)。

ARPトラフィック検査設定時の注意事項

ここでは、ARPトラフィック検査設定時の注意事項について説明します。

ARPトラフィック検査句をVACLの先頭に表示します。

VACLに設定できるARPトラフィック検査句の数の上限は32です。

ARPトラフィック検査句を含んだACLの最大文字数は29文字です。

ARPトラフィック検査ACEは、IP ACEになるように変更できません。その逆も同様です。

ARPトラフィック検査ACEは、IP ACEの前に挿入できません。その逆も同様です。

同じVACLで汎用deny/permitステートメントをARPトラフィック検査句と一緒に使用しないでください。汎用deny/permitステートメントは、set security acl ip acl_name {deny | permit} arpコマンドを使用してインストールします。

MSFCがホストのゲートウェイである場合は、MSFC IP/MACのバインディングを使用可能にする必要があります。ARPトラフィック検査を実行する場合は、ゲートウェイIP/MACバインディングを使用可能にすることを推奨します。

ARPトラフィック検査は、VACLの既存のロギング機能を使用します。パケットがARPトラフィック検査ルールを経たあと、結果が[permit]の場合、パケットは宛先MACアドレス(またはブロードキャスト アドレス)に転送されます。結果が[deny]の場合は、パケットは廃棄され、VACLロギング プロセスに送信されます(ロギングがイネーブルの場合)。

VACLロギングは送信元MACアドレスおよびARPヘッダーのフィールドを使用して、ロギング フローを定義します。使用するフィールドは、送信元IPアドレス、送信元MACアドレス、およびARP演算コード(要求、応答)です。

set security acl log maxflow max_flows コマンドを入力すると、ログ済みフローの数を制限できます。ただし、 set security acl log ratelimit max_rate コマンドはARPトラフィック検査ログ済みフローに適用されません。

RARPパケットはホスト上のARPエントリの学習に使用されず、ARPを破壊するような害を及ぼすことはありません。PFC2およびPFC3A/PFC3B/PFC3BXLでは、ARPおよびRARPパケットの区別が行われません。CPUへのARPパケットのリダイレクトに使用されるACEも、RARPパケットをリダイレクトします。グローバル レート制限とは、結合ARPおよびRARPパケットに対するレート制限のことです。ARPトラフィック検査ルールはRARPパケットには適用されないので、RARPパケットはそのまま転送されます。汎用ARP denyステートメントもRARPパケットを拒否します。転送されるRARPパケットの数は、 show security acl arp-inspection statistics コマンドを実行すると表示できます。

ARPトラフィック検査句を伴うVACLを管理VLAN(sc0/sc1インターフェイス)にマッピングすることは、サポートされていません。

ポートがEtherChannelに組み込まれていたとしても、廃棄およびシャットダウン スレッシュホールドはポートベースのままです。スレッシュホールドは、EtherChannelの形成に必要な 一致 の構成要素ではありません(PAgPは 一致した EtherChannelリンクを特定すると、そのポートをEtherChannelにまとめます)。

ハードウェアによるARPパケットの認識方法が原因で、送信元アドレスが0.0.0.0、宛先アドレスが0.0.0.0のIPパケット、およびIPプロトコルICMPもARPトラフィック検査タスクにリダイレクトされます。これらのパケットは無効なパケットなので廃棄されます。このようなパケットのカウントは、show security acl arp-inspection statisticsコマンドの一部として表示されます。

ARPトラフィック検査タスクによって廃棄されたすべてのパケットについてSyslogメッセージが生成されると、コンソールはメッセージでいっぱいになります。このような状況を避けるため、1分当たりの許容Syslogメッセージを40に制限します。

次に、一般的な設定エラーを回避する例を示します。以下は一般的なARPトラフィック検査ACLです。

------------------------------
set security acl ip my_arp
---------------------------------------------------
arp permit
1. permit arp-inspection host 10.6.62.86 00-b0-c2-3b-db-fd
2. deny arp-inspection host 10.6.62.86 any
3. permit arp-inspection any any
---------------------------
 

このACLによって、MACアドレス00-b0-c2-3b-db-fdだけがIPアドレス10.6.62.86のMACアドレスとしてアドバタイズされます。このACLは、IP ACLに暗黙のip deny any anyがあるので、 すべての IPパケットを拒否します。

すべてのIPトラフィックを通過させるには、次のようにACLの末尾に明示的なpermit ip any anyがなければなりません。

--------------------
set security acl ip my_arp
---------------------------------------------------
arp permit
1. permit arp-inspection host 10.6.62.86 00-b0-c2-3b-db-fd
2. deny arp-inspection host 10.6.62.86 any
3. permit arp-inspection any any
4. permit ip any any
----------------------
 

次に、ARPトラフィック検査を使用した一般的な設定例を示します。次のACLを使用して指定された2つのIPアドレスを保護し、指定されたもの以外のMACアドレスでのARPトラフィック検査を実行しません。

set security acl ip ACL_VLAN951 permit arp-inspection host 132.216.251.129 00-d0-b7-11-13-14
set security acl ip ACL_VLAN951 deny arp-inspection host 132.216.251.129 any log
set security acl ip ACL_VLAN951 permit arp-inspection host 132.216.251.250 00-d0-00-ea-43-fc
set security acl ip ACL_VLAN951 deny arp-inspection host 132.216.251.250 any log
set security acl ip ACL_VLAN951 permit arp-inspection any any
set security acl ip ACL_VLAN951 permit ip any any

ARPトラフィック検査の設定手順

ここでは、ARPトラフィック検査の設定手順について説明します。

ARPトラフィック検査の設定

「特定のIPアドレスとMACアドレスのバインディングをアドバタイズするARPパケットの許可または拒否」

「特定のIPアドレスのバインディングをアドバタイズするARPの許可または拒否」

「すべてのARPパケットの許可または拒否」

「特定ネットワーク上のIPアドレスのバインディングをアドバタイズするARPパケットの許可または拒否」

「MACアドレスが一致しないパケットの廃棄」

「MACまたはIPアドレスが無効なパケットの廃棄」

「ARPトラフィック検査統計情報の表示」

「ARPトラフィック検査統計情報の消去」

ARPトラフィック検査のレート制限の設定

「グローバル ベースのレート制限の設定」

「ポート単位ベースのレート制限の設定」

「ARPトラフィック検査のためのerrdisable-timeoutオプションの設定」

ARPトラフィック検査のロギングの設定

「ARPトラフィック検査のロギングの設定」

特定のIPアドレスとMACアドレスのバインディングをアドバタイズするARPパケットの許可または拒否

特定のIPアドレスとMACアドレスのバインディングをアドバタイズするARPパケットを許可または拒否するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

特定のIPアドレスとMACアドレスのバインディングをアドバタイズするARPパケットを許可または拒否します。

set security acl ip acl_name { permit | deny } arp-inspection host ip_address mac_address

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

次に、IPアドレス172.20.52.54とMACアドレス00-01-64-61-39-c2のバインディングをアドバタイズするARPパケットを許可する例を示します。

Console> (enable) set security acl ip ACL1 permit arp-inspection host 172.20.52.54 00-01-64-61-39-c2
Operation successful.
Console> (enable) commit security acl ACL1
Console> (enable) ACL commit in progress.
 
ACL 'ACL1' successfully committed.
 

特定のIPアドレスのバインディングをアドバタイズするARPの許可または拒否

指定したIPアドレスのバインディングをアドバタイズするARPパケットを許可または拒否するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

指定したIPアドレスのバインディングをアドバタイズするARPパケットを許可または拒否します。

set security acl ip acl_name {permit | deny} arp-inspection host ip_address any

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

次に、IPアドレス172.20.52.19のバインディングをアドバタイズするARPパケットを許可する例を示します。

Console> (enable) set security acl ip ACL2 permit arp-inspection host 172.20.52.19 any
Operation successful.
Console> (enable) commit security acl ACL2
Console> (enable) ACL commit in progress.
 
ACL 'ACL2' successfully committed.
 

すべてのARPパケットの許可または拒否

すべてのARPパケットを許可または拒否するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

すべてのARPパケットを許可または拒否します。

set security acl ip acl_name {permit | deny} arp-inspection any any

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

次に、すべてのARPパケットを許可する例を示します。

Console> (enable) set security acl ip ACL3 permit arp-inspection any any
Operation successful.
Console> (enable) commit security acl ACL3
Console> (enable) ACL commit in progress.
 
ACL 'ACL3' successfully committed.
 

特定ネットワーク上のIPアドレスのバインディングをアドバタイズするARPパケットの許可または拒否

特定ネットワーク上のIPアドレスのバインディングをアドバタイズするARPパケットを許可または拒否するには、イネーブル モードで次の作業を行います。


ip_maskは逆マスクです。[0]ビットは「一致」を意味し、[1]ビットは「無視」を意味します。たとえば、10.3.5.6と0.0.0.255は10.3.5/24に相当します。


 

作業
コマンド

ステップ 1

特定ネットワーク上のIPアドレスのバインディングをアドバタイズするARPパケットを許可または拒否します。

set security acl ip acl_name {permit | deny} arp-inspection ip_address ip_mask any

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

次に、サブネット10.3.5.0/24上のIPアドレスのバインディングをアドバタイズするARPパケットを許可する例を示します。

Console> (enable) set security acl ip ACL4 permit arp-inspection 10.3.5.6 0.0.0.255 any
Operation successful.
Console> (enable) commit security acl ACL4
Console> (enable) ACL commit in progress.
 
ACL 'ACL4' successfully committed.
 

MACアドレスが一致しないパケットの廃棄

(イーサネット ヘッダーの)送信元イーサネットMACアドレスがARPヘッダーの送信元MACアドレスと異なるパケットを廃棄するには、イネーブル モードで次の作業を行います。 drop キーワードを指定しないと、パケットは廃棄されませんが、Syslogメッセージが表示されます。VACLロギング機能にパケットを送信するには、 log キーワードを使用します。


ヒント 通常、match-mac句を使用してARPスプーフィングを防止しても、各VLANの特定ARP検査ACLを作成する必要はなくなりません。match-mac句は、より洗練されたARPテーブル攻撃を受けません。大部分のARPスプーファは、イーサネット ヘッダーの送信元MACアドレスを変更してARPペイロードのアドレスを一致させます。


 

作業
コマンド

ステップ 1

MACアドレスの一致しないパケットを識別または廃棄します。

set security acl arp-inspection match-mac { enable [drop [log]] | disable }

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

ステップ 3

設定を表示します。

show security acl arp-inspection config

次に、送信元イーサネットMACアドレスがARPヘッダーの送信元MACアドレスと異なるパケットを廃棄する例を示します。

Console> (enable) set security acl arp-inspection match-mac enable drop
ARP Inspection match-mac feature enabled with drop option.
Console> (enable)
 
Console> (enable) show security acl arp-inspection config
Match-mac feature is enabled with drop option.
Console> (enable)

MACまたはIPアドレスが無効なパケットの廃棄

次のMACアドレスは無効です。

00-00-00-00-00-00

マルチキャストMACアドレス(48番めのビットを設定)

ff-ff-ff-ff-ff-ff(これは特殊なケースのマルチキャストMACアドレスです)

次のIPアドレスは無効です。

0.0.0.0

255.255.255.255

クラスD(マルチキャスト)IPアドレス

MACまたはIPアドレスが無効なパケットを廃棄するには、イネーブル モードで次の作業を行います( drop キーワードを指定しないと、パケットは廃棄されませんが、Syslogメッセージが表示されます)。

 

作業
コマンド

ステップ 1

MACまたはIPアドレスが無効なパケットを廃棄します。

set security acl arp-inspection address-validation { enable [drop [log]] | disable }

ステップ 2

VACLをコミットします。

commit security acl { acl_name | all | adjacency }

ステップ 3

設定を表示します。

show security acl arp-inspection config

次に、MACまたはIPアドレスが無効なパケットを廃棄する例を示します。

Console> (enable) set security acl arp-inspection address-validation enable drop
ARP Inspection address-validation feature enabled with drop option.
Console> (enable)
 
Console> (enable) show security acl arp-inspection config
Address-validation feature is enabled with drop option.
Console> (enable)
 

ARPトラフィック検査統計情報の表示

ARPトラフィック検査タスクによって許可および拒否されたパケットの数を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

ARPトラフィック検査タスクによって許可および拒否されたパケットの数を表示します。

show security acl arp-inspection statistics [ acl_name ]


) show security aclコマンドを入力すると、特定のARPトラフィック検査設定情報を表示します。


次に、ARPトラフィック検査タスクによって許可および拒否されたパケットの数を表示する例を示します。

Console> (enable) show security acl arp-inspection statistics
ARP Inspection statistics
Packets forwarded = 0
Packets dropped = 0
RARP packets (forwarded) = 0
Packets for which Match-mac failed = 0
Packets for which Address Validation failed = 0
IP packets dropped = 0
Console> (enable)
 

ARPトラフィック検査統計情報の消去

ARPトラフィック検査統計情報を消去するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ARPトラフィック検査統計情報を消去します。

clear security acl arp-inspection statistics [ acl_name ]

オプションの引数なしでコマンドを入力すると、すべてのACLでARPトラフィック検査グローバル統計情報カウンタおよびARPトラフィック検査統計情報カウンタが消去されます。オプションの引数 acl_name を指定すると、特定ACLのARPトラフィック検査統計情報だけが消去されます。


) clear security aclコマンドを入力すると、ARPトラフィック検査の設定値が消去されます。


グローバル ベースのレート制限の設定

グローバルにスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を実行できます。デフォルトでは、ARPトラフィック検査のトラフィックは500パケット/秒にレート制限されます。最小値は1パケット/秒、最大値は1000パケット/秒です。Supervisor Engine 720の場合、ハードウェアにより決められる最小値は10パケット/秒です(1~9の値は10に設定されます)。レート制限をディセーブルにするには、値を0に設定します。


) レート制限は、複数の機能で共有されます。レート制限を共有する機能を表示するには、show security acl feature ratelimitコマンドを入力します。


グローバル ベースでスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を行うには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

グローバル ベースでスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を行います。

set security acl feature ratelimit rate

ステップ 2

グローバル レート制限値を表示します。

show security acl feature ratelimit

ステップ 3

スイッチ プロセッサおよびRoute Processor(RP;ルート プロセッサ)で設定された、すべてのレート リミッタ設定を表示します。

show rate-limit

次に、CPUに送信されるARPトラフィック検査パケットの数を1000にレート制限する例を示します。

Console> (enable) set security acl feature ratelimit 1000
Dot1x DHCP and ARP Inspection global rate limit set to 1000 pps.
Console> (enable)
 
Console> (enable) show security acl feature ratelimit
Rate limit value in packets per second = 1000
Protocols set for rate limiting = Dot1x DHCP, ARP Inspection
Console> (enable)
 
Console> (enable) show rate-limit
Configured Rate Limiter Settings:
 
Rate Limiter Type Status Rate (pps) Burst
-------------------- ------ -------------- -----
VACL LOG On 2500 1
ARP INSPECTION On 1000 1
FIB RECEIVE Off * *
FIB GLEAN Off * *
L3 SEC FEATURES Off * *
 
Console> (enable)
 

ポート単位ベースのレート制限の設定

ポート単位でスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を実行できます。レートがdrop-thresholdを超える場合、超過パケットは廃棄されます(さらにshutdown-threshold制限に対してカウントされます)。レートがshutdown-thresholdを超える場合は、mod/portによって指定されたポートはシャットダウンされます。デフォルトでは、両方のスレッシュホールド値が0です(ポート単位のレート制限は適用されません)。両方のスレッシュホールドの最大値は1000パケット/秒(pps)です。

ポート単位でスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を行うには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

ポート単位でスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数に対してレート制限を行います。

set port arp-inspection mod / port drop-threshold packets_per_second shutdown-threshold packets_per_second

set port arp-inspection mod / port drop-threshold packets_per_second

set port arp-inspection mod / port shutdown-threshold packets_per_second

ステップ 2

廃棄およびシャットダウン スレッシュホールドを表示します。

show port arp-inspection {[mod/port] | [mod]}

次に、ポート単位でスーパバイザ エンジンCPUに送信されるARPトラフィック検査パケットの数をレート制限する例を示します。ポート3/1に対して廃棄スレッシュホールドを700、シャットダウン スレッシュホールドを800に設定します。

Console> (enable) set port arp-inspection 3/1 drop-threshold 700 shutdown-threshold 800
Drop Threshold=700, Shutdown Threshold=800 set on port 3/1.
Console> (enable)
 
Console> (enable) show port arp-inspection 3/1
Port Drop Threshold Shutdown Threshold
------------------------ -------------- ------------------
3/1 700 800
Console> (enable)
 

ARPトラフィック検査のためのerrdisable-timeoutオプションの設定

set errdisable-timeout { enable | disable } arp-inspection コマンドを使用して、ARPトラフィック検査のためにerrdisable-timeoutオプションを設定できます。errdisable-timeoutオプションの詳細については、「ポートのerrdisableステートにおけるタイムアウト設定」 を参照してください。

ARPトラフィック検査のロギングの設定

ロギング オプションを設定して廃棄されるARPトラフィック検査パケットのログを取るには、イネーブル モードで次の作業を行います。

 

作業
コマンド

廃棄されるARPトラフィック検査パケットのログを取ります。

set security acl ip acl_name deny arp-inspection {host ip_address {any | mac_address } | ip_address ip_mask any | any any} [log]

VACLロギング オプションの詳細については、「VACLロギングの設定」を参照してください。ここでは、set security acl log maxflow max_numberコマンドによるログ フローの数の制限についても説明します。

ロギングされたARPトラフィック検査パケットを表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

ロギングされたARPトラフィック検査パケットを表示します。

show security acl log flow arp [ host ip_address [ vlan vlan ]]

オプションの host ip address を指定すると、指定したホストのIPアドレスのバインディングをアドバタイズするARPパケットだけが表示されます。オプションの vlan vlan を指定した場合は、検索が指定したVLANに限定されます。

ダイナミックARP検査


) Dynamic ARP Inspection(DAI)を使用できるのは、PFC2搭載のSupervisor Engine 2、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720、およびPFC3B/PFC3BXL搭載のSupervisor Engine 32のみです。


ここでは、DAIについて説明します。

「概要」

「ダイナミックARP検査の設定手順」

概要

DAIでは、バインディングのアドバタイズを適用するのにDHCPスヌーピングで作成されたバインディング情報を使用して、[man-in-the-middle]攻撃を防ぎます。これらの攻撃では、攻撃者が通信データを代行受信し、それを選択的に変更して通信アソシエーション内の1つまたは複数のエントリになりすまします。DAIでは、ARPパケットのMACアドレスおよびIPアドレスが、同一VLAN内にある既存のDHCPスヌーピング バインディングと一致することを確認することで、セキュリティ用の特別レイヤをARP検査に追加します。DHCPバインディングが存在することを確認する追加のチェックを除いて、ARP検査の基本的な機能とパケット フローは変わりません(論理フロー チャートについては図16-8を参照してください)。


) untrustedポートから送信されるARPパケットのみが検査されます。trustedポートから受信したARPパケットは、検査なしに転送されます(このプロセスは、スタティックおよびダイナミックARP検査の両方に適用されます)。デフォルトで、システムはMAFCポートをARP検査trustedポートとして設定します。


セキュリティACLを作成する場合、静的に設定されたARP検査規則はDHCPバインディングのDAIチェックよりもプライオリティが高いので、注意が必要です。発生したことに対するチェックができなくなるので、 permit arp-inspection any any 句をセキュリティACLに配置しないでください。

DAIをVLAN単位でイネーブルまたはディセーブルに設定できます。DAIポートをuntrustedと設定する場合、そのDAIポートをDHCPスヌーピングuntrustedポートとしても設定する必要があります。DAIがイネーブルになっているすべてのVLANで、DHCPスヌーピングをイネーブルにする必要があります。オプションで、DAIで拒否されたARPパケットに対するロギングをイネーブルにできます。


) すべての(またはほとんどの)IPアドレスの割り当てがDHCPを使用して実行されているVLANでイネーブルにした場合に、DAIがもっともよく機能します。


図16-8 ダイナミックARP検査のフロー チャート

 


注意 管理VLAN sc0 およびsc1でDAIをイネーブルにできません。

スタティックIPアドレス割り当てがVLANにある場合、関連ポートをARP検査のtrustedポートに設定するか、またはスタティックARP検査でこれらのMACアドレスおよびIPアドレスを許可するように設定する必要があります。

ダイナミックARP検査の設定手順


) DAI、DHCPスヌーピング、およびIP送信元ガードを使用する場合、ハイ アベイラビリティをイネーブルにすることを推奨します。ハイ アベイラビリティがイネーブルでない場合、スイッチオーバー後にこれらの機能が動作するようにクライアントはIPアドレスを更新する必要があります。DHCPスヌーピングおよびIP送信元ガードの設定の詳細については、第31章「DHCPスヌーピングおよびIPソース ガードの設定」を参照してください。


DAIを設定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

VLANでDAIをイネーブルにします。

set security acl arp-inspection dynamic { enable | disable } { vlanlist }

ステップ 2

ARPパケットの検査をイネーブルまたはディセーブルにします。

set port arp-inspection portlist trust { enable | disable }

ステップ 3

DAIが拒否したパケットのロギングをイネーブルにします。


) スタティックARP規則拒否のロギングは、引き続き規則(ACE)CPGで制御されます。


set security acl arp-inspection dynamic log { enable | disable }

ステップ 4

DAIおよびDAIロギング設定を確認します。

show security acl arp-inspection config

次に、VLAN 100でDAIをイネーブルにする例を示します。

Console> (enable) set security acl arp-inspection dynamic enable 100
Dynamic ARP Inspection is enabled for vlan(s) 100.
Console> (enable) set port arp-inspection 2/2 trust enable
Port(s) 2/2 state set to trusted for ARP Inspection.
Console> (enable) set security acl arp-inspection dynamic log enable
Dynamic ARP Inspection logging enabled.
Console> show security acl arp-inspection config
Match-mac feature is disabled.
Address-validation feature is disabled.
Dynamic ARP Inspection is disabled on vlan(s) 1,1006-1013.
Dynamic ARP Inspection is enabled on vlan(s) 100.
Logging for Dynamic ARP Inspection rules is enabled.
Console>

プライベートVLAN上でのACLの設定

プライベートVLANにより、プライマリVLANをサブVLAN(セカンダリVLAN)に分割し、コミュニティVLANまたは独立VLANとして設定できます。Release 6.1(1)より前のソフトウェア リリースでは、ACLを設定できるのはプライマリVLAN上だけなので、ACLはすべてのセカンダリVLANに適用されます。Release 6.1(1)以降のソフトウェア リリースでは、ACLの適用は次のようになります。

VACLを、セカンダリVLANまたはプライマリVLANにマッピングできます。

プライマリVLANにマッピングしたCisco IOS ACLが、関連付けられたセカンダリVLANにマッピングされます。

Cisco IOS ACLを、セカンダリVLANにマッピングすることはできません。

ダイナミックACEを、プライベートVLANにマッピングすることはできません。

QoS ACLを、セカンダリVLANまたはプライマリVLANにマッピングできます。

VACLをプライマリVLANにマッピングした場合、ルータからホストへのトラフィックがフィルタリングされます。また、セカンダリVLANにマッピングした場合は、ホストからルータへのトラフィックがフィルタリングされます。


) Release 6.2(1)以降のソフトウェア リリースでは、MSFC混合ポートを通ってトラフィックがプライベートVLANの境界を越えるとき、双方向コミュニティVLANを使用してプライマリVLANからセカンダリVLANへの逆マッピングを実行できます。発信と着信の両方のトラフィックは、VLANベースのVACLをコミュニティ(または顧客)単位で両方向に適用できる同一のVLANで伝送できます



) プライベートVLANの詳細については、「スイッチ上でのプライベートVLANの設定」を参照してください。


トラフィック フローのキャプチャ

設定の詳細については、「特定ポート上でのトラフィック フローのキャプチャ」を参照してください。

サポートされない機能


) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


ここでは、Catalyst 6500シリーズ スイッチがサポートしていない、またはサポートが制限されているACL関連機能について説明します。

non-IP version 4/non-IPX Cisco IOS ACL ― 次のタイプのCisco IOSセキュリティACLは、スイッチのハードウェアで実行することはできません。そのため、MSFCがACLをソフトウェアで処理することになり、システムのパフォーマンスを 著しく 低下させます。

ブリッジ グループACL

IPアカウンティング

着信/発信のレート制限

送信元ノード番号を指定した標準IPX

送信元ノード番号またはソケット番号を指定したIPX拡張アクセス リストは、ハードウェアでは実行できません。

標準XNSアクセス リスト

拡張XNSアクセス リスト

DECnetアクセス リスト

拡張MACアドレス アクセス リスト

プロトコル タイプコード アクセス リスト

ヘッダー長が5未満のIPパケットは、アクセス制御されません。

full flow IPX VACLの非サポート ― IPX VACLは、送信元/宛先ネットワーク番号、パケット タイプ、宛先ノード番号だけを指定したフローを対象にしています。IPXフローの指定では、送信元ノード番号およびソケット番号はサポートされません。

VACLの設定

ここでは、VACLの設定方法について説明します。設定の作業を行う前に、「VACL設定時の注意事項」を参照してください。

ここでは、VACL設定時の注意事項と要約について説明します。

「VACL設定時の注意事項」

「VACL設定の要約」

「CLIからのVACLの設定」

VACL設定時の注意事項

ここでは、VACL設定時の注意事項について説明します。


注意 ACLの変更はすべて、編集バッファに一時的に保存されます。すべてのACEをNVRAM(不揮発性RAM)にコミットするには、commitコマンドを入力する必要があります。ACEを指定せずにコミットしたACLは、削除されます。ACEをまとめて入力し、commitコマンドを使用してすべての変更をNVRAMに保存することを推奨します。


) Cisco IOS ACLとVACLは、NVRAMではなくフラッシュ メモリから設定できます。詳細については、「VACLおよびQoS ACLの設定およびフラッシュ メモリへの保存」を参照してください。



) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


「同一VLANインターフェイス上にCisco IOS ACLおよびVACLを設定する場合の注意事項」を参照してください。

設定例については、「ネットワークでのVACLの使用」を参照してください。

「サポートされない機能」を参照してください。

「ACLマージ アルゴリズムの指定」を参照してください。

VLANにマッピングするには、まずVACLをコミットする必要があります。デフォルトのVACLはありません。また、VACL/VLANのデフォルト マッピングもありません。

ルーテッドVLANインターフェイス(入力または出力)上のトラフィックを拒否するCisco IOS ACLが設定されておらず、かつVACLが設定 されていない 場合、すべてのトラフィックが許可されます。

ACLでは、ACEの入力順序が重要になります。スイッチに入ってくるパケットは、まずACLの最初のACEと照合されます。一致しない場合、パケットはリストの次のACEと照合されます。どのACEとも一致しない場合、パケットは拒否(廃棄)されます。

編集バッファの内容を変更する前に、必ずshow security acl info acl_name editbufferコマンドを使用して、 現在の ACEリストを確認してください。

冗長MSFCを搭載したシステムでは、両方のMSFC上で、Cisco IOS ACLおよびVACLの同じACL設定を適用する必要があります。

ACLをコミットしないで削除した場合、システムのACLの最大数が誤って算出されることがあります。

show security acl resource-usage および show qos acl resource-usage コマンドの出力では、ハードウェアにACLを保存できるスペースがなくなっても、使用率が100 %にならないことがあります。ACL管理者が必要に応じてクリーンアップおよびマッピングを実行できるように、予備のACLスペースが確保されているためです。

非常に多数のACLを設定すると、システムの起動時間が通常より長くなることがあります。

リダイレクト オプションを使用する場合、次の注意事項に留意してください。

リダイレクト パケットを送出できるのは、そのトラフィックが属しているVLANをサポートしているポートだけです。

リダイレクト オプションの動作は、パケットを受信してリダイレクト ポートに送信するだけで、ルーティングは実行しません。

パケットが多数のVLANから送信される場合、リダイレクト ポートはこれらのVLANをフォワーディング ステートにする必要があります。ポートで複数のVLANをサポートするには、リダイレクト ポートをトランクとして設定しなければならないことがあります。

ルーティングされていないトラフィックを受信できるように、キャッシュは混合(promiscuous)モードに設定します。

複数のポートにトラフィックを転送して基本的なVLANベースのロードバランシングを実行するには、リダイレクト オプションを使用します。各ポートは、そのポートでフォワーディング ステートになっているVLANのパケットだけを転送します。

VACL設定の要約

VACLを作成して、VLANにマッピングする手順は、次のとおりです。


ステップ 1 set security acl ip コマンドを入力してVACLを作成し、ACEを追加します。

ステップ 2 commit コマンドを入力して、VACLおよび関連付けられたACEをNVRAMにコミットします。

ステップ 3 set security acl map コマンドを入力して、VACLをVLANにマッピングします。


) この説明ではIP VACLを使用していますが、同じ手順でIPXおよびnon-IP version 4/non-IPX VACLを設定することもできます。



) VACLはリストの末尾に暗黙の拒否ステートメントが付加されるので、どのVACL ACEにも一致しないパケットは拒否されます。



 

CLIからのVACLの設定

ここでは、Catalyst 6500シリーズ スイッチ上でVACLを作成し、アクティブにする手順について説明します。これらの作業は、実行する順序に従って記載されています。

ここで説明する作業は、次のとおりです。

「ACLマージ アルゴリズムの指定」

「IP VACLの作成およびACEの追加」

「IPX VACLの作成およびACEの追加」

「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」

「ACLのコミット」

「VACLのVLANへのマッピング」

「VACLの内容の表示」

「VACL/VLANのマッピングの表示」

「編集バッファの消去」

「セキュリティACLからのACEの削除」

「セキュリティACLマップの消去」

「VACL管理情報の表示」

「特定ポート上でのトラフィック フローのキャプチャ」

「VACLロギングの設定」

ACLマージ アルゴリズムの指定

ACLマージ アルゴリズムには、BDDとODMの2種類があります。ODMは、Release 7.1(1)のソフトウェア リリースで採用された拡張アルゴリズムです。BDDアルゴリズムは、Release 7.1(1)より前のソフトウェア リリースで使用されていました。ODMを使用した場合、マージ後のACEは順序に依存します。BDDを使用した場合、マージ後のACEは順序には関係ありません。


) Release 8.1(1)以降のソフトウェア リリースでは、BDDアルゴリズムはどのプラットフォーム(PFC、PFC2、またはPFC3A/PFC3B/PFC3BXL)上でもサポートされなくなりました。デフォルトのACLマージ アルゴリズムはODMです。Release 8.1(1)以降のソフトウェア リリースでは、コマンドが次のように変更されています。set aclmerge algoおよびset aclmerge bddコマンドは削除されました。show aclmerge {bdd | algo}コマンドはshow aclmerge algoになりました。



) ODMアルゴリズムの例については、「Release 7.1(1)以降のスーパバイザ エンジン ソフトウェア リリースの場合のマージ結果の推定」を参照してください。


デフォルトのアルゴリズムはODMです。BDDをディセーブルにした場合、マージ アルゴリズムはODMだけになります。BDDがイネーブルの場合、BDDアルゴリズムまたはODMアルゴリズムのどちらか一方を選択できます。ACLマージ アルゴリズムを変更するには、BDDがイネーブルでなければなりません。BDDをイネーブルまたはディセーブルするには、 set aclmerge bdd コマンドを使用します。BDDをイネーブルまたはディセーブルにした場合、その変更が有効になるのは、システムの再起動後です。


注意 64 MB DRAMが搭載されたスーパバイザ エンジン上でBDDをイネーブルにすると、メモリが不足する可能性があります。これを防ぐためには、メモリを128 MBにアップグレードするか、BDDをディセーブルにする必要があります。

選択したACLマージ アルゴリズムは、すべての新規ACLマージで有効です。設定済みのACLが変更されることはなく、ACLのマージ時に有効だったACLマージ アルゴリズムが使用されます。

BDDをイネーブルまたはディセーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

BDDをイネーブルまたはディセーブルにします。

set aclmerge bdd { enable | disable }

ステップ 2

現在のBDDステータス、および次回のシステム再起動時にBDDがイネーブルになるのかディセーブルになるのかを表示します。

show aclmerge { bdd | algo }

次に、BDDをディセーブルにする例を示します。

Console> (enable) set aclmerge bdd disable
Bdd will be disabled on system restart.
Console> (enable)
 

次に、現在のBDDステータス、および次回のシステム再起動時にBDDがイネーブルまたはディセーブルのいずれになるのかを表示する例を示します。

Console> (enable) show aclmerge bdd
Bdd is not enabled.
On system restart bdd will be disabled.
Console> (enable)
 

ACLマージ アルゴリズムを指定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ステップ 1

ACLマージ アルゴリズムを指定します。

set aclmerge algo { bdd | odm }

ステップ 2

現在使用中のACLマージ アルゴリズムを表示します。

show aclmerge { bdd | algo }

次に、ODMアルゴリズムを指定する例を示します。

Console> (enable) set aclmerge algo odm
Acl merge algorithm set to odm.
Console> (enable)
 

次に、現在使用中のACLマージ アルゴリズムを表示する例を示します。

Console> (enable) show aclmerge algo
Current acl merge algorithm is odm.
Console> (enable)

IP VACLの作成およびACEの追加

新しいIP VACLを作成してACEを追加したり、既存のIP VACLにACEを追加するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

IPプロトコルを指定する必要がない場合は、この構文を使用します。

set security acl ip { acl_name } { permit | deny } { src_ip_spec } [ capture ]
[
before editbuffer_index | modify editbuffer_index ] [ log 3]

IPプロトコルを指定する場合は、この構文を使用します。

set security acl ip { acl_name } { permit | deny | redirect mod_num/
port_num
} { protocol } { src_ip_spec } { dest_ip_spec } [ precedence precedence ] [ tos tos ] [ capture ] [ before editbuffer_index | modify editbuffer_index ] [ log 1]

3.logキーワードは、拒否されたIP VACLのメッセージを記録するだけです。

次に、IPACL1に1つのACEを作成し、送信元アドレス172.20.53.4からのトラフィックを許可する例を示します。

Console> (enable) set security acl ip IPACL1 permit host 172.20.53.4 0.0.0.0
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

) VACLはリストの末尾に暗黙の拒否ステートメントが付加されるので、他のトラフィックはすべて拒否されます。


次に、IPACL1に1つのACEを作成して、すべての送信元アドレスからのトラフィックを許可する例を示します。

Console> (enable) set security acl ip IPACL1 permit any
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、IPACL1に1つのACEを作成して、送信元アドレス171.3.8.2からのトラフィックをブロックする例を示します。

Console> (enable) set security acl ip IPACL1 deny host 171.3.8.2
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、編集バッファの内容を表示する例を示します。

Console> (enable) show security acl info IPACL1 editbuffer
set security acl ip IPACL1
-----------------------------------------------------------------
1. permit ip host 172.20.53.4 any
2. permit ip any any
3. deny ip host 171.3.8.2 any
Console> (enable)
 

次に、ACEをNVRAMにコミットする例を示します。

Console> (enable) commit security acl all
ACL commit in progress.
ACL IPACL1 is committed to hardware.
Console> (enable)

) commit security acl allコマンドの詳細については、「ACLのコミット」を参照してください。


変更がコミットされたかどうかを確認するには、 show security acl info IPACL1 コマンドを入力します。このVACLがVLANにマッピングされていない場合には、 set security acl map コマンドを使用してVLANにマッピングします。

次に、IPACL2に1つのACEを作成して送信元アドレス172.20.3.2からのトラフィックをブロックし、このACEをVACLのACE番号2の前に挿入する例を示します。任意で、 modify キーワードを入力して、既存のACEを新しいACEに置き換えることができます。NVRAMに保存されている現在のACEリストを表示するには、 show security acl info acl_name [ editbuffer ] コマンドを使用します(編集バッファの内容を表示する場合、 editbuffer キーワードを指定します)。

Console> (enable) set security acl ip IPACL2 deny host 172.20.3.2 before 2
IPACL2 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、IPACL2に1つのACEを作成して、送信元アドレスが1.2.3.4で宛先アドレスが255.255.255.255からのIPトラフィックを、ポート3/1にリダイレクトする例を示します。送信元および送信元ワイルドカード0.0.0.0の省略形としてhostを使用できます。また、このACEは、次の内容も指定しています。

precedence ― IP precedence値です。優先度は、0(ゼロ)が最も低く、7が最も高くなります。

tos ― Type of Service(ToS;サービス タイプ)のレベルで、0~15を指定します。


) ToS値はIP ToSバイトのビット3~6です(RFC 1349により定義)。precedence値はビット0~2です(RFC 791により定義)。


Console> (enable) set security acl ip IPACL2 redirect 3/1 ip 1.2.3.4 0.0.0.255 host 255.255.255.255 precedence 1 tos min-delay
IPACL2 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、編集バッファの内容を表示する例を示します。

Console> (enable) show security acl info IPACL2 editbuffer
set security acl ip IPACL2
-----------------------------------------------------------------
1. deny 172.20.3.2
2. redirect 1.2.3.4
Console> (enable)

) show security acl infoコマンドの詳細については、「VACLの内容の表示」を参照してください。


次に、ACEをNVRAMにコミットする例を示します。

Console> (enable) commit security acl all
ACL commit in progress.
ACL IPACL2 is committed to hardware.
Console> (enable)
 

) commit security acl allコマンドの詳細については、「ACLのコミット」を参照してください。


変更がコミットされたかどうかを確認するには、 show security acl info IPACL2 コマンドを入力します。このVACLがVLANにマッピングされていない場合には、 set security acl map コマンドを使用してVLANにマッピングします。

IPX VACLの作成およびACEの追加


) Supervisor Engine 720(PFC3A/PFC3B/PFC3BXL)およびSupervisor Engine 32(PFC3B/PFC3BXL)では、IPXルーティングはソフトウェアにより行われ、IPX Cisco IOS ACLおよびIPX VACLはサポートされません。MAC VACLを使用してIPXパケットを一致させることができます。IPX ARPAフレームを一致させるため、ipx-arpaキーワードを入力できます。IPX非ARPAフレームおよびEthertype 0xffffのフレームで一致させるには、0xffff Ethertypeを使用します。MAC VACLの設定については、「non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加」を参照してください。


新しいIPX VACLを作成してACEを追加したり、既存のIPX VACLにACEを追加するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

新しいIPX VACLを作成してACEを追加するか、既存のIPX VACLにACEを追加します。

set security acl ipx { acl_name } { permit | deny | redirect mod_num/port_num } { protocol } { src_net } [ dest_net. [ dest_node ] [[ dest_net_mask. ] dest_node_mask ]] [ capture ] [ before editbuffer_index modify editbuffer_index ]

次に、IPXACL1に1つのACEを作成して、送信元ネットワーク1234からのすべてのトラフィックをブロックする例を示します。

Console> (enable) set security acl ipx IPXACL1 deny any 1234
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、IPXACL1に1つのACEを作成して、宛先アドレスが1.A.3.4のすべてのトラフィックをブロックする例を示します。

Console> (enable) set security acl ipx IPXACL1 deny any any 1.A.3.4
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、IPXACL1に1つのACEを作成して、送信元ネットワーク3456からのブロードキャスト トラフィックをポート4/1にリダイレクトする例を示します。

Console> (enable) set security acl ipx IPXACL1 redirect 4/1 any 3456
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、編集バッファの内容を表示する例を示します。

Console> (enable) show security acl info IPXACL1 editbuffer
set security acl ipx IPXACL1
-----------------------------------------------------------------
1. deny any 1234
2. deny any any 1.A.3.4
3. redirect 4/1 any 3456
Console> (enable)
 

) show security acl infoコマンドの詳細については、「VACLの内容の表示」を参照してください。


次に、ACEをNVRAMにコミットする例を示します。

Console> (enable) commit security acl all
ACL commit in progress.
ACL IPXACL1 is committed to hardware.
Console> (enable)
 

変更がコミットされたかどうかを確認するには、 show security acl info IPXACL1 コマンドを入力します。このVACLがVLANにマッピングされていない場合には、 set security acl map コマンドを使用してVLANにマッピングします。

 

次に、IPXACL1に1つのACEを作成して送信元ネットワーク1からのすべてのトラフィックを許可し、このACEをACE番号2の前に挿入する例を示します。

Console> (enable) set security acl ipx IPXACL1 permit any 1 before 2
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、IPXACL1に1つのACEを作成して、すべての送信元アドレスからのトラフィックを許可する例を示します。

Console> (enable) set security acl ipx IPXACL1 permit any any
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、編集バッファの内容を表示する例を示します。

Console> (enable) show security acl info IPXACL1 editbuffer
set security acl ipx IPXACL1
-----------------------------------------------------------------
1. deny any 1234
2. permit any 1
3. deny any any 1.A.3.4
4. redirect 4/1 any 3456
5. permit any any
ACL IPXACL1 Status: Not Committed
Console> (enable)
 

次に、ACEをNVRAMにコミットする例を示します。

Console> (enable) commit security acl all
ACL commit in progress.
ACL IPXACL1 is committed to hardware.
Console> (enable)
 

) commit security acl allコマンドの詳細については、「ACLのコミット」を参照してください。


変更がコミットされたかどうかを確認するには、 show security acl info IPXACL1 コマンドを入力します。このVACLがVLANにマッピングされていない場合には、 set security acl map コマンドを使用してVLANにマッピングします。

non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加


注意 IPトラフィックおよびIPXトラフィックは、MAC VACLではアクセス制御されません。その他のトラフィック タイプ(AppleTalk、DECnetなど)はすべてMACトラフィックとして分類され、MAC VACLによってアクセス制御されます。

新しいnon-IP version 4/non-IPX VACLを作成してACEを追加したり、既存のnon-IP version 4/non-IPX VACLにACEを追加したりするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

新しいnon-IP version 4/non-IPX VACLを作成してACEを追加するか、既存のnon-IP version 4/non-IPX VACLにACEを追加します。

set security acl mac { acl_name } { permit | deny } { src_mac_addr_spec } { dest_mac_addr_spec } [ ethertype ] [ capture ] [ before editbuffer_index | modify editbuffer_index ]

次に、MACACL1に1つのACEを作成して、8-2-3-4-7-Aからのすべてのトラフィックをブロックする例を示します。

Console> (enable) set security acl mac MACACL1 deny host 8-2-3-4-7-A any
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、MACACL1に1つのACEを作成して、A-B-C-D-1-2を宛先とするすべてのトラフィックをブロックする例を示します。

Console> (enable) set security acl mac MACACL1 deny any host A-B-C-D-1-2
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、MACACL1に1つのACEを作成して、すべての送信元からのトラフィックを許可する例を示します。

Console> (enable) set security acl mac MACACL1 permit any any
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、編集バッファの内容を表示する例を示します。

Console> (enable) show security acl info MACACL1 editbuffer
set security acl mac MACACL1
-----------------------------------------------------------------
1. deny 8-2-3-4-7-A any
2. deny any A-B-C-D-1-2
3. permit any any
Console> (enable)
 

) show security acl infoコマンドの詳細については、「VACLの内容の表示」を参照してください。


次に、ACEをNVRAMにコミットする例を示します。

Console> (enable) commit security acl all
ACL commit in progress.
ACL MACACL1 is committed to hardware.
Console> (enable)
 

) commit security acl allコマンドの詳細については、「ACLのコミット」を参照してください。


変更がコミットされたかどうかを確認するには、 show security acl info MACACL1 コマンドを入力します。このVACLがVLANにマッピングされていない場合には、 set security acl map コマンドを使用してVLANにマッピングします。

ACLのコミット

すべてのACLまたは指定したACLをNVRAMにコミットするには、 commit コマンドを使用します。ACEが設定されていないACLは、コミットしても削除されます。

ACLをNVRAMにコミットするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ACLをNVRAMにコミットします。

commit security acl acl_name | all

次に、セキュリティACLを指定して、NVRAMにコミットする例を示します。

Console> (enable) commit security acl IPACL2
ACL commit in progress.
ACL IPACL2 is committed to hardware.
Console> (enable)
 

VACLのVLANへのマッピング

VACLをVLANにマッピングするには、 set security acl map コマンドを使用します。デフォルトのACL/VLANマッピングは設定されていないことに注意してください。すべてのVACLをVLANにマッピングする必要があります。

VACLをVLANにマッピングするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VACLをVLANにマッピングします。

set security acl map acl_name vlans

次に、IPACL1をVLAN 10にマッピングする例を示します。

Console> (enable) set security acl map IPACL1 10
ACL IPACL1 mapped to vlan 10
Console> (enable)
 

次に、コミットしていないACLをマッピングしようとした場合の出力例を示します。

Console> (enable) set security acl map IPACL1 10
Commit ACL IPACL1 before mapping.
Console> (enable)

VACLの内容の表示

VACLの内容を表示するには、 show security acl info コマンドを使用します。

VACLの内容を表示するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VACLの内容を表示します。

show security acl info { acl_name | all } [ editbuffer [ editbuffer _ index ]]

次に、NVRAMに保存したVACLの内容を表示する例を示します。

Console> (enable) show security acl info IPACL1
set security acl ip IPACL1
------------------------------------------------------------------
1. deny A
2. deny ip B any
3. deny c
4. permit any
 

次に、編集バッファ内にあるVACLの内容を表示する例を示します。

Console> (enable) show security acl info IPACL1 editbuffer
set security acl ip IPACL1
-----------------------------------------------------------------
1. deny A
2. deny ip B any
3. deny C
4. deny D
5. permit any
Console> (enable)

VACL/VLANのマッピングの表示

show security acl map コマンドを使用して、特定のACLまたはVLANのVACL/VLANマッピングを表示することができます。

VACL/VLANマッピングを表示するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VACL/VLANのマッピングを表示します。

show security acl map { acl_name | vlan | all }

次に、特定のVACLのマッピングを表示する例を示します。

Console> (enable) show security acl map IPACL1
ACL IPACL1 is mapped to VLANs:
1
Console> (enable)

次に、特定のVLANのマッピングを表示する例を示します。

Console> (enable) show security acl map 1
VLAN 1 is mapped to IP ACL IPACL1.
VLAN 1 is mapped to IPX ACL IPXACL1.
VLAN 1 is mapped to MAC ACL MACACL1.
Console> (enable)

編集バッファの消去

rollback コマンドを使用して、最後に保存したあとに行ったACL編集バッファの変更を消去することができます。ACLは、最後の commit コマンド実行時の内容に戻ります。

ACL編集バッファの内容を消去するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ACL編集バッファの内容を消去します。

rollback security acl { acl_name | all | adjacency }

次に、特定のセキュリティACLについて、編集バッファの内容を消去する例を示します。

Console> (enable) rollback security acl IPACL1
Editbuffer for ‘IPACL1’ rolled back to last commit state.
Console> (enable)

セキュリティACLからのACEの削除

ACLから特定のACEまたはすべてのACEを削除するには、 clear security acl コマンドを使用します。このコマンドは、編集バッファからACEを削除します。

セキュリティACLからACEを削除するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

セキュリティACLからACEを削除します。

clear security acl all
clear security acl acl_name
clear security acl acl_name editbuffer_index

次に、すべてのACLからACEを削除する例を示します。

Console> (enable) clear security acl all
All editbuffers modified. Use ‘commit’ command to apply changes.
Console> (enable)
 

次に、特定のACLから特定のACEを削除する例を示します。

Console> (enable) clear security acl IPACL1 2
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)

セキュリティACLマップの消去

VACL/VLANマッピングを削除するには、 clear security acl map コマンドを使用します。

セキュリティACLマップを消去するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

セキュリティACLマップを消去します。

clear security acl map all
clear security acl map acl_name
clear security acl map vlan
clear security acl map acl_name vlan

次に、すべてのVACL/VLANマッピングを消去する例を示します。

Console> (enable) clear security acl map all
Map deletion in progress.
 
Successfully cleared mapping between ACL ip1 and VLAN 10.
 
Successfully cleared mapping between ACL ipx1 and VLAN 10.
 
(テキスト出力は省略)
Console> (enable)
 

次に、特定のVLAN上の特定のVACLのマッピングを消去する例を示します。

Console> (enable) clear security acl map IPACL1 50
Map deletion in progress.
 
Successfully cleared mapping between ACL ipacl1 and VLAN 50.
Console> (enable)
 

VACL管理情報の表示

VACL管理情報を表示するには、 show security acl resource-usage コマンドを使用します。

VACL管理情報を表示するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VACL管理情報を表示します。

show security acl resource-usage

次に、VACL管理情報を表示する例を示します。

Console> (enable) show security acl resource-usage
ACL resource usage:
ACL storage (mask/value): 0.29%/0.10%
ACL to switch interface mapping table: 0.39%
ACL layer 4 port operators: 0.0%
Console (enable)

特定ポート上でのトラフィック フローのキャプチャ

set security acl ip ipx 、および mac )コマンドの capture キーワードを入力して、指定したフローと一致するパケットをキャプチャして、キャプチャ ポートから送出することができます。キャプチャ ポートは、 set security acl capture-ports mod/ports... コマンドを使用して指定します。 capture キーワードを使用すると、指定したフローと一致するパケットが、通常どおりスイッチングされるほか、キャプチャされ、キャプチャ ポートから送出されます。キャプチャ ポートはキャプチャしたすべてのトラフィックを送出するわけではありません。キャプチャ ポートのVLANに属するトラフィックだけを送出します。

設定時の注意事項

ここでは、キャプチャ ポート設定時の注意事項について説明します。

キャプチャ ポートは、EtherChannelの一部にすることはできません。

キャプチャ ポートは、ATM(非同期転送モード)ポートとして使用することはできません。

キャプチャ ポートは、VLANのスパニングツリー フォワーディング ステートに設定する必要があります。

任意の数のスイッチ ポートをキャプチャ ポートとして指定することができます。キャプチャ ポートは、キャプチャ ポート リストに追加され、その設定がNVRAMに保存されます。

許可トラフィックだけがキャプチャされます。ACLにより廃棄されたパケットはキャプチャできません。

キャプチャ ポートは、キャプチャしたすべてのトラフィックを送出するわけではありません。キャプチャ ポートのVLANに属するトラフィックだけが送出されます。多数のVLANに宛てられたトラフィックをキャプチャするには、キャプチャ ポートを、必要なVLANをサポートするトランクとして設定する必要があります。

ルーテッド トラフィックの場合、キャプチャ ポートがパケットを送信するのは、レイヤ3でスイッチングされたあとだけです。したがって、レイヤ3でスイッチングされたフローの出力VLANがキャプチャ ポートのVLANと一致する場合に限り、パケットがポートから送出されます。たとえば、VLAN 10からVLAN 20へのフローがある場合、(VLANの1つに)これらのフローを許可するVACLを追加し、キャプチャ ポートを指定したと想定します。この場合、トラフィックがキャプチャ ポートから送出されるのは、トラフィックがVLAN 20に属しているか、またはポートがVLAN 20をサポートするトランクの場合だけです。キャプチャ ポートがVLAN 10に存在する場合は、トラフィックは送出されません。キャプチャ ポートがトラフィックを送出するかどうかは、VACLが設定されているVLANとは無関係です。

1つのVLANから多数のVLANに宛てられるトラフィックをキャプチャしたい場合には、キャプチャ ポートを、すべての出力VLANをサポートするトランクとして設定する必要があります。

ブリッジド トラフィックの場合、すべてのトラフィックは同じVLAN内にとどまるため、キャプチャ ポートはブリッジド トラフィックと同じVLAN内に存在します。

トラフィックをキャプチャするには、1つのACLを設定してVLANグループにマッピングするか、複数のACLを設定して各ACLを1つのVLANにマッピングします。必要なトラフィックをキャプチャするには、1つのACLごとに必要なだけACEを設定します。

トラフィック フローをキャプチャする手順は、次のとおりです。


) この説明ではIP VACLを使用していますが、同じ手順でIPXおよびnon-IP version 4/non-IPX VACLを設定することもできます。



ステップ 1 set security acl ip コマンドを入力してVACLを作成し、ACEを追加します。 capture キーワードを指定します。

ステップ 2 commit コマンドを入力して、VACLおよび関連付けられたACEをNVRAMにコミットします。

ステップ 3 set security acl map コマンドを入力して、VACLをVLANにマッピングします。

ステップ 4 set security acl capture-ports mod/ports... コマンドを入力して、キャプチャ ポートを指定します。


 

設定例

次に、my_capに1つのACEを作成し、許可トラフィックをキャプチャするように指定する例を示します。

Console> (enable) set security acl ip my_cap permit ip host 60.1.1.1 host 60.1.1.98 capture
my_cap editbuffer modified. Use ’commit’ command to apply changes.
Console> (enable)
 

次に、my_cap ACLをNVRAMにコミットする例を示します。

Console> (enable) commit security acl my_cap
ACL commit in progress.
 
ACL my_cap successfully committed.
Console> (enable)
 

次に、my_capをVLAN 10にマッピングする例を示します。

Console> (enable) set security acl map my_cap 10
Mapping in progress.
 
VLAN 10 successfully mapped to ACL my_cap.
The old mapping with ACL captest was replaced with the new one.
Console> (enable)
 

次に、キャプチャ ポートを指定する例を示します。

Console> (enable) set security acl capture-ports 1/1-2,2/1-2
Successfully set the following ports to capture ACL traffic:
1/1-2,2/1-2
Console> (enable)
 

次に、キャプチャ ポートとして指定したポートを表示する例を示します。

Console> (enable) show security acl capture-ports
ACL Capture Ports: 1/1-2,2/1-2
Console> (enable)
 

次に、キャプチャ ポートを削除する例を示します。

Console> (enable) clear security acl capture-ports 1/1,2/1
Successfully cleared the following ports:
1/1,2/1
Console> (enable)
 

次に、ポート1/1および2/1が削除された例を示します。

Console> (enable) show security acl capture-ports
ACL Capture Ports:1/2,2/2
Console> (enable)
 

VACLロギングの設定


) この機能を使用できるのは、PFC2搭載のSupervisor Engine 2、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720、およびPFC3B/PFC3BXL搭載のSupervisor Engine 32のみです。


拒否VACLに対して log キーワードを使用すると、標準IPアクセス リストについて、拒否されたパケットのメッセージを記録できます。アクセス リストに一致するパケットによって、コンソールに送信されるパケットに関する情報ロギング メッセージが生成されます。コンソールに記録されるメッセージのレベルは、 set logging level acl severity コマンドによって制御されます。

最初のパケットはアクセス リストをトリガし、それによってただちにロギング メッセージが生成されます。それ以降のパケットは、5分間隔で収集されてから、表示または記録されます。ロギング メッセージには、過去5分間に受信したパケットのフロー パターンと数が含まれています。

デフォルトでは、システム ロギング メッセージがコンソールに送信されます。Syslogサーバにシステム ロギング メッセージを送信するように、スイッチを設定することができます。システム メッセージ ロギング設定の詳細については、 第27章「システム メッセージ ロギングの設定」 を参照してください。

設定時の注意事項

ここでは、VACLロギング設定時の注意事項について説明します。

IP VACLからの拒否トラフィックのみを記録します。

ロギング レベルは6(情報)または7(デバッグ)に設定します。

VACLのロギングをイネーブルにする手順は、次のとおりです。


ステップ 1 set logging level acl severity コマンドを入力して、ロギング レベルを6(情報)または7(デバッグ)に設定します。

ステップ 2 (任意) set security acl log maxflow max_number コマンドを入力して、最大フロー パターン数に基づいて新しいログ テーブルを割り当て、記録されたパケット情報を保存します。正常に実行されると、新しいバッファが古いものと置き換えられ、古いテーブルのフローがすべて消去されます。メモリが不足しているか、最大数が限度を超えている場合は、エラー メッセージが表示され、コマンドは廃棄されます。有効な値は、256~2048で、デフォルト値は500です。


) 最大フロー パターンがmax_numの限度を超えている場合は、エラー メッセージが表示され、コマンドは廃棄されます。このようなパケットのメッセージは記録されません。


ステップ 3 (任意) set security acl log ratelimit pps コマンドを入力して、pps(パケット/秒)単位でリダイレクト レートを設定します。設定が範囲を超える場合は、コマンドは廃棄され、範囲がコンソールに表示されます。有効な値は500~5000で、デフォルト値は2500です。レート制限をディセーブルにするには、値を0に設定します。


) リダイレクト レートがppsの範囲を超える場合は、コマンドは廃棄され、範囲がコンソールに表示されます。このようなパケットのメッセージは記録されません。


ステップ 4 set security acl ip acl_name deny log コマンドを入力してIP VACLを作成し、ロギングをイネーブルにします。

ステップ 5 commit security acl acl_name コマンドを入力して、VACLをNVRAMにコミットします。

ステップ 6 set security acl map acl_name vlan コマンドを入力して、VACLをVLANにマッピングします。


 

設定例

次に、ロギング レベルを設定する例を示します。

Console> (enable) set logging level acl 6
System logging facility <acl> for this session set to severity 6(information)
 

次に、最大フローに基づく新しいログ テーブルを割り当てる例を示します。

Console> (enable) set security acl log maxflow 512
Set VACL Log table to 512 flow patterns.
 

次に、リダイレクト レートを設定する例を示します。

Console> (enable) set security acl log ratelimit 1000
Max logging eligible packet rate set to 1000pps.
 

次に、VACLログの設定を表示する例を示します。

Console> (enable) show security acl log config
VACL LOG Configration
-------------------------------------------------------------
Max Flow Pattern : 512
Max Logging Eligible rate (pps) : 1000
 

次に、my_capにACEを1つ作成し、拒否されたトラフィックを記録するように指定する例を示します。

Console> (enable) set security acl ip my_cap deny ip host 21.0.0.1 log
my_cap editbuffer modified. Use ’commit’ command to apply changes.
Console> (enable)
 

次に、my_cap ACLをNVRAMにコミットする例を示します。

Console> (enable) commit security acl my_cap
ACL commit in progress.
 
ACL my_cap successfully committed.
Console> (enable)
 

次に、VACLをVLANにマッピングする例を示します。

Console> (enable) set security acl map my_cap 1
Mapping in progress.
ACL my_cap successfully mapped to VLAN 1.
:
:
2000 Jul 19 01:14:06 %ACL-6-VACLLOG:VLAN 1(Port 2/1) denied ip tcp 21.0.0.1(2000) -> 255.255.255.255(3000), 1 packet
2000 Jul 19 01:19:06 %ACL-6-VACLLOG:VLAN 1(Port 2/1) denied ip tcp 21.0.0.1(2000) -> 255.255.255.255(3000), 7 packets
2000 Jul 19 01:25:06 %ACL-6-VACLLOG:VLAN 1(Port 2/2) denied ip tcp 21.0.0.1(2000) -> 255.255.255.255(3000), 1 packets
 

次に、ログ テーブルのフロー情報を表示する例を示します。

Console> (enable) show security acl log flow ip any any
Total matched entry number = 1
Entry No. #1, IP Packet
----------------------------------------
Vlan Number : 1
Mod/Port Number : 2/1
Source IP address : 21.0.0.1
Destination IP address : 255.255.255.255
TCP Source port : 2000
TCP Destination port : 3000
Received Packet Number : 10
 

次に、ログ テーブルを消去する例を示します。

Console> (enable) clear security acl log flow
Log table is cleared.
Console> (enable)

すべてのパケット タイプに関するMACベースACL検索の設定


) この機能を使用できるのは、PFC3BおよびPFC3BXLだけです。


ここでは、すべてのパケット タイプに関するMACベースACL検索の設定手順について説明します。

「MACベースACLの概要」

「すべてのパケット タイプに関するMACベースACL検索の使用」

「MACベースACLへのVLANおよびCoSの追加」

「設定時の注意事項」

「すべてのパケット タイプに関するMACベースACL検索の設定」

MACベースACLの概要

PFC3AはIPとMACの2つのACLプロトコル タイプをサポートします。IP ACLはIPバージョン4パケットとのみ一致し、MAC ACLはPFC3Aで サポートされない すべてのパケット タイプと一致します(詳細については、non-IP version 4/non-IPX VACL(MAC VACL)の作成およびACEの追加を参照)。PFC3Aでサポートされているパケット タイプは、IPバージョン4、MPLS、ARP/RARP、およびIPバージョン6です。ただし、Release 8.4(1)以前のソフトウェア リリースで作成できるのは、IPバージョン4 ACLのみです。サポートされないパケット タイプ(IPXパケット タイプなど)は、MAC ACLを使用して一致させます。


) IPXパケット タイプはPFCおよびPFC2でサポートされています。


すべてのパケット タイプに関するMACベースACL検索の使用

PFC3BおよびPFC3BXLでは、MAC ACLを使用して、すべてのパケット タイプに関するACL検索を実行できます。この機能は、パケットがIPバージョン4、IPバージョン6、IPX、MPLSなどのいずれであるかに関係なく、すべてのパケットに関してMACベース マッチングを実行する場合に便利です。この機能を利用すると、集約ポリサーとmatch-all MAC ACLを組み合わせて、VLANに入るすべてのトラフィックを特定のレートに制限できます。

この機能は 入力VLAN単位 でイネーブルにされ、 セキュリティACL(VACL) およびQoS ACLに影響します。着信VLANでこの機能がイネーブルにされている場合、このVLANに着信するすべてのパケットは、IPバージョン4パケットなどの場合であっても、MACベースACLとマッチングされます。

MAC ACLでは、IPバージョン4 Ethertypeが追加されるようにethertypeオプションが拡張されていて、IPバージョン4パケットを特に対象とするようにACEを設定できます。

MACベースACLへのVLANおよびCoSの追加

PFC3BおよびPFC3BXLでは、ポートVLAN検索をサポートするMAC ACL検索キーの一部として、CoS(サービス クラス)およびVLANを追加できます。この機能は、VLANを個別に処理できるトランク ポートで使用すると便利です。この拡張機能は、VACLおよびQoS MAC ACLに影響します。PFC3BおよびPFC3BXLでは、MAC検索キーのフレーム タイプ フィールドによってVLANフィールドが過負荷になります。CoSおよびVLANフィールドはマスク可能であるため、両方のフィールドをオプション パラメータとして追加し、古いMAC ACL設定をサポートできます。

VLANマッチング

PFC3BおよびPFC3BXLでは、MAC ACLが入力にマッピングされている場合、パケットの入力VLANがMAC ACLとのマッチングに使用されます。同様に、MAC ACLが出力にマッピングされている場合、パケットに関連する出力VLANがMAC ACLとのマッチングに使用されます。


) MAC ACLとVLANマッチングは、ポートにのみ適用できます。


VLANマッチングはMACベースACL検索機能と組み合わせて使用したり、独立して使用したりできます。また、検索はポートVLAN単位で実行できます(VLAN範囲全体がサポートされます)。

CoSマッチング

入力と出力のいずれの場合も、パケットに対応付けられた入力CoSがMAC ACLとのマッチングに使用されます。入力CoSはDBusヘッダー内のCoSであり、ポートの信頼状態
(trust-CoS/DSCP/IPprec/untrusted)、デフォルトCoS、および802.1Q対応ポートのCoS/CoSマッピング テーブルを問い合わせたあとに構築されます


) CoSマッチング動作は、パケット転送方法に応じて、出力ACL(VACLおよびQoS ACL)ごとに異なる場合があります。標準のハードウェア ショートカット パケットでは、出力ACLは入力ACLと同じCoSに関してマッチングを行います。ただし、ルータやマルチキャスト読み取り/書き込みエンジンなどの中間転送エンティティを介してパケットが転送される場合、DBus CoSは通常、入力DBus CoSと異なります。


CoSマッチングはMACベースACL検索機能と組み合わせて使用したり、または独立して使用したりできます。

設定時の注意事項

MACベースACL検索を設定する場合は、次の注意事項に従ってください。

この機能をイネーブルにする必要があるのは、レイヤ2 VLANのみです(この推奨事項はMetroカスタマーに適用されます)。

レイヤ3 VLAN上でこの機能をイネーブルにする場合は、次の点に注意してください。

一部のレイヤ3機能が失われ、次の警告メッセージが表示されます。

Warning:IP RACLs, VACLs & some IP features will be ineffective on these vlans.
 

パケットがハードウェア転送されるか、またはソフトウェア転送されるかに応じて、出力ACL検索に矛盾が生じることがあります。この機能をすべてのVLANでイネーブルにして、矛盾を回避することを推奨します(この推奨事項はEnterpriseカスタマーに適用されます)。

すべてのパケット タイプに関するMACベースACL検索の設定

ここに記載されたコマンドは、VACLおよびQoS MAC ACLの両方に影響します。 set acl mac-packet-classify vlans コマンドを使用すると、送信元VLANに着信したすべてのパケット タイプに関してMAC検索をイネーブルにできます。 clear acl mac-packet-classify [ vlans ]コマンドを使用すると、指定されたVLANの設定をデフォルトに戻します。デフォルト動作では、MAC ACLに一致するのはMACパケットのみです。 clear acl mac-packet-classify [ vlans ]コマンドを使用してVLANを指定しない場合は、すべてのVLANでこの機能がディセーブルになります。 show acl mac-packet-classify コマンドを使用すると、 MACパケット分類機能 がイネーブルになっているVLANリストが表示されます。

MAC ACLおよび拡張EthertypeへのCoS、VLAN、およびパケット タイプの追加

VACLおよびQoS ACL CLIは、CoSおよびVLANに関するマッチングのオプション パラメータを追加するように、拡張されています。これらのコマンドは、次のとおりです。

Usage: set security acl mac {acl_name} {permit | deny}
<src_mac_addr_spec> <dest_mac_addr_spec>
[<ethertype>] [capture]
[cos <cos_value>]
[vlan <vlan>]
[before <editbuffer_index>|modify <editbuffer_index>]
(mac_addr_spec = <addr> <mask> or host <addr> or any
example: 11-22-33-44-00-00 00-00-00-00-ff-ff, host 11-22-33-44-55-66)
ethertype = names or 0x0, 0x05ff - 0xffff,
cos_value = 0..7, vlan = 1..4094,
 
Usage: set qos acl mac {acl_name} {dscp dscp | trust-cos}
[aggregate <aggregate_name>]
<src_mac_addr_spec> <dest_mac_addr_spec> [<ethertype>]
[cos <cos_value>]
[vlan <vlan>]
[before <editbuffer_index>|modify <editbuffer_index>]
(mac_addr_spec = <addr> <mask> or host <addr> or any
example: 11-22-33-44-00-00 00-00-00-00-ff-ff, host 11-22-33-44-55-66)
ethertype = names or 0x0, 0x05ff - 0xffff,
cos_value = 0..7, vlan = 1..4094,
 

CoSおよびVLANフィールドはオプションです。このフィールドを指定しない場合は、すべてと一致します。


) VLANマッチ オプションが指定されたACLは、ポートににのみマッピングできます。



set acl mac-packet-classify vlansコマンドを使用すると、すべてのCisco IOS ACLが操作不能になります。


IPバージョン4オプションを追加するように、Ethertypeが拡張されています。これにより、MAC ACL検索を使用する場合に、IPバージョン4パケットを特に対象とすることができます。IPバージョン4オプションを選択した場合は、 set acl mac-packet-classify vlans コマンドを使用して、対応するVLANがイネーブルにされているか確認する必要があります。次のように、IPバージョン4オプションが追加されました。

Console> (enable) set security acl mac macacl1 permit any any ?
<0x0, 0x0600 - 0xffff> Match an EtherType value
ipv4 (0x8000)
ipx-arpa (0x8137) Use 0xffff to match on non-arpa IPX
.......
Console> (enable)
 

次に、MACベースACL検索CLIの例を示します。

Console> (enable) set acl mac-packet-classify 5
Enabled mac-packet-classify on vlan(s) 5.
Warning:IP RACLs, VACLs & some IP features will be ineffective on these vlans.
Console> (enable) show acl mac-packet-classify
Feature enabled on source vlan(s) 1,5.
Console> (enable) clear acl mac-packet-classify 5
Disabled mac-packet-classify on vlan(s) 5.
Console> (enable)

setおよびclearコマンドにallキーワードを使用すると、すべてのVLANを指定できます。


VACLおよびQoS ACLの設定およびフラッシュ メモリへの保存

ここでは、VACLおよびQoS ACLを設定し、NVRAMではなくフラッシュ メモリに保存する手順について説明します。これまでの作業では、設定情報はすべてNVRAMに保存されます。QoSおよびセキュリティACL(VACL)を追加すると、NVRAMの空き容量がなくなることがあります。NVRAMの空き容量がなくなると、ACL設定が制限されるほか、ソフトウェア バージョンのアップグレード時にも支障があります。


) ほとんどの場合、VACLおよびQoS ACLを保存するには512 KBのNVRAMで十分です。そのため、デフォルトでは、すべてのACL設定がNVRAMに保存されます。


ここで説明する作業は、次のとおりです。

「VACLおよびQoS ACL設定のフラッシュ メモリへの自動的な移動」

「VACLおよびQoS ACL設定のフラッシュ メモリへの手動での移動」

「VACLおよびQoS ACL設定のフラッシュ メモリからの実行」

「VACLおよびQoS ACL設定のNVRAMへの再移動」

「冗長構成の同期化サポート」

「ハイ アベイラビリティの保証」


) ここで使用するコマンドの詳細については、第23章「スイッチの起動設定の変更」を参照してください。


VACLおよびQoS ACL設定のフラッシュ メモリへの自動的な移動

VACLおよびQoS ACL設定がフラッシュ メモリに自動的に移動するのは、システム ソフトウェアのアップグレード時に、アップグレードに必要なNVRAM容量が不足している場合だけです。ソフトウェア アップグレードの実行に必要なNVRAM容量が不足している場合、 NVRAMからQoS ACLおよびVACLの設定が削除され、ACL設定が 自動的にフラッシュ メモリに移されます。この場合、次のSyslogメッセージが表示されます。

1999 Sep 01 17:00:00 %SYS-1-CFG_FLASH:ACL configuration moved to bootflash:switchapp.cfg
1999 Sep 01 17:00:00 %SYS-1-CFG_ACL_DEALLOC:NVRAM full. Qos/Security ACL configuration deleted from NVRAM.
 

これで、VACLおよびQoS ACL設定がフラッシュ メモリに正常に移動したことが確認できます。この間システムは、同時に次の処理も実行します。

CONFIG_FILE変数をbootflash:switchapp.cfgに設定します。

set boot config-register auto-config コマンドの recurring append 、および sync オプションをイネーブルにします。

アップグレード中にエラーが発生すると、次のSyslogメッセージが表示されます。

1999 Sep 01 17:00:00 %SYS-1-CFG_FLASH_ERR:Failed to write ACL configuration to bootflash:switchapp.cfg
1999 Sep 01 17:00:00 %SYS-1-CFG_ACL_DEALLOC:NVRAM full. Qos/Security ACL configuration deleted from NVRAM.
 

これらのエラー メッセージが表示された場合、VACLおよびQoS ACL設定はDRAMだけに保存されています。フラッシュ メモリ内に空き容量を確保して設定をフラッシュ メモリに保存する必要があります(VACLおよびQoS ACL設定のNVRAMへの再移動を参照)。または、不要なVACLおよびQoS ACLを削除して、 set config acl nvram コマンドでACL設定をNVRAMに保存することもできます。

VACLおよびQoS ACL設定のフラッシュ メモリへの手動での移動

VACLおよびQoS ACL設定が、512 KBのNVRAM容量を超える場合には、次の手順で、VACLおよびQoS ACLの設定を手動でフラッシュ メモリに移動することができます。


ステップ 1 起動時のスイッチ設定に使用するVACLおよびQoS ACL auto-configファイルを指定します。

Console> (enable) set boot auto-config bootflash:switchapp.cfg
CONFIG_FILE variable = bootflash:switchapp.cfg
Console> (enable)
 

ステップ 2 スイッチのリセットまたはいったん電源を切ってから再投入する際に、CONFIG_FILE環境変数の値を保持する( recurring キーワード)かまたは消去する( non-recurring キーワード)かを指定します。

Console> (enable) set boot config-register auto-config recurring
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, overwrite, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
 

ステップ 3 auto-configファイルにより、NVRAMの設定を上書きするか、または現在のNVRAMの内容に追加するかを指定します。

Console> (enable) set boot config-register auto-config append
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, append, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
 

ステップ 4 同期化をイネーブルにするか、ディセーブルにするかを指定します。同期化をイネーブルにすると、auto-configファイルにより、スタンバイ スーパバイザ エンジンが自動的に同期化されます。

Console> (enable) set boot config-register auto-config sync enable
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, append, sync enabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
 

ステップ 5 コミットしたVACLおよびQoS ACL設定の変更を、auto-configファイルに保存します。

Console> (enable) copy acl-config bootflash:switchapp.cfg
Upload ACL configuration to bootflash:switchapp.cfg
2843644 bytes available on device bootflash, proceed (y/n) [n]? y
ACL configuration has been copied successfully.
Console> (enable)
 

ステップ 6 NVRAMから、VACLおよびQoS ACLの設定を削除します。

Console> (enable) clear config acl nvram
ACL configuration has been deleted from NVRAM.
Warning: Use the copy commands to save the ACL configuration to a file and
the ’set boot config-register auto-config’ commands to configure the
auto-config feature.
 


 


) auto-configファイルには、VACLおよびQoS ACLのマッピング コマンド(set qos acl mapおよびset security acl map)も保存されます。VACLおよびQoS ACLの設定をフラッシュ メモリに保存するとき、マッピング コマンドを使用している場合には、copyコマンドを使用して設定をフラッシュ メモリに保存する必要があります。


この時点でVACLおよびQoS ACL設定は、NVRAMから削除されています。設定はauto-configファイルのbootflash:switchapp.cfgに保存されており、システムの起動時にNVRAM設定に付加されます。

VACLおよびQoS ACL設定に変更を加え、変更をコミットした場合には、 copy acl-config bootflash:switchapp.cfg コマンドを使用して、設定をauto-configファイルに保存する必要があります。

同期化をイネーブルに設定したので、auto-configファイルの内容はスタンバイ スーパバイザ エンジンに自動的に反映されます。

VACLおよびQoS ACL設定をフラッシュ メモリに書き込めない場合、設定はNVRAMから削除されています。その場合、VACLおよびQoS ACL設定が保存されている場所はDRAMのみになります。システムをリセットすると、VACLおよびQoS ACL設定はデフォルト設定に戻ります。


) 設定をフラッシュ メモリに書き込めない場合には、設定をファイルにコピーし、フラッシュ メモリの空き容量を増やしてから、VACLおよびQoS ACL設定を再びフラッシュ メモリに書き込んでください。


システムの起動時に、VACLおよびQoS ACL設定の保存場所がフラッシュ メモリに設定されている場合、CONFIG_FILE 変数が設定されていないか、指定したファイルが存在しないと、次のSyslogメッセージが表示されます。

1999 Sep 01 17:00:00 %SYS-0-CFG_FLASH_ERR:ACL configuration set to flash but no ACL configuration file found.

VACLおよびQoS ACL設定のフラッシュ メモリからの実行

VACLおよびQoS ACL設定をフラッシュ メモリに移動したあとは、QoS ACLおよびVACLのコミット動作はNVRAMに書き込まれません。次のように、設定を手動でフラッシュ ファイルにコピーする必要があります。

set boot config-register auto-config append オプション を使用すると、auto-configファイルの設定がNVRAM設定に追加されます。コミットしたあと、VACLおよびQoS ACLの設定をこのファイルにコピーするだけで済みます。

set boot config-register auto-config append オプションを使用しないと、システムの起動時に、NVRAMの設定が消去されてから、auto-configファイルが実行されます。この場合、NVRAMに保存した変更は失われます。保存する場合には、(VACLおよびQoS ACL設定だけでなく)設定全体をauto-configファイルにコピーしておく必要があります。

VACLおよびQoS ACL設定のNVRAMへの再移動

次に、VACLおよびQoS ACLの設定をNVRAMに戻す例を示します。

Console> (enable) set config acl nvram
ACL configuration copied to NVRAM.
Console> (enable)
 
Console> (enable) clear boot auto-config
CONFIG_FILE variable =
Console> (enable)

冗長構成の同期化サポート

set boot コマンドには、auto-configファイルを自動的に同期化するオプションがあります。

auto-config オプションをイネーブルにして、VACLとQoS ACLの設定がフラッシュ メモリにある場合、アクティブ スーパバイザ エンジン上のauto-configファイルの変更は常に、スタンバイ スーパバイザ エンジンに同期化されます。たとえば、アクティブ スーパバイザ エンジン上のauto-configファイルを削除すると、スタンバイ スーパバイザ エンジン上でもそのファイルが削除されます。同様に、新しいスタンバイ スーパバイザ エンジンを搭載すると、アクティブ スーパバイザ エンジンにより、auto-configファイルが自動的に同期化されます。

ハイ アベイラビリティの保証

スーパバイザ エンジンがスイッチオーバーしても、スタンバイ スーパバイザ エンジンのVACLおよびQoS ACL設定は、アクティブ スーパバイザ エンジンの内容、すなわちNVRAMに保存されているVACLおよびQoS ACL設定とまったく同じです。唯一の違いは、スタンバイ スーパバイザ エンジンではデータはDRAMに保存されますが、スイッチオーバーの機能的な動作の変更がないことです。

ポート単位のACLの設定


) この機能を使用できるのは、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720およびPFC3B/PFC3BXL搭載のSupervisor Engine 32のみです。


ここでは、Port ACL(PACL;ポートACL)について説明します。

「PACL設定の概要」

「PACL設定時の注意事項」

「CLIでのPACLの設定」

「PACLの設定例」

PACL設定の概要

Release 8.3(1)より前のソフトウェア リリースでは、VACLおよびCisco IOS ACLという2種類のアクセス リストのみがありました。VACLはレイヤ2およびレイヤ3転送トラフィックに適用されましたが、Cisco IOS ACLはレイヤ3転送パケットにのみ適用されました。いずれのタイプのアクセス リストもVLANに適用され、パケット ヘッダー情報に基づいてトラフィックをフィルタリングしていました。

Release 8.3(1)のソフトウェア リリースには、PACLという追加のアクセス リスト タイプがあります。PACLは、物理ポートにマッピングされるアクセス リストです(通常、VLANは複数の物理ポートで構成されます)。PACLでは、さらに粒度を上げて特定の物理ポート上のトラフィックをフィルタリングします。VACLと同様に、PACLはレイヤ2およびレイヤ3転送パケットに適用されます。

図16-9に、アクセス リストのタイプ間の論理関係を示します。PACLは、まず物理ポートの着信パケットに適用されます。パケットがPACLによって許可されると、関連する入力VLANに適用されているVACLによってフィルタリングされます。パケットがレイヤ3で転送されてVACLによって許可される場合、同じVLANのCisco IOS ACLでフィルタリングされます。出力方向については、同じ処理が逆方向で行われます。ただし、現在出力PACLについてはハードウェアのサポートがありません。

図16-9 アクセス リストのタイプ間の論理関係

 

PACLには、ポート単位で設定可能な3種類の操作モードがあります。

ポートベース ― PACLが既存のVACLおよびCisco IOS ACLを上書きします。このモードでは、Context-Based Access Control(CBAC;コンテキスト ベースのアクセス制御)およびNATなどの機能は、物理ポートで機能しません。

VLANベース ― VACLおよびCisco IOS ACLがPACLを上書きします。

マージ ― このモードでは、入力PACL、VACL、およびCisco IOS ACLが、図16-9に示す論理シリアル モデルでマージされます。

ACLがポートにマッピングされていない場合、ポートは内部でVLANベース モードに戻ります。

ポートがマージ モードである場合を除き、PACLをトランキング ポートに設定できます。トランキング ポートが独自のACLを持つ複数のVLANを設定できるために、このような制限があります。VLAN x用のVACLを、VLAN yがタグ付けされたパケットに適用する方法は誤りです。PFC3Aはポート/VLANペアに基づいて検索できないため、マージ モードでPACLをポートにマッピングできません。


) PACLを作成するためのCLI構文は、VACLのものと同じです。ポートにマッピングされたACLのインスタンスをPACLといいます。VLANにマッピングされたACLのインスタンスをVACLといいます。同じACLをポートとVLANの両方にマッピングできます。VACLと同様に、PACLはすべてのプロトコル タイプでサポートされます。


PACLのVACLおよびCisco IOS ACLとの相互作用

ここでは、PACLのVACLおよびCisco IOS ACLとの相互作用における注意事項について説明します。

ポートがポートベース モードに設定されている場合に、PACLはVACLおよびCisco IOS ACLの両方を上書きします。この規則の例外の1つとして、パケットがMSFCによってソフトウェアで転送される場合があります。パケットは、PACLモードに関係なく適用された入力Cisco IOS ACLを取得します。パケットがソフトウェアで転送される例として、次の2つがあります。

(ロギングやNATなどの機能により)出力ブリッジングされたパケット

IPオプションが設定されているパケット

MSFCは、検出されたパケットに入力および出力Cisco IOS ACLを再適用します。レイヤ3ハードウェアおよびソフトウェア転送パケットに対するPACL上書きモードは、Cisco IOS ACLとは異なります。

PACLがキャプチャを許可するように設定されていてVACLが同じパケットを拒否するように設定されている場合、マージ結果は設定誤りとなります。このような場合、PACLが[merge disabled]状態になります。

EtherChannelおよびPACLの相互作用

ここでは、EtherChannelおよびPACLの相互作用における注意事項について説明します。

異なるPACL設定を持つポートは、ポート チャネルを形成できません。ポート チャネルを形成するには、ポートには同じPACLモード(ポートベース、VLANベース、またはマージ)および同じACL名がなければなりません。

EtherChannelのポートをポートベースACLからVLANベースACLに変更した場合、そのチャネル内のすべてのポートがVLANベースACLモードに変更されます。

あるポートの設定変更は、チャネル内のすべてのポートに影響します。あるチャネルに属するポートにACLをマッピングすると、チャネルに関連付けられた論理ポートを含むチャネル内のすべてのポートにもマッピングされます。すべての物理ポートへのマッピングは、ポート チャネルが破壊されたあとでもハードウェアおよびNVRAM内に残ります。論理ポートへのマッピングのみが削除されます。

新しいPACLがEtherChannel内のあるポートに適用された場合、チャネル内のすべてのポートが新しいACLマップを使用するように設定されます。

ダイナミックACL(マージ モードにのみ適用)

ダイナミックACLはVLANベースで、CBACおよびIGMPの2つの機能によって使用されます。マージ モードは、ダイナミックACLとPACLとのマージを サポートしません 。マージ モードでは、次のような設定はできません。

対応するVLANにダイナミックACLがマッピングされているポートにPACLを適用しようとすること。

構成ポートの1つにPACLがインストールされているVLANにダイナミックACLを適用しようとすること。ダイナミックACLは正常にマッピングされますが、矛盾のあるポートが[merge disable]モードになります。ダイナミックACLが削除されたあとにポートが再びアクティブになります。

トランキング モード(マージ モードにのみ適用)

マージ モードのPACLは、トランキング ポートと互換性がありません。ポートをマージ モードに設定するには、ポートのトランキング モードをoffに設定する必要があります。逆に言うと、マージ モードのポートはトランキング モードに変更できません。

補助VLAN(マージ モードにのみ適用)

補助VLANがイネーブルのポートにマージ モードを設定できません。逆に言うと、補助VLANがイネーブルのポートをマージ モードに変更できません。

プライベートVLAN(マージ モードにのみ適用)

VACLをプライマリまたはセカンダリ プライベートVLANにマッピングできます。対照的に、Cisco IOS ACLはプライマリVLANにしかマッピングできません。プライマリVLANにマッピングされる入力Cisco IOS ACLは、すべての対応するセカンダリVLANにマッピングされ、プライマリVLANにはマッピングされません。プライマリVLANにマッピングされる出力Cisco IOS ACLは、プライマリVLANにマッピングされます。

プライベートVLANの入力ルックアップは、セカンダリVLANでのみ実行されます。マージ モードでは、PACLはセカンダリVLANに適用されている入力VACLおよびCisco IOS ACLとマージされます。

ポートVLANアソシエーション変更(マージ モードにのみ適用)

ポートVLANアソシエーション変更は、すべての場合に適用されます。ただし、ポートがマージ モードに設定されている場合、ポートVLANアソシエーションでの変更によりマージ障害が発生する場合があります。そのような場合、ポートは[merge disable]モードになります。

PACLのマッピングを解除したあとに再度マッピングするか、Cisco IOS ACLが自動的に再マージをトリガします。次に、ポート3/1がVLAN 1に関連付けられたあとにVLAN 2に関連付けられる例を示します。

Console> (enable) set port security-acl 3/1 merge
ACL interface is set to merge mode for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
ACL ipacl1 is successfully mapped to port(s) 3/1.
 
Console> (enable) set security acl map ipacl2 1
ACL ipacl2 is successfully mapped to VLAN 1.
 
Console> (enable) set security acl map ipacl3 2
ACL ipacl3 is successfully mapped to VLAN 2.
 
Console> (enable) set vlan 2 3/1
2003 Sep 05 22:34:50 %ACL-3-PACLMERGEFAILED:Failed to merge Security ACLs on Port(s) 3/1 with Vlan 2.
VLAN 2 modified.
VLAN 1 modified.
VLAN Mod/Ports
---- -----------------------
2 3/1
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN=2) disabled
 
 
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable) show security acl map runtime 1
Vlan ACL name Type
---- -------------------------------- ----
1 ipacl2 IP
 
Console> (enable) show security acl map runtime 2
Vlan ACL name Type
---- -------------------------------- ----
2 ipacl3 IP
Console> (enable)
 

OIRの概要

モジュールを取り外したりリセットしたりする場合、モジュールに添付されているPACLも(ハードウェアにプログラミングされている)実行コンフィギュレーションおよび(NVRAMに保存されている)NVRAMコンフィギュレーションから削除されます。コンフィギュレーションはNVRAMに保存されますが、表示されません。モジュールを挿入したりオンラインにした場合、コンフィギュレーションはNVRAM(またはテキスト コンフィギュレーション ファイル)から再び読み込まれて実行コンフィギュレーションに再マッピングされます。

ポートのイネーブルまたはディセーブルは、ポートがマージ モードである場合を除いて、ACLマッピングまたはセキュリティACLモードに影響しません。マージ モードでは、VLANでディセーブルになったりVLANから消去されたポートは、ポートに関連したVLANが使用できなくなりポートでパケットの転送や他のVLANとのマージができなくなるため、[merge disable]ステートになります。

CLIでのPACLの設定

ここでは、Catalyst 6500シリーズ スイッチ上でPACLを作成し、アクティブにする手順について説明します。

「PACLモードの指定」

「PACL情報の表示」

「ポートまたはVLANへのACLのマッピング」

「ACLマッピング情報の表示」

「EtherChannelのACL情報の表示」

PACLモードの指定

デフォルトのPACLモードはVLANベースであり、既存のVACL設定はアクティブのままです。

PACLモードを指定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PACLモードを指定します。

set port security-acl mod/ports.. [ port-based | vlan-based | merge ]

次に、ポート3/1にPACLを指定する例を示します。

Console> (enable) set port security-acl 3/1 port-based
Warning: Vlan-based ACL features will be disabled on port(s) 3/1.
ACL interface is set to port-based mode for port(s) 3/1.
 
Console> (enable) set port security-acl 3/1 merge
ACL interface is set to merge mode for port(s) 3/1.
 
Console> (enable) set port security-acl 3/1 vlan-based
ACL interface is set to vlan-based mode for port(s) 3/1.
Console> (enable)
 

次に、トランク ポート(ポート3/1)をマージ モードにしようとした場合の応答の例を示します。

Console> (enable) set port security-acl 3/1-4 merge
ACL interface cannot be in merge mode on multi-vlan access port 3/1.
ACL interface is set to merge mode for port(s) 3/2.
ACL interface is set to merge mode for port(s) 3/3.
ACL interface is set to merge mode for port(s) 3/4.

PACL情報の表示

show port security-acl mod/port コマンドは、指定したポートのPACL情報を表示します。Configフィールドでは、NVRAMに保存されているものが表示されます。Runtimeフィールドでは、実際にハードウェアにプログラミングされたものが表示されます。また、次のようなマージ操作のステータスも表示されます。

active ― ポートに設定されたPACLがあり、VLANと正常にマージされています。

inactive ― ポートに設定されているPACLはありません。

disabled ― ポートにPACLが設定されていますが、(いくつかの理由で)マージに失敗しました。

show port security-acl コマンドも、ポートがマージするように設定されているVLANを表示します。

PACL情報を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PACL情報を表示します。

show port security-acl mod/port

次に、ポート3/1のPACL情報を表示する例を示します。

Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 port-based port-based not applicable
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable)

ポートまたはVLANへのACLのマッピング

ポートがVLANベース モードの場合でもACLをポートにマッピングできます。このような場合、コンフィギュレーションはNVRAMにコミットされて、あとでポートがポートベース モードまたはマージ モードに変更される際に、ハードウェアに復元されます。この機能はQoSと似ています。

ACLのVLANへのマッピングでは、次のような操作が実行されます。

1. ACLがVLANにマッピングされます。

2. マージ モードであるすべての構成ポートとともにマージが自動的にトリガされます。

(1)が失敗した場合、操作が失敗してSyslogメッセージが生成されます。(2)の場合、VACLとのマージに失敗したポートに対してSyslogが生成されます。これらのポートは一時的にVLANベース モードになります。ポートがマージに失敗した場合、 show port security-acl mod/port コマンドを通じて表示されるマージのステータスは[merge disabled]になります。[merge disabled]ステータスの例については、「PACLの設定例」「例6」を参照してください。

ポートまたはVLANにACLをマッピングするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ポートまたはVLANにACLをマッピングします。

set security acl map acl_name [ mod/ports | vlans ]

次に、ポート3/1にACLをマッピングする例を示します。

Console> (enable) set security acl map ipacl1 3/1
Mapping in progress.
ACL ipacl1 is successfully mapped to port(s) 3/1.
 
Console> (enable) set port security-acl 3/1 vlan-based
ACL interface is set to vlan-based mode for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
Port 3/1 is set to vlan-based mode, config is saved in Nvram.
Config will be applied when the port is set to port-based/merge mode.
Console> (enable)
 

ACLマッピング情報の表示

show security acl map コマンドは、次のように、ポート マッピングを表示するように拡張されました。

設定およびランタイム マッピングを表示するために必須キーワード(configおよびruntime)が追加されました。

設定されたVACLおよびPACLを表示するために、任意キーワード(all-vlansおよびall-ports)が追加されました。

ACLマッピング情報を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

ACLマッピング情報を表示します。

show security acl map [ config | runtime ] [ acl_name | mod_num / port_num | vlan | all | all-vlans | all-ports ]

次に、ACLマッピング情報を表示する例を示します。

Console> (enable) show security acl map config all
ACL Name Type Ports/Vlans
-------------------------------- ---- --------------
ipacl1 IP 11
ipacl2 IP 3/1
 
Console> (enable) show security acl map config all-ports
ACL Name Type Ports
-------------------------------- ---- --------------
ipacl2 IP 3/1
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
3 / 1 ipacl1 IP
Console> (enable)
 

EtherChannelのACL情報の表示

ポート チャネル上にPACLマッピングを表示するために、 show channel コマンドが拡張されました。 type に対して、 security-acl を指定できます。

EtherChannelのACL情報を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

EtherChannelのACL情報を表示します。

show port channel [ all | mod [/ port ]] { info [ type ]}

次に、EtherChannelのACL情報を表示する例を示します。

Console> (enable) show port channel 3/40 info security-acl
Port ACL-Interface Type
----- ------------------
3/37 port-based
3/38 port-based
 
Port ACL name Type
----- -------------------------------- ------
3/37 ipacl1 IP
3/38 ipacl1 IP
Console> (enable)

PACLの設定例

ここでは、PACLの設定例を紹介します。

例1

次に、ポートがVLANベース モードの場合にACLをポートにマッピングする例を示します。

Console> (enable) set port security-acl 3/1 vlan-based
ACL interface is set to vlan-based mode for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
Port 3/1 is set to vlan-based mode, config is saved in Nvram.
Config will be applied when the port is set to port-based/merge.
 
Console> (enable) show security acl map config 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
No ACL mapped to port 3/1.
 
Console> (enable) set port security-acl 3/1 port-based
Warning: Vlan-based ACL features will be disabled on port(s) 3/1.
ACL interface is set to port-based mode for port(s) 3/1.
 
Console> (enable) show security acl map config 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
Console> (enable)

例2

次に、ACLマッピング エラーによりセキュリティACLモードが変更された場合に障害が発生する例を示します。この例では、ACLがNVRAMにのみマッピングされてハードウェアにはマッピングされません。

Console> (enable) set port security-acl 3/1 vlan-based
ACL interface is set to vlan-based mode for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
Port 3/1 is set to vlan-based mode, config is saved in Nvram.
Config will be applied when the port is set to port-based/merge.
 
Console> (enable) set port security-acl 3/1 port-based
Warning: Vlan-based ACL features will be disabled on port(s) 3/1.
ACL interface is set to port-based mode for port(s) 3/1
2003 Sep 05 22:34:50 %ACL-3-TCAMFULL:Acl engine TCAM table is full
2003 Sep 05 22:34:50 %ACL-3-PACLMAPCOMMITFAIL:Failed to Map Security ACL ipacl1 to Port 3/1
 
Console> (enable) show security acl map config 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 port-based port-based not applicable
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable)

例3

次に、ポートがマージ モードに設定されているもののACLにマッピングされない例を示します。

Console> (enable) set port security-acl 3/1 merge
ACL interface is set to merge mode for port(s) 3/1.
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN 5) inactive
 
Config:
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable) set security acl map ipacl1 3/1
ACL ipacl1 is successfully mapped to port(s) 3/1.
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN 5) active
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable)

例4

次に、ACLをポートにマッピングする際に発生する障害の例を示します。この場合、設定は保存されません。

Console> (enable) set port security-acl 3/1 merge
ACL interface is set to merge for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
Mapping in progress.
2003 Oct 01 19:44:31 %ACL-3-PACLMAPCOMMITFAIL:Failed to Map Security ACL ipacl1 to Port 3/15
Failed to attach ACL ipacl1 to port(s) 3/1.
 
Console> (enable) show security acl map config 3/1
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
No ACL is mapped to port 3/1.
Console> (enable)
 

例5

次に、ポートベース モードからマージ モードに変更する際に障害が発生した場合に、モードを変更できない例を示します。

Console> (enable) set port security-acl 3/1 port-based
ACL interface is set to port-based for port(s) 3/1.
 
Console> (enable) set security acl map ipacl1 3/1
ACL ipacl1 is successfully mapped to port 3/1.
 
Console> (enable) show security acl map config 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Console> (enable) show security acl map runtime 3/1
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Console> (enable) set port security-acl 3/1 merge
Failed to set interface to merge mode for port(s) 3/1.
2003 Oct 01 19:53:01 %ACL-3-TCAMFULL:Acl engine TCAM table is full
Console> (enable)
 

例6

次に、VACLとのマージに失敗したポートに対してSyslogが生成され、これらのポートが一時的にVLANベース モードになる例を示します。マージ ステータスは[merge disabled]です。

Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN=5) active
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
3/1 macacl1 MAC
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
3/1 macacl1 MAC
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable) set security acl map ipacl2 5
ACL ipacl2 is successfully mapped to VLAN 5.
2003 Oct 01 20:01:04 %ACL-3-MERGEFAILED:Failed to merge Security ACLs on ports(s) 3/1-4 with VLAN 5
2003 Oct 01 20:01:04 %ACL-3-PACLSMERGEDFORVLAN:Merge completed for all ports on Vlan 5
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN=5) disabled
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
3/1 macacl1 MAC
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
3/1 macacl1 MAC
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable)
 

例7

次に、例6の続きで、VACLまたはPACLをマッピングまたはマッピング解除して障害ステートから回復する例を示します。この例では、MAC PACLを切り離すことである種のTCAMリソースを解除して、マージを継続できるようにします。Syslogは、マージが再びイネーブルになると生成されます。

Console> (enable) clear security acl map macacl1
Map deletion in progress.
Successfully cleared mapping between ACL macacl1 and port 3/1.
2003 Oct 01 20:01:04 %ACL-3-PACLMERGED:Merged Security ACLs on port(s) 3/1
 
Console> (enable) show port security-acl 3/1
Port Interface Type Interface Type Interface Merge Status
config runtime runtime
----- -------------- -------------- ----------------------
3/1 merge merge (VLAN=5) active
 
Config:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
Runtime:
Port ACL name Type
----- -------------------------------- ----
3/1 ipacl1 IP
 
 
dhcp-snooping:
Port Trust Source-Guard Source-Guarded IP Addresses
----- ----------- ------------ ---------------------------
3/1 untrusted disabled
 
Console> (enable)
 

ACL統計情報の設定

ここでは、ACL統計情報を設定する手順について説明します。

「ACL統計情報の概要」

「CLIからのACL統計情報の設定」

ACL統計情報の概要

set security aclコマンド セットにstatistics キーワードを指定すると、ACEまたはACL(VACLおよびPACL)に関する統計情報が保存されます。ACL統計情報はデフォルトでディセーブルです。ACL単位、VLAN単位、ACE単位でイネーブルにできます。

ACLはTCAMでプログラミングされる前に、ACLコンパイラに渡されます。ACLコンパイラはACLのACE数を最適化し、マスクをできるだけ共有することにより、使用されるTCAMマスク数を削減します。インターフェイス上にACLを介して設定された機能/ポリシーが複数存在する場合は、これらのACLがマージされ、マージされたACLが最適化されます。最適化されたACLは、元のACLと論理的に同等です。

ACLの最適化では、冗長ACEの削除、ACEのマージ、およびACEの並べ替えが行われます。冗長ACEを削除して、ACEをマージすると、TCAMエントリ数が削減されます。ACEを並べ替えると、TCAMエントリ数およびTCAMマスク数が削減されます。

ACL統計情報は、最適化されたACLを構成するACEのカウンタから取得されます。マッピング機能によって、これらのACEは、元のユーザ定義ACLに対応するACEにマッピングされます。


) PFC2およびPFC3Aでは、カウンタはソフトウェア サンプリングに基づいて行われるため、不正確です。PFC3B/PFC3BXLでは、ハードウェア カウンタを使用して、正確な統計情報を提供します。PFC2/PFC3Aでは、カウンタは300 msのウィンドウ中に特定のACEと一致したかどうかを報告しますが、エントリに一致したトラフィック数は示しません。たとえば、1000パケット/秒と10パケット/秒の2つのフローがある場合、PFC2/PFC3Aでは両方のフローが同じ結果を戻します。PFC3B/PFC3BXL以降のPFCには、このような制限がありません。



) ACLをアクティブ/スタンバイTCAMに同時にプログラミングすることはできないため、アクティブ スーパバイザ エンジンとスタンバイ スーパバイザ エンジン間でACL統計情報が異なることがあります。ただし、TCAMのプログラミング後に、トラフィックとTCAMとの一致が開始すると、ACL統計情報が同じになります。


ACL単位のACL統計情報のイネーブル化


) ARP ACEエントリはACLマージ後に追加され、常にTCAMリスト内の最初のACEになるため、ARPエントリ統計情報収集は常にイネーブルです。


ACL単位でまたはすべてのACLに対して集約ACL統計情報をイネーブルにするには、set security acl statistics { acl_name | all } コマンドを入力します。集約統計情報モードでは、指定されたACL内のすべてのACEに対して統計情報がイネーブルです。このコマンドが有効になるのは、commitコマンドを入力して、 すべてのACE をNVRAMにコミットした場合のみです。


) set security acl statistics {acl_name | all} コマンドは、ACE単位コマンドのset security acl ip/mac acl_name ... [statistics]を上書きします。



) 集約統計情報モードではマージ最適化がディセーブルになり、多数のACEが使用されることがあります。場合によっては、集約統計情報モードをイネーブルにしたあとで、TCAMに導入済みのACLがTCAMに収まらなくなることがあります。


ACL単位で集約ACL統計情報をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ACL単位で集約ACL統計情報をイネーブルにします。

set security acl statistics { acl_name | all }

次に、ACL単位で集約ACL統計情報をイネーブルにする例を示します。

Console> (enable) set security acl statistics ACL1
ACL1 editbuffer modified. Use 'commit' command to save changes.
Console> (enable) commit security acl ACL1
ACL commit in progress.
 
ACL 'ACL1' successfully committed.
Console> (enable)
 
Console> (enable) show security acl info ACL1
set security acl ip ACL1 statistics
---------------------------------------------------
arp permit
1. permit ip any any
Console> (enable)

VLAN単位のACL統計情報のイネーブル化

VLAN単位でACL統計情報をイネーブルにするには、set security acl map acl-name { vlan / mod_port } [ statistics enable | disable ] コマンドを入力します。


) VLANモードでは、ラベル共有がディセーブルです。たとえば、特定のACLが10個のVLANにマッピングされている場合に、そのうちの1つのVLANでVLAN単位の統計情報をイネーブルにすると、9つのVLANでラベルが共有されます。VLAN統計情報をイネーブルにしたVLANでは別のラベルが使用されますが、これは統計情報がイネーブルであることを意味しません。マッピングしたACLに関して統計情報がイネーブルでない場合(ACE単位またはACL単位)、ARPパケットを除いて、統計情報は表示されません。


VLAN上でVLAN単位統計情報がイネーブルの場合は、同じVLANに設定されたこれ以降のマップでも、VLAN単位統計情報がイネーブルになります。VLAN上でVLAN単位統計情報がディセーブルの場合は、同じVLANに設定された以前のマップでもVLAN単位統計情報がディセーブルになります。

たとえば、 set security acl map ip1 1 statistics enable コマンドを入力して、そのあとに set security acl map mac1 1 コマンドを入力した場合、 mac1 ACLでもVLAN単位の統計情報はイネーブルになります。

set security acl map ip1 1 statistics enable コマンドを入力して、そのあとに set security acl map mac1 1 statistics disable コマンドを入力した場合は、ip1 ACLでもVLAN単位の統計情報がディセーブルになります。

VLAN単位でACL統計情報をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VLAN単位でACL統計情報をイネーブルにします。

set security acl map acl-name { vlan / mod_port } [ statistics enable | disable ]

設定を表示します。

show security acl

次に、VLAN単位でACL統計情報をイネーブルにする例を示します。

Console> (enable) set security acl map ACL1 1 statistics enable
Mapping in progress.
 
ACL ACL1 successfully mapped to VLAN 1.
Console> (enable)
 
Console> (enable) show security acl info ACL1
set security acl ip ACL1 statistics
---------------------------------------------------
arp permit
1. permit ip any any
Console> (enable)

ACE単位のACL統計情報のイネーブル化

ACE単位でACL統計情報をイネーブルにするには、set security acl ip/mac acl_name ... [ statistics ] コマンドを入力します。このオプションを使用すると、ACL統計情報がイネーブルでない場合にも、設定されたACEに関する統計情報を収集できます。このコマンドが有効になるのは、commitコマンドを入力して、 すべてのACE をNVRAMにコミットした場合のみです。

ACE単位でACL統計情報をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

ACE単位でACL統計情報をイネーブルにします。

set security acl ip/mac acl_name ... [ statistics ]

次に、ACE単位でACL統計情報をイネーブルにする例を示します。

Console> (enable) set security acl ip ACL1 permit ip any any statistics
ACL1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl ACL1
ACL commit in progress.
 
ACL 'ACL1' successfully committed.
Console> (enable)
 
Console> (enable) show security acl info ACL1
set security acl ip ACL1 statistics
---------------------------------------------------
arp permit
1. permit ip any any
2. permit ip any any statistics
Console> (enable)

ACL統計情報の消去

ACL統計情報を消去するには、ここに記載されたコマンドを使用します。

clear security acl statistics acl_name

指定されたACLのすべてのACEに対して、統計情報収集をディセーブルにします。このコマンドが有効なのは、ACL単位で設定されたACL統計情報のみです。VLAN単位またはACE単位で設定されたACL統計情報には、このコマンドは無効です。このコマンドが有効になるのは、commitコマンドを入力して、 すべてのACE をNVRAMにコミットした場合のみです。

次に例を示します。

Console> (enable) clear security acl statistics ACL1
ACL1 editbuffer modified. Use 'commit' command to save changes.
Console> (enable) commit security acl ACL1
ACL commit in progress.
 
ACL 'ACL1' successfully committed.
Console> (enable)
 

clear security acl counters

すべての統計情報カウンタを消去します。

次に例を示します。

Console> (enable) clear security acl counters
Operation Successful.
Console> (enable)

ACL統計情報の表示

ACL統計情報を表示するには、ここに記載されたコマンドを使用します。

show security acl info acl_name [ statistics [ ace_index ]]

指定されたACLの統計情報を表示します。 ace_index はACLリスト(コミットされたACL)のインデックスです。

次に例を示します。

Console> (enable) show security acl info ACL1 statistics
Vlan: 1
set security acl ip ACL1 statistics
---------------------------------------------------
arp permit in: 132 out: 132
1. permit ip any any
2. permit ip any any statistics in: 0 out: 0
 
Console> (enable)
 

show security acl tcam interface vlan

指定されたVLANに関するTCAMの詳細を表示します。

次に例を示します。

Console> (enable) show security acl tcam interface 1
Input
0. permit arp (matches 45745)
1. deny (l3) tcp any any fragment (matches 0)
2. deny (l3) ip host 21.0.0.130 any (matches 0)
3. deny (l3) udp 1.2.2.0 0.0.0.255 any (matches 0)
4. deny (l3) tcp any any 2001 (matches 0)
5. deny (l3) ip host 21.0.0.128 any (matches 0)
6. deny ip any any (matches 3)
 
 
Output
0. permit arp (matches 0)
1. deny (l3) tcp any any fragment (matches 0)
2. deny (l3) ip host 21.0.0.130 any (matches 0)
3. deny (l3) udp 1.2.2.0 0.0.0.255 any (matches 0)
4. deny (l3) tcp any any 2001 (matches 0)
5. deny (l3) ip host 21.0.0.128 any (matches 0)
6. deny (l3) ip any any (matches 0)
Console> (enable)
 

フィールドの説明は次のとおりです。

deny (l3):レイヤ3トラフィックが拒否され、レイヤ2トラフィックは許可されます。

redirect (l3):レイヤ3トラフィックだけがリダイレクトされます。

bridge:このエントリに一致したトラフィックがブリッジされます。

Redirect (adj):隣接情報によってトラフィックが書き替えられます。

show security acl および show security acl map acl_name

これらのコマンドに、特定のACLまたはVLANに対してイネーブルにされた統計情報のタイプを表示する新しいフィールドが追加されています。

次に例を示します。

Console> (enable) show security acl
Information in the bracket.
Disable - statistics are not enabled per ACL
Enable - stats are enabled per ACL
The number shows the VLANs where per-vlan stattistics are enabled
ACL Type VLANS (Statistics)
-------------------------------- ---- ----------------
ip1 IP 2-9 (2-3 Enable)
ip2 IP 10 (Disable)
ip3 IP 11 (Disable)
Console> (enable)
 
 

フィールドの説明は次のとおりです。

Disable:ACLで統計情報がディセーブルです。

Enable:ACLで統計情報がイネーブルです。

番号はVLAN単位の統計情報がイネーブルになっているVLANを示します(例の[2-3]など)。

CRAMの設定

Compression and Reordering of the ACL Mask(CRAM)機能は、複数のACLにわたってマスク使用率を最適化します。この最適化によりマスク共有が促進され、TCAMの使用効率が高まり、TCAM内にさらに多くのACLをプログラミングできます。

TCAMはハードウェアにACLを実装する場合に使用されます。8つの値エントリで1つのマスク エントリが共有されます。ACLをプログラミングする場合に、TCAMが一杯であると、エラーが表示され、TCAMハードウェアに新規ACLをプログラミングできなくなります。この問題は通常、TCAMマスクの不足が原因で発生します。

CRAMは2つのモードで実行できます。手動モードでは、この機能を必要に応じて実行します。自動モードでは、TCAMが一杯となる例外状況が発生した場合に、この機能が実行されます。この機能が実行されると、新規のマスク順序が計算され、ACLハードウェアがそれに応じてプログラミングされます。


) Release 8.4(1)のソフトウェア リリースでは、CRAMはセキュリティACLでのみサポートされています。この機能はQoS ACLで有効ですが、QoS ACL専用に実行することはできません。


CLIからのCRAM機能の設定


) CRAM機能を実行すると、ハードウェア プログラミング中に0.5秒未満の間、トラフィックが中断(拒否)されます。


ここでは、次の手順について説明します。

「CRAM機能のテスト実行のイネーブル化」

「CRAM機能の手動によるイネーブル化」

「CRAM機能の自動実行のイネーブル化」

「CRAM機能のステータス情報の表示」

「CRAM機能の自動モードのディセーブル化」

CRAM機能のテスト実行のイネーブル化

ACLマスクの使用の有無を判別するには、 set security acl cram testrun コマンドを入力します。このコマンドは単なる情報用です。ソフトウェア構造やハードウェア構造は変更されず、トラフィックは中断されません。

CRAM機能のテスト実行をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

CRAM機能のテスト実行をイネーブルにします。

set security acl cram testrun

次に、CRAM機能のテスト実行をイネーブルにする例を示します。

Console> (enable) set security acl cram testrun
CRAM execution in progress.
 
CRAM execution complete.
Current ACL storage mask usage 60.0%
ACL storage mask usage if CRAM is run is 41.0%
Console> (enable)

CRAM機能の手動によるイネーブル化

手動でCRAM機能をイネーブルにするには、 set security acl cram run コマンドを入力します。

手動でCRAM機能をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

手動でCRAM機能をイネーブルにします。

set security acl cram run

次に、手動でCRAM機能をイネーブルにする例を示します。

Console> (enable) set security acl cram run
Traffic may be disrupted for some time while programming hardware. Agree (y/n)[n] ? y
CRAM execution in progress.
 
CRAM execution complete.
Previous ACL storage mask usage 60.0%
Current ACL storage mask usage 41.0%
Console> (enable)

CRAM機能の自動実行のイネーブル化

CRAM機能の自動実行をイネーブルにするには、 set security acl cram auto [ nsec ]コマンドを入力します。自動実行がイネーブルの場合、この機能はTCAMが一杯になると自動的に実行されます。デフォルトのタイマー設定は300秒です。 nsec は60~3600秒に指定できます。前回この機能を実行してからTCAMが変更されていない場合は、この機能が自動実行されません。

CRAM機能の自動実行をイネーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

CRAM機能の自動実行をイネーブルにします。

set security acl cram auto [ nsec ]

次に、CRAM機能の自動実行をイネーブルにする例を示します。

Console> (enable) set security acl cram auto
Cram auto mode enabled. Timer is default = 300 seconds
Console> (enable)
 
Console> (enable) set security acl cram auto 1000
Cram auto mode enabled. Timer is 1000 seconds
Console> (enable)

CRAM機能のステータス情報の表示

CRAM機能のステータス情報を表示するには、 show security acl cram コマンドを入力します。

CRAM機能のステータス情報を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

CRAM機能のステータス情報を表示します。

show security acl cram

次に、CRAM機能のステータス情報を表示する例を示します。

Console> (enable) show security acl cram
Cram auto mode is enabled. Timer is 300.
Cram last run on Fri Jun 18 2004, 10:06:29
Security ACL mask usage before: 0.17%
Security ACL mask usage after: 0.12%
Total number of cram executions = 2
Console> (enable)

CRAM機能の自動モードのディセーブル化

CRAMの自動モードをディセーブルにするには、 clear security acl cram auto コマンドを入力します。

CRAMの自動モードをディセーブルにするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

CRAMの自動モードをディセーブルにします。

clear security acl cram auto

次に、CRAMの自動モードをディセーブルにする例を示します。

Console> (enable) clear security acl cram auto
Cram auto mode disabled.
Console> (enable)

PBFの設定

Policy-Based Forwarding(PBF)機能は、PFC2およびPFC3A/PFC3B/PFC3BXLによってサポートされるVACLリダイレクションの拡張機能です。PBFが特に有効なのは、トランスペアレント ブリッジングに使用され、必要なVLAN間通信の量が限られているフラットなレイヤ2ネットワークや、ブリッジング装置(サーバのロードバランシング装置など)が含まれていたり、ファイアウォールのロードバランシングが実行されていたりするサーバ ファームまたはDemilitarized Zone(DMZ;非武装地帯)です。


) Release 7.5(1)以降のソフトウェア リリースではPBF機能が拡張され、セキュリティACLと隣接情報の設定およびコミットのプロセスが簡略化されています。詳細は、「PBF設定の拡張機能(Releases 7.5(1)以降のソフトウェア リリース)」を参照してください。



) Release 8.3(1)以降のソフトウェア リリースではさらにPBF機能が拡張され、セキュリティACLと隣接情報の設定およびコミットのプロセスが簡略化されています。詳細は、「PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)」を参照してください。



) PBFは、IPXおよびマルチキャスト トラフィックをサポートしていません。



) PBFは、802.1Qトンネル トラフィックでは機能しません。PBFはレイヤ3 IPユニキャスト トラフィックではサポートされていますが、レイヤ2トラフィックには適用されません。中間(PBF)スイッチでは、802.1Qトンネル トラフィックはすべてレイヤ2トラフィックとみなします。



) PBFは、接続したホスト上で設定が必要になる場合があります。ネットワークにルータが存在しない場合は、PBFに参加する各ホストに対してARPテーブル エントリを静的に追加する必要があります。


ここでは、PBFについて説明します。

「PBFの機能概要」

「PBFのハードウェアおよびソフトウェア要件」

「CLIからのPBFの設定」

「PBFの設定例」

「PBF設定の拡張機能(Releases 7.5(1)以降のソフトウェア リリース)」

「PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)」

PBFの機能概要

PBFの設定には、次の作業が必要です。

PBFのイネーブル化とPFC2またはPFC3A/PFC3B/PFC3BXL用MACアドレスの指定

PBFのためのVACLの設定

PBFのための接続ホストの設定

PFC2またはPFC3A/PFC3B/PFC3BXL用MACアドレスを指定することでPBFをイネーブルにできます。MACアドレスは、デフォルト設定のものでもユーザ側で指定するMACアドレスでもかまいません。パケットを送信する場合は、宛先MACアドレスはPFC2またはPFC3A/PFC3B/PFC3BXL MACアドレスと同じでなければなりません。PFC2またはPFC3A/PFC3B/PFC3BXLは、パケットがレイヤ3のパケットであると認識する必要があります。認識しない場合は書き換え処理が行われません。パケットにPFC2またはPFC3A/PFC3B/PFC3BXL MACアドレスが設定されないで送信された場合、PFC2またはPFC3A/PFC3B/PFC3BXLはこれらのパケットをレイヤ2パケットとして処理します。

PBF VACLは set security acl コマンドを使用して作成されます。PBF VACLは、PFC2またはPFC3A/PFC3B/PFC3BXLの隣接テーブル エントリとリダイレクトACEを含みます。PBFに参加している両方のVLANに対してVACLを設定する必要があります。送信元VLANからのパケットがPFC2またはPFC3A/PFC3B/PFC3BXLに着信し、PBF VACLに一致します。隣接テーブルに記入されている情報に基づいてパケット ヘッダーが書き換えられ(宛先VLANおよび送信元と宛先のMACアドレス)、パケットは宛先VLANに転送されます。パケットは、隣接情報に対応付けられたVACLエントリに一致した場合にだけ、VLAN間で転送されます。


) VACLは着信および発信トラフィックに適用されるので、PBFを使用する場合はすべてのVACLを慎重に設定する必要があります。VACLが特定されていない場合は、書き換えられたパケットが発信VACLのdeny(拒否)ステートメントと一致し、廃棄される可能性があります。


ネットワークにルータが存在しない場合は、参加しているホスト上でスタティックARPエントリを指定する必要があります。

PBFのハードウェアおよびソフトウェア要件

PBFのハードウェアおよびソフトウェアの要件は、次のとおりです。

PBFには、PFC2搭載のSupervisor Engine 2、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720、またはPFC3B/PFC3BXL搭載のSupervisor Engine 32が必要です。

PBFは、PBF用に使用されているCatalyst 6500シリーズ スイッチで動作する(起動済み)MSFC2、MSFC2A、またはMSFC3ではサポート されていません。

MSFC2、MSFC2A、またはMSFC3が存在して起動した状態でPBFを設定しようとすると、システムはその機能がMSFC2、MSFC2A、またはMSFC3でサポートされていないことを示すメッセージを返します。

MSFC2、MSFC2A、またはMSFC3が存在していても起動していない場合は、PBFを設定できます。

Supervisor Engine 2の場合、PBFにはスーパバイザ エンジンRelease 6.3(1)以降のソフトウェア リリースが必要です。

Supervisor Engine 720の場合、PBFにはスーパバイザ エンジンRelease 8.1(1)以降のソフトウェア リリースが必要です。

Supervisor Engine 32の場合、PBFにはスーパバイザ エンジンRelease 8.4(1)以降のソフトウェア リリースが必要です。

CLIからのPBFの設定


) ここでの注意事項および構成例の詳細については、「PBF設定の拡張機能(Releases 7.5(1)以降のソフトウェア リリース)」および「PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)」を参照してください。


ここでは、PBF設定時の注意事項と設定例について説明します。設定例は、の例を参照してください。Catalyst 6500シリーズ スイッチは、VLAN 10のホストAからのトラフィックをすべてVLAN 11のホストBにリダイレクトし、ホストBからのトラフィックをホストAにリダイレクトします。ここではPBFの設定手順について説明します。

「PBFのイネーブル化とPFC2またはPFC3A/PFC3B/PFC3BXL用MACアドレスの指定」

「VLANにおけるPBF MACアドレスの指定」

「PBFのためのVACLの設定」

「PBF情報の表示」

「PBF VACLのエントリの削除」

「編集バッファ内の隣接テーブル エントリのロール バック」

「PBFのためのホストの設定」

図16-10 PBF

 

PBFのイネーブル化とPFC2またはPFC3A/PFC3B/PFC3BXL用MACアドレスの指定


) MACアドレスは、デフォルト設定のものでもユーザ側で指定するMACアドレスでもかまいません。デフォルトのMACアドレスは、Catalyst 6500シリーズ スイッチ シャーシのMACアドレスPROMから取得します。set pbf macコマンドでMACアドレスを指定する場合は、必ずMACアドレスは一意のもので、どのインターフェイス上でも未使用であることを確認してください。

MACアドレスPROMから取得するデフォルトのMACアドレスを使用することを推奨します。set pbf macコマンドで独自のMACアドレスを指定する場合、そのMACアドレスが使用中のものと重複すると、パケットが廃棄されることがあります。


PBFのステータスとMACアドレスを表示するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PBFのステータスとMACアドレスを表示します。

show pbf

PBFをイネーブルにするには、イネーブル モードで次のいずれかの作業を行います。

 

作業
コマンド

デフォルトのMACアドレスでPBFをイネーブルにします。

set pbf

特定のMACアドレスでPBFをイネーブルにします。

set pbf [ mac mac_address ]

次に、PBFのステータスとMACアドレスをチェックし、デフォルトのMACアドレスでPBFをイネーブルにし、設定を確認する例を示します。

Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
not set 00-00-00-00-00-00
Console> (enable)
Console> (enable) set pbf
PBF committed successfully.
Operation successful.
Console> (enable)
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
ok 00-01-64-61-39-c2
Console> (enable)
 

次に、特定のMACアドレスでPBFをイネーブルにする例を示します。

Console> (enable) set pbf mac 00-11-11-11-11-11
PBF committed successfully.
Operation successful.
Console> (enable)
 
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
ok 00-11-11-11-11-11
Console> (enable)
 

PBFをディセーブルにしてPBF MACアドレスを消去するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PBFをディセーブルにしてPBF MACアドレスを消去します。

clear pbf

次に、PBF MACアドレスを削除する例を示します。

Console> (enable) clear pbf
PBF cleared.
Console> (enable)
 
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
not set 00-00-00-00-00-00
Console> (enable)

VLANにおけるPBF MACアドレスの指定


) このPBF設定手順は、PFC3A/PFC3B/PFC3BXL搭載のSupervisor Engine 720上でのみ必要です。


set pbf vlan vlan コマンドを実行すると、指定したVLAN上のPBFレイヤ2 CAM(連想メモリ)エントリが作成されます。これらのエントリに一致するパケットは、レイヤ3パケットとして分類されます。レイヤ2エントリが作成されるのは、 set pbf vlan コマンドを使用する前にset pbf macコマンドを使用してPBF MACアドレスを設定する場合だけです。

VLAN上のPBF MACアドレスを指定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

VLAN上のPBF MACアドレスを指定します。

set pbf vlan vlan

次に、VLAN上のPBF MACアドレスを指定する例を示します。

Console> (enable) set pbf vlan 11-12
Console> (enable) PBF enabled on vlan(s) 11-12.
Operation successful.
Console> (enable) show pbf
Pbf status Mac address Vlans
----------- ------------------ ---------
ok 00-01-64-f8-39-18 11-12
Console> (enable)
 

メッセージ[ Operation successful ]は、PBF MACアドレスがNVRAMに保存されたことを示します。

clear pbf コマンドを入力しても、PBFがイネーブルにされたVLANは消去されません。 clear pbf コマンドを実行すると、そのVLANに対応付けられたレイヤ2テーブル エントリは(MACアドレスが有効でなくなるため)消去されます。NVRAMからPBF対応VLANを削除するには、 clear pbf vlan vlan_list コマンドを入力して、目的のVLANを明示的に消去する必要があります。

PBFのためのVACLの設定


set security acl adjacencyコマンドを使用して隣接テーブルの書き換え情報を指定します。この情報により、パケット ヘッダーが書き換えられ(宛先VLANおよび送信元と宛先のMACアドレス)、宛先VLANに転送されます。

送信元MACアドレスの指定は任意です。送信元MACアドレスを指定しなかった場合は、システムによりデフォルトでPBF MACアドレスに設定されます。



) VLANには最大256の隣接テーブル エントリを設定できます。隣接テーブル エントリの最大数は1023です。



) PBFを使用してジャンボ フレーム転送をイネーブルにするには、set security acl adjacencyコマンドでmtuキーワードを使用します。


PBF VACLでのエントリの順序は重要です。隣接テーブル エントリは、リダイレクトACEによりトラフィックのリダイレクトに使用されるので、リダイレクトACEより先に定義する必要があります。PBF VACLのエントリは、次の順序で作成してください。

1. 隣接テーブル エントリを指定します。

2. 隣接テーブル エントリを使用するPBF VACLのリダイレクトACEを指定します。

3. 隣接テーブル エントリをコミットします。

4. PBF VACLをコミットします。

5. PBF VACLを1つまたは複数のVLANにマッピングします。


ヒント commit security acl allコマンドを使用すると、ステップ3およびステップ4をまとめることができます。



) 複数のリダイレクトACEで同じ隣接テーブル エントリを使用できます。


PFC2またはPFC3A/PFC3B/PFC3BXL用の隣接テーブル エントリを指定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PFC2またはPFC3A/PFC3B/PFC3BXL用の隣接テーブル エントリを指定します。

set security acl adjacency adjacency _ name dest _ vlan dest _ mac [[ source_mac ] | [ source_mac mtu mtu_size ] | [ mtu mtu_size ]]

次に、隣接テーブル エントリを指定する例を示します。

Console> (enable) set security acl adjacency ADJ1 11 00-00-00-00-00-0B
ADJ1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable)
 

次に、VLAN 10のPBF VACLを作成する例を示します(を参照)。

Console> (enable) set security acl adjacency ADJ1 11 00-00-00-00-00-0B
ADJ1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL1 redirect ADJ1 ip host 10.0.0.1 host 11.0.0.1
IPACL1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL1 permit any
IPACL1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl adjacency
Commit operation in progress.
 
Adjacency successfully committed.
Console> (enable) commit security acl IPACL1
ACL commit in progress.
 
ACL 'IPACL1' successfully committed.
Console> (enable) set security acl map IPACL1 10
Mapping in progress.
 
ACL IPACL1 successfully mapped to VLAN 10.
Console> (enable)
 

次に、VLAN 11のPBF VACLを作成する例を示します(を参照)。

Console> (enable) set security acl adjacency ADJ2 10 00-00-00-00-00-0A
ADJ2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL2 redirect ADJ2 ip host 11.0.0.1 host 10.0.0.1
IPACL2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL2 permit any
IPACL2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl adjacency
Commit operation in progress.
 
Adjacency successfully committed.
Console> (enable) commit security acl IPACL2
ACL commit in progress.
 
ACL 'IPACL2' successfully committed.
Console> (enable) set security acl map IPACL2 11
Mapping in progress.
 
ACL IPACL2 successfully mapped to VLAN 11.
Console> (enable)

PBF情報の表示

ここでは、PBF関連情報の表示方法について説明します。

隣接テーブル エントリを表示するには、ユーザ モードで次のいずれかの作業を行います。

 

作業
コマンド

隣接テーブル エントリを表示します。

show security acl info [ acl_name | adjacency | all ] [ editbuffer [ editbuffer_index ]]

すべての隣接テーブル エントリまたは特定の隣接テーブル エントリに対するPBF隣接情報を表示します。

show pbf adjacency [ adj_name ]

すべての隣接テーブル エントリまたは特定の隣接テーブル エントリに対するPBF統計情報を表示します。

show pbf statistics [ adj_name ]

すべての隣接テーブル エントリまたは特定の隣接テーブル エントリに対する隣接/VACLマッピングを表示します。

show pbf map [ adj_name ]

次に、隣接テーブル エントリを表示する例を示します。

Console> show security acl info adjacency
set security acl adjacency ADJ1
---------------------------------------------------
1. 11 00-00-00-00-00-0b
 
set security acl adjacency ADJ2
---------------------------------------------------
 
1. 10 00-00-00-00-00-0a
Console> show pbf adjacency
Index DstVlan DstMac SrcMac Name
------------------------------------------------------------------
1 11 00-00-00-00-00-0a 00-00-00-00-00-0b ADJ1
2 10 00-00-00-00-00-0a 00-00-00-00-00-0b ADJ2
Console> show pbf statistics
Index DstVlan DstMac SrcMac HitCount(hex) Name
-------------------------------------------------------------------------
1 11 00-00-00-00-00-0a 00-00-00-00-00-0b 0x00000000 ADJ1
2 10 00-00-00-00-00-0a 00-00-00-00-00-0b 0x00000000 ADJ2
Console> show pbf map
Adjacency ACL
------------------ --------------------
ADJ1 IPACL1
 
ADJ2 IPACL2
Console> (enable)

PBF VACLのエントリの削除

リダイレクトACEより先に隣接テーブルを消去することはできません。PBF VACLのリダイレクトACEおよび隣接テーブル エントリを消去する場合は、次の順序で行ってください。

1. リダイレクトACEを消去します。

2. PBF VACLをコミットします。

3. 隣接テーブル エントリを消去します。

4. 隣接テーブル エントリをコミットします。

PBF隣接テーブル エントリを消去するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PBF隣接テーブル エントリを消去します。

clear security acl adjacency adj name

次に、PBF隣接テーブル エントリを削除する例を示します。

Console> (enable) clear security acl adjacency ADJ1
Adj is in use by a VACL, clear the VACL first then clear adj.
Console> (enable) clear security acl IPACL1
IPACL1 editbuffer modified. Use 'commit' command to save changes.
Console> (enable) commit security acl IPACL1
ACL commit in progress.
 
ACL 'IPACL1' successfully deleted.
Console> (enable) clear security acl adjacency ADJ1
ADJ1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl adjacency
Console> (enable) Adjacency committed successfully
Commit operation in progress.
 
Console> (enable)

編集バッファ内の隣接テーブル エントリのロール バック

rollback コマンドを使用して、最後のコミット以前に編集バッファ内に作成された隣接テーブル エントリを削除できます。隣接テーブル エントリは、最後のコミットでのステートにロール バックされます。

編集バッファ内の隣接テーブル エントリをロール バックするには、イネーブル モードで次の作業を行います。

 

作業
コマンド

編集バッファ内の隣接テーブル エントリをロール バックします。

rollback security acl { acl_name | all | adjacency }

次に、編集バッファ内の隣接テーブル エントリをロール バックする例を示します。

Console> (enable) rollback security acl adjacency
Editbuffer for adjacency info rolled back to last commit state.
Console> (enable)

PBFのためのホストの設定

ここでは、次のプラットフォームおよびOS(オペレーティング システム)のホスト設定手順について説明します。

「Linux」

「Sunワークステーション」

「MS-Windows/NT/2000ホスト」


) ネットワークにルータが存在しない場合は、参加しているホスト上でスタティックARPエントリを指定する必要があります。ホストのARPテーブルは、ホスト装置のIPアドレスをPFC2またはPFC3A/PFC3B/PFC3BXLのMACアドレスにマッピングします。



) 次の例のIPアドレスは、で使用されるIPアドレスです。これらのアドレスは任意に選択されたものです。ネットワーク構成で使用するIPアドレスが一意のものであることを確認してください。


Linux

次に、Linux OS(オペレーティング システム)が稼働するホストにARPテーブルを設定する例を示します。

ホストAを設定する例を示します。

arp -s 11.0.0.1 00:11:11:11:11:11 -i eth0
route add 11.0.0.1 eth0
 

ホストBを設定する例を示します。

arp -s 10.0.0.1 00:11:11:11:11:11 -i eth1
route add 10.0.0.1 eth1
 

Sunワークステーション

PBFを使用してSunワークステーションのエンド ホストで2つのVLAN間における転送をイネーブルにする場合は、ホスト設定時に考慮すべき制限事項があるので注意してください。

PBFの制限事項

PBFはARPをサポートしていません。PBFに参加するSunワークステーションごとにスタティックARPエントリを設定する必要があります。各スタティックARPエントリは、宛先ホストにマッピングされたPBF MACアドレスを示す必要があります。

また、Sunワークステーションにゲートウェイを設定することも必要です。Sunワークステーションが異なるネットワークと通信する必要がある場合は、PBFを通過するすべてのネットワークに対するホスト ルートを定義する必要があります。また、必要に応じてデフォルトのゲートウェイを定義する必要があります。

たとえば、VLAN 40のホスト10.0.0.1がVLAN 50のホスト11.0.0.1と通信する必要があり、PBF MACアドレスが00-11-11-11-11-11である場合、スタティックARPエントリは次のようになります。

arp -s 11.0.0.1 00:11:11:11:11:11
 

この場合、00-11-11-11-11-11はPBF MACアドレスであり、11.0.0.1は宛先ホストのIPアドレスです。

Sunワークステーションの制限事項

Sunワークステーションでは、宛先が別のネットワークの一部である場合(上記の例では11.x.x.x)、スタティックARPエントリを設定できません。これはすべてのSunワークステーションでのARPの制限事項です。この問題を解決するには、ホスト ルートであるダミー ゲートウェイを定義し、宛先ホストにマッピングされたPBF MACアドレスを示すスタティックARPエントリを設定する必要があります。

上の例を使用して、最初にゲートウェイに対するダミー スタティックARPエントリを定義する必要があります。ゲートウェイのIPアドレスは、そのネットワーク内のホスト アドレスのいずれかです。

(A) Kubera# arp -s 10.0.0.2 00:11:11:11:11:11
(B) Kubera# route add host 11.0.0.1 10.0.0.2
 

PBF関連トラフィックのダミーARPエントリを1つと、各宛先ホストのホスト ルートを設定するだけです。

ホスト数が増えた場合は、各宛先ホストについてホスト ルート エントリを設定する必要があります。各宛先ホストのホスト ルート エントリがある/etc/rc2.dに、スタートアップ ファイルを設定できます。このファイルを設定すると、Sunワークステーションをリセットまたは再起動したあと、すべてのホスト ルートを入力する必要がなくなります。

ファイルのエントリは次の形式を使用します。

Route add host <destination Host IP Address> <dummy gateway IP Address>
 

スタートアップ スクリプトの1つとしてホスト ルート エントリが記述されているファイルを使用する必要があります。ルート/スーパユーザのフルアクセス権を持つディレクトリにファイルを作成したり、/etc/rc2.d内のそのファイルを示すソフト リンクを設定したり、あるいは/etc/rc2.dディレクトリ自体にファイルを作成することもできます。

MS-Windows/NT/2000ホスト

WindowsベースのPC上にスタティックARPエントリを設定する必要があります。WindowsベースのPCでは、PBFを使用するVLAN間のスイッチングのためのダミー ゲートウェイを設定する必要はありません。

次に、WindowsベースのプラットフォームにスタティックARPエントリを設定する例を示します。

C:\> arp -s 11.0.0.1 00-11-11-11-11-11
 

この例では、00-11-11-11-11-11はPBF MACアドレスであり、11.0.0.1は宛先ホストのIPアドレスです。

さらにホストを設定する必要がある場合は、各宛先ホストに対するARPエントリでバッチ ファイルを作成して、Windowsがこのファイルをスタートアップ時に使用するように指定できます。

PBFの設定例

ここでは、VLAN 1のホストとVLAN 2のホストとの間のPBFをイネーブルにする設定例を示します(を参照)。

図16-11 PBFの設定例

 

次に、VLAN 1上のホストとVLAN 2上のホストとの間でPBFをイネーブルにするために作成されたスイッチ コンフィギュレーション ファイルの例を示します。この例では、各VLANの最初の4つのホストだけが表示されます(44.0.0.1~44.0.0.4および43.0.0.1~43.0.0.4)。

#security ACLs
clear security acl all
#adj set
set security acl adjacency a_1 2 00-0a-0a-0a-0a-0a
set security acl adjacency a_2 2 00-0a-0a-0a-0a-0b
set security acl adjacency a_3 2 00-0a-0a-0a-0a-0c
set security acl adjacency a_4 2 00-0a-0a-0a-0a-0d
set security acl adjacency b_1 1 00-20-20-20-20-20
set security acl adjacency b_2 1 00-20-20-20-20-21
set security acl adjacency b_3 1 00-20-20-20-20-22
set security acl adjacency b_4 1 00-20-20-20-20-23
#ip1
set security acl ip ip1 permit arp
set security acl ip ip1 redirect a_1 ip host 44.0.0.1 host 43.0.0.1
set security acl ip ip1 redirect a_2 ip host 44.0.0.2 host 43.0.0.2
set security acl ip ip1 redirect a_3 ip host 44.0.0.3 host 43.0.0.3
set security acl ip ip1 redirect a_4 ip host 44.0.0.4 host 43.0.0.4
set security acl ip ip1 permit ip any any
#ip2
set security acl ip ip2 permit arp
set security acl ip ip2 redirect b_1 ip host 43.0.0.1 host 44.0.0.1
set security acl ip ip2 redirect b_2 ip host 43.0.0.2 host 44.0.0.2
set security acl ip ip2 redirect b_3 ip host 43.0.0.3 host 44.0.0.3
set security acl ip ip2 redirect b_4 ip host 43.0.0.4 host 44.0.0.4
set security acl ip ip2 permit ip any any
#pbf set
set pbf mac 00-11-22-33-44-55
#
commit security acl all
set security acl map ip1 1
set security acl map ip2 2
 

次に、VLAN 1上のポート6/17について、スイッチによって学習されたMACアドレスを表示する例を示します。

Console> (enable) show cam dynamic 6/17
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
 
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
1 00-20-20-20-20-23 6/17 [ALL]
1 00-20-20-20-20-22 6/17 [ALL]
1 00-20-20-20-20-21 6/17 [ALL]
1 00-20-20-20-20-20 6/17 [ALL]
1 00-20-20-20-20-27 6/17 [ALL]
1 00-20-20-20-20-26 6/17 [ALL]
1 00-20-20-20-20-25 6/17 [ALL]
1 00-20-20-20-20-24 6/17 [ALL]
1 00-20-20-20-20-2b 6/17 [ALL]
1 00-20-20-20-20-2a 6/17 [ALL]
1 00-20-20-20-20-29 6/17 [ALL]
1 00-20-20-20-20-28 6/17 [ALL]
1 00-20-20-20-20-2f 6/17 [ALL]
1 00-20-20-20-20-2e 6/17 [ALL]
1 00-20-20-20-20-2d 6/17 [ALL]
1 00-20-20-20-20-2c 6/17 [ALL]
Total Matching CAM Entries Displayed for 6/17 = 16 for port 6/9, vlan 2
 

次に、VLAN 2上のポート6/9について、スイッチによって学習されたMACアドレスを表示する例を示します。

Console> (enable) show cam dynamic 6/9
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
 
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
2 00-0a-0a-0a-0a-0e 6/9 [ALL]
2 00-0a-0a-0a-0a-0f 6/9 [ALL]
2 00-0a-0a-0a-0a-0c 6/9 [ALL]
2 00-0a-0a-0a-0a-0d 6/9 [ALL]
2 00-0a-0a-0a-0a-0a 6/9 [ALL]
2 00-0a-0a-0a-0a-0b 6/9 [ALL]
2 00-0a-0a-0a-0a-19 6/9 [ALL]
2 00-0a-0a-0a-0a-18 6/9 [ALL]
2 00-0a-0a-0a-0a-17 6/9 [ALL]
2 00-0a-0a-0a-0a-16 6/9 [ALL]
2 00-0a-0a-0a-0a-15 6/9 [ALL]
2 00-0a-0a-0a-0a-14 6/9 [ALL]
2 00-0a-0a-0a-0a-13 6/9 [ALL]
2 00-0a-0a-0a-0a-12 6/9 [ALL]
2 00-0a-0a-0a-0a-11 6/9 [ALL]
2 00-0a-0a-0a-0a-10 6/9 [ALL]
Total Matching CAM Entries Displayed for 6/9 = 16
 

次に、PBFステータスとPFC2またはPFC3A/PFC3B/PFC3BXL MACアドレスを表示する例を示します。

Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
ok 00-11-22-33-44-55
 

次に、PBF統計情報を表示する例を示します。

Console> (enable) show pbf statistics
Index DstVlan DstMac SrcMac HitCount(hex) Name
-------------------------------------------------------------------------
1 2 00-0a-0a-0a-0a-0a 00-11-22-33-44-55 0x00026d7c a_1
2 2 00-0a-0a-0a-0a-0b 00-11-22-33-44-55 0x00026d83 a_2
3 2 00-0a-0a-0a-0a-0c 00-11-22-33-44-55 0x00026d89 a_3
4 2 00-0a-0a-0a-0a-0d 00-11-22-33-44-55 0x00026d90 a_4
5 1 00-20-20-20-20-20 00-11-22-33-44-55 0x000260e3 b_1
6 1 00-20-20-20-20-21 00-11-22-33-44-55 0x000260ea b_2
7 1 00-20-20-20-20-22 00-11-22-33-44-55 0x000260f1 b_3
8 1 00-20-20-20-20-23 00-11-22-33-44-55 0x000260f8 b_4

PBF設定の拡張機能(Releases 7.5(1)以降のソフトウェア リリース)

ここでは、Release 7.5(1)以降のソフトウェア リリースで利用できるコンフィギュレーション コマンドを使用してPBFを設定する手順について説明します。

ここでは、PBF設定の拡張機能について説明します。

「PBF設定拡張機能の概要」

「PBF_MAP_ACLの指定」

「PBF_MAP_ACL情報の表示」

「PBF_MAP_ACL設定の消去」

PBF設定拡張機能の概要


set pbf-mapコマンドはRelease 8.3(1)のソフトウェア リリースで変更されました。詳細については、「PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)」を参照してください。


新しいset pbf-mapコマンドは、入力された情報に基づいてセキュリティACLと隣接情報を作成し、ACLを自動的にコミットします。set pbf-mapコマンドでは、次の2つのステップを伴います。


ステップ 1 隣接テーブルの挿入

このステップでは、ACLに追加された各リダイレクト/隣接ACEについて隣接テーブルにエントリを作成します。

ステップ 2 ACLの作成および変更

このステップでは、リダイレクト/隣接エントリについて各ACLにACEを作成し、ACLの末尾にpermit ip any any ACEを追加します(このACEは、ACLにまだpermit ip any any ACEがない場合にだけ、追加されます)。

set pbf-mapコマンドの構文は、 set pbf-map ip_addr_1 mac_1 vlan_1 ip_addr_2 mac_2 vlan_2 です。

簡易構文の例は、 set pbf-map 1.1.1.1 0-0-0-0-0-1 11 2.2.2.2 0-0-0-0-0-2 12 です。

新しいset pbf-mapコマンドは、次のRelease 7.5(1)より前の すべて のコマンドと同じです。

set security acl adjacency PBF_MAP_ADJ_0 11 0-0-0-0-0-1
set security acl adjacency PBF_MAP_ADJ_1 12 0-0-0-0-0-2
commit security acl adjacency
set security acl ip PBF_MAP_ACL_11 redirect PBF_MAP_ADJ_1 ip host 1.1.1.1 host 2.2.2.2
set security acl ip PBF_MAP_ACL_12 redirect PBF_MAP_ADJ_0 ip host 2.2.2.2 host 1.1.1.1
 

permit ip any any ACEがない場合は、次の2つの permit ip any any エントリが追加されます。

set security acl ip PBF_MAP_ACL_11 permit ip any any
set security acl ip PBF_MAP_ACL_12 permit ip any any
commit security acl ip PBF_MAP_ACL_11
commit security acl ip PBF_MAP_ACL_12
set security acl map PBF_MAP_ACL_11 11
set security acl map PBF_MAP_ACL_12 12
 

set pbf-mapコマンドによって追加されたACL内の各エントリは、デフォルトのpermit ip any any ACEの前に挿入されます。

リダイレクトACE以外のエントリを隣接テーブルに追加する場合は、set security acl ip PBF_MAP_ACL_(VLAN_ID)コマンドを入力します。PBF_MAP_ACL_(VLAN_ID)ACL名は、次のアルゴリズムに基づきます。つまり、対応するホストのVLAN番号がPBF_MAP_ACL_ストリングに追加されます。

PBF_MAP_ACL_(VLAN_ID)ACLに含まれているリダイレクト/隣接ACEと隣接情報を削除するには、 clear pbf-map コマンドを入力します。PBF_MAP_ACL_(VLAN_ID)ACLの一部であるその他すべてのACEタイプを消去するには、 clear security acl コマンドを入力します。


 

PBF_MAP_ACLの指定


set pbf-mapコマンドが使用するACL名は、このコマンド用に予約されています。set security aclコマンドを入力すると、PBF_MAP_ACLで始まる名前は使用できません。隣接情報に使用される名前も、set pbf-mapコマンド用に予約されています。set security acl adjacencyコマンドを入力すると、PBF_MAP_ADJで始まる名前は使用できません。


PBF_MAP_ACLを指定するには、イネーブル モードで次の作業を行います。

 

作業
コマンド

PBF_MAP_ACLを指定します。

set pbf-map ip_addr_1 mac_1 vlan_1 ip_addr_2 mac_2 vlan_2

次に、PBF_MAP_ACLを指定する例を示します。

Console> (enable) set pbf-map 1.1.1.1 0-0-0-0-0-1 11 2.2.2.2 0-0-0-0-0-2 22
Commit operation successful.
Commit operation successful.
 
ACL 'PBF_MAP_ACL_11' successfully committed.
Console> (enable)
ACL PBF_MAP_ACL_11 successfully mapped to VLAN 11.
Console> (enable)
ACL 'PBF_MAP_ACL_22' successfully committed.
Console> (enable)
ACL PBF_MAP_ACL_22 successfully mapped to VLAN 22.
Console> (enable) Operation successful.
Console> (enable)

PBF_MAP_ACL情報の表示

PBF_MAP_ACL情報を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PBF_MAP_ACL情報を表示します。

show pbf-map { vlan | config }

次に、指定されたVLANのPBF関連ACEと、使用された各隣接の統計情報を表示する例を示します。

Console> (enable) show pbf-map 11
Index DstVlan DstMac SrcMac HitCount(hex) Name
-------------------------------------------------------------------------
1 22 00-00-00-00-00-02 00-00-00-00-00-00 0x00000000 PBF_MAP_ADJ_1
Console> (enable)
 

次に、PBFマップ設定の例を示します。

Console> (enable) show pbf-map config
set pbf_map 1.1.1.1 00-00-00-00-00-01 11 2.2.2.2 00-00-00-00-00-02 22
Console> (enable)

PBF_MAP_ACL設定の消去

PBF_MAP_ACL設定を消去するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PBF_MAP_ACL設定を消去します。

clear pbf-map all | vlan vlan | ip_addr_1 mac_1 vlan_1 ip_addr_2 mac_2 vlan_2

次に、 set pbf-map コマンドによって作成されたすべてのACLと隣接情報を消去する例を示します。

Console> (enable) clear pbf-map all
 
ACL 'PBF_MAP_ACL_11' successfully deleted.
Console> (enable)
ACL 'PBF_MAP_ACL_22' successfully deleted.
Console> (enable)
 

次に、PBF_MAP_ACL_VLAN_#の名前を持つACLとそのACLが使用する隣接テーブルを消去する例を示します。

Console> (enable) clear pbf-map vlan 11
 
ACL 'PBF_MAP_ACL_11' successfully deleted.
Console> (enable) Commit operation successful.
Console> (enable)
 

次に、 permit ip any any ACEを除いて set pbf-map コマンドによって作成されたACEをすべて消去する例を示します。コマンドによって、 vlan_1 および vlan_2 上の ip_addr_1 および ip_addr_2 であるホスト間のトラフィックをイネーブルにするエントリが削除されます。 clear security acl コマンドによりエントリが削除済みの場合は、メッセージが表示され、特定のエントリが消去済みであることを示します。実際の削除されたエントリは、2つのACE(リダイレクト/隣接ACE)と、隣接テーブルの2つのエントリです。

Console> (enable) clear pbf-map 1.1.1.1 0-0-0-0-0-1 11 2.2.2.2 0-0-0-0-0-2 22
 
ACL 'PBF_MAP_ACL_11' successfully committed.
Console> (enable)
ACL 'PBF_MAP_ACL_22' successfully committed.
Console> (enable)

PBF設定の拡張機能(Releases 8.3(1)以降のソフトウェア リリース)

ここでは、Release 8.3(1)以降のソフトウェア リリースで使用可能な2つのコンフィギュレーション コマンド( set pbf client および set pbf gw )を使用してPBFを設定する例を示します。ここで説明されているPBF拡張機能は、セキュリティACLおよび隣接情報の設定とコミットのプロセスを簡略化します。拡張されたset pbf-mapコマンドは、入力に基づいてセキュリティACLおよび隣接情報を作成し、それをハードウェアにコミットして、VLANにマッピングします。あるVLANから別のVLANへトラフィックをリダイレクトするために必要なVACLを作成する一部として、ARPパケットがソフトウェアにリダイレクトされてスーパバイザ エンジンがゲートウェイおよびクライアント要求に対するARP応答を生成します。

ここでは、PBF設定の拡張機能について説明します。

「PBFの使用上の注意事項および制限事項」

「セキュリティACLおよび隣接情報の設定とコミット」

「clearコマンド」

「showコマンド」

「診断インターフェイスとしてのsc1インターフェイスの使用」

PBFの使用上の注意事項および制限事項

ここでは、PBFを設定する際の使用上の注意事項と制限事項を説明します。

Supervisor Engine 720では、 set pbf vlan vlan コマンドを入力して、PBFをイネーブルにしているVLANを指定する必要があります。詳細については、「VLANにおけるPBF MACアドレスの指定」を参照してください。

クライアントおよびゲートウェイは別のVLAN上にあり、どのクライアントまたはゲートウェイにも同じIPアドレスがないようにしなければなりません。エントリの最大数は1024です。

クライアント名とゲートウェイ名は、12文字以内でなければなりません。

すでにVACLが添付されている2つのVLAN間にPBFマップを作成する場合、PBF ACLが前の設定を上書きします。逆も成り立ちます。 set pbf-map コマンドを入力してPBF ACLを作成し、PBF ACLがVLANに添付されている場合、同じVLANに新しいVACLをマッピングしようとすると、新しいVACLが前の設定を上書きします。

セキュリティACLおよび隣接情報の設定とコミット

新しい set pbf client コマンドは、新しいホストに現在のリストを追加します。VLAN接続を処理するゲートウェイを追加するのに新しい set pbf gw コマンドが使用されます。拡張されたset pbf-mapコマンドは、新しい2つのACL(client_nameおよびgateway_name)を作成し、新しく作成されたエントリをハードウェアにコミットし、それをVLANにマッピングします。

PBFマップを作成するには、次の手順を実行します。


ステップ 1 次のように、各リストにクライアントおよびゲートウェイを追加します。

a. set pbf client client_name ip_addr mac_addr vlan

b. set pbf gw gateway_name ip_addr ip_mask mac_addr vlan

ステップ 2 次のように、クライアント リストをゲートウェイ リストにマッピングします。

set pbf-map client_name gateway_name


) 単一のPBFゲートウェイにマッピングできるPBFクライアント グループの数は、すでに設定されたACLの数に依存します。サポートされている最大ACL数が250なので、すでに20 ACLを定義している場合、229のクライアント グループをゲートウェイにマッピングできます。


次に例を示します。

Console> (enable) set pbf client cl1 21.1.1.1 00-00-00-00-40-01 101
Commit operation successful.
Console> (enable) set pbf gw gw1 21.0.0.128 255.0.0.0 00-a0-c9-81-e1-13 102
Commit operation successful.
Console> (enable) set pbf-map cl1 gw1
.ccl1 editbuffer modified. Use 'commit' command to apply changes.
.ggw1 editbuffer modified. Use 'commit' command to apply changes.
.ccl1 editbuffer modified. Use 'commit' command to apply changes.
.ggw1 editbuffer modified. Use 'commit' command to apply changes.
.ccl1 editbuffer modified. Use 'commit' command to apply changes.
.ggw1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) ACL commit in progress.
Console> (enable) ACL commit in progress.
 
ACL '.ccl1' successfully committed.
Console> (enable)
ACL '.ggw1' successfully committed.
Console> (enable) Mapping in progress.
Please configure VLAN 101.
 
ACL .ccl1 successfully mapped to VLAN 101.
Console> (enable) Mapping in progress.
Please configure VLAN 102.
 
ACL .ggw1 successfully mapped to VLAN 102.
Console> (enable)
 

新しく拡張されたコマンド セットは、次のコマンドの すべて と同等です。

#adj set
set security acl adjacency .c0001cl1 101 00-00-00-00-40-01 21.1.1.1
set security acl adjacency .g0002gw1 102 00-a0-c9-81-e1-13 21.0.0.128 7
#.ccl1
set security acl ip .ccl1 permit arp
set security acl ip .ccl1 permit arp-inspection any any
set security acl ip .ccl1 redirect .g0002gw1 ip host 21.1.1.1 any
set security acl ip .ccl1 permit ip any any
#.ggw1
set security acl ip .ggw1 permit arp
set security acl ip .ggw1 permit arp-inspection any any
set security acl ip .ggw1 redirect .c0001cl1 ip any host 21.1.1.1
set security acl ip .ggw1 permit ip any any
#
commit security acl all
set security acl map .ccl1 101
set security acl map .ggw1 102
 

set pbf-mapコマンドによって追加されたACL内の各エントリは、デフォルトのpermit ip any any ACEの前に挿入されます。隣接にリダイレクトされる以外のエントリを追加する場合、set security acl ip client_name または gateway_name コマンドを入力します。ARP検査エントリは、より個別なものに置き換えることができます。ARP応答は、ARP検査ACEが確認されたあとにのみ生成されます。ARP応答を取得できるクライアントを制限したい場合、新しいARP検査エントリを設定する必要があります。

clearコマンド

clear pbf client コマンドは、最初にPBFマップを削除せずに最後に残っているPBFクライアントを削除するのに使用できません。単一のクライアントまたはすべてのクライアントをリストから削除するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

単一またはすべてのクライアントを消去できます。

clear pbf { client | gw } name [ ip_addr ]

次に、PBFクライアントを消去する例を示します。

Console> (enable) clear pbf client cl1
.c0001cl1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) Commit operation successfull.
Console> (enable)
 

clear pbf gw コマンドは、最初にPBFマップを削除せずに最後に残っているPBFゲートウェイを削除するのに使用できません。単一ゲートウェイまたはすべてのゲートウェイを消去するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

単一またはすべてのゲートウェイを消去できます。

clear pbf { client | gw } name [ ip_addr ]

次に、PBFゲートウェイを消去する例を示します。

Console> (enable) clear pbf gw gw1
.g0002gw1 editbuffer modified. Use 'commit' command to apply changes.
Commit operation successfull.
Console> (enable)
 

PBFマッピングを消去するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PBFマッピングを消去します。

clear pbf-map client_name gw_name

次に、PBFマッピングを消去する例を示します。

Console> (enable) clear pbf-map cl1 gw1
.ccl1 editbuffer modified. Use 'commit' command to save changes.
.ggw1 editbuffer modified. Use 'commit' command to save changes.
Console> (enable) ACL commit in progress.
Console> (enable) ACL commit in progress.
 
ACL '.ccl1' successfully deleted.
Console> (enable)
ACL '.ggw1' successfully deleted.
Console> (enable)

showコマンド

PBFマップをすべて表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

すべてのPBFマップを表示します。

show pbf-map

次に、すべてのPBFエントリを表示する例を示します。

Console> (enable) show pbf-map
PBF MAP
Clients Gatways
---------------------------------------------
cl1 gw1
Console> (enable)
 

PBFクライアント設定を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PBFクライアント設定を表示します。

show pbf client [ client_name | ip_addr ]

次に、PBFクライアント設定を表示する例を示します。

Console> (enable) show pbf client
Client : cl1
Map : gw1
VLAN : 101
Adjacency ip mac
------------------------------------------
.c0001cl1 21.1.1.1 00-00-00-00-40-01
 
 
Console> (enable)
 

PBFゲートウェイ設定を表示するには、ユーザ モードで次の作業を行います。

 

作業
コマンド

PBFゲートウェイ設定を表示します。

show pbf gw [ gw_name | ip_addr ]

次に、PBFゲートウェイ設定を表示する例を示します。

Console> (enable) show pbf gw
Client : gw1
Map : cl1
VLAN : 102
Adjacency ip mask mac
----------------------------------------------------------------
.g0002gw1 21.0.0.128 255.0.0.0 00-a0-c9-81-e1-13
 
 
Console> (enable)

診断インターフェイスとしてのsc1インターフェイスの使用

使用しているスイッチと顧客のスイッチやルータとの接続性テストを行いやすくするために、一時的にsc1インターフェイスをPBFクライアントVLAN内に配置する手順は、次のとおりです。


ステップ 1 clear pbf arp-inspection list_name コマンドを入力して、テストを行うARP検査ACLステートメントをPBFクライアントVLANから削除します。

ARP検査ACEがクライアント リストまたはゲートウェイのACLに設定されている(または設定されていない)ことを確認するには、 show pbf arp-inspection コマンドを入力します。

ステップ 2 set interface sc1 コマンドを入力して、sc1インターフェイスを顧客のVLANに割り当て、それを顧客のルータまたはスイッチと同じIPサブネットのIPアドレスに割り当てます。

ステップ 3 ping コマンドを入力して、(インターフェイスsc1が送信元の)Catalyst 6500シリーズ スイッチと顧客のルータまたはスイッチとの間で接続性をテストします。sc1インターフェイスが顧客のMACアドレスのARP要求を送信し、顧客のルータまたはスイッチが応答します。ICMP応答が送信される前に顧客の装置がARP応答を送信した場合、sc1インターフェイスはMACアドレスで応答します。

ステップ 4 テストが完了したら、sc1インターフェイスが顧客のVLANの一部のままにならないように設定しなおします。

ステップ 5 set pbf arp-inspection list_name コマンドを入力してARP検査ACLステートメントをPBFクライアントVLANに復元します。