Catalyst 4000 ファミリー スイッチ Cisco IOS ソフトウェア コンフィギュレーション ガイド,Cisco IOS Release 12.1(13)EW
ACLによるネットワーク セキュリティ の設定
ACLによるネットワーク セキュリティの設定
発行日;2012/02/04 | ドキュメントご利用ガイド | ダウンロード ; この章pdf | フィードバック

目次

ACLによるネットワーク セキュリティの設定

ACLの概要

ACLの概要

ACLを使用するサポート対象機能

ルータACL

VLANマップ

ハードウェアおよびソフトウェアACLのサポート

ACLのレイヤ4演算

レイヤ4演算の制約事項

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

ACL処理がCPUに与える影響

ユニキャストMACアドレス フィルタリングの設定

名前指定のMAC拡張ACLの設定

VLANマップの設定

VLANマップ設定時の注意事項

VLANマップの作成および削除

ACLおよびVLANマップの例

VLANへのVLANマップの適用

ネットワークでのVLANマップの使用方法

別のVLANにあるサーバへのアクセスの拒否

ルータACLをVLANマップと併用する方法

ルータACLをVLANマップと併用する場合の注意事項

VLANに適用されるルータACLとVLANマップの例

ACLおよびスイッチド パケット

ACLおよびルーテッド パケット

ACL情報の表示

ACLによるネットワーク セキュリティの設定

この章では、Access Control List(ACL; アクセス制御リスト)を使用してCatalyst 4000ファミリー スイッチにネットワーク セキュリティを設定する方法について説明します。


) この章で使用しているコマンドの構文および使用方法の詳細については、『Cisco IOS Command Reference for the Catalyst 4000 Family Switch』および次のURLにある関連情報を参照してください。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/index.htm.


この章の主な内容は、次のとおりです。

「ACLの概要」

「ハードウェアおよびソフトウェアACLのサポート」

「ACLのレイヤ4演算」

「ユニキャストMACアドレス フィルタリングの設定」

「名前指定のMAC拡張ACLの設定」

「VLANマップの設定」

「ルータACLをVLANマップと併用する方法」

「ACL情報の表示」

ACLの概要

ここでは、次の内容について説明します。

「ACLの概要」

「ACLを使用するサポート対象機能」

「ルータACL」

「VLANマップ」

ACLの概要

ACLは、パケットに適用される許可条件および拒否条件を集めて順番に並べたものです。パケットがインターフェイスに着信すると、スイッチはパケットのフィールドと適用されるACLを比較し、アクセス リストに指定されている条件に基づいて、転送に必要な許可がパケットに与えられているかどうかを調べます。スイッチはパケットをアクセス リストの条件と1つ1つ突き合わせます。最初に一致した条件によって、スイッチがパケットを許可するかまたは拒否するかが決まります。スイッチは最初に一致した時点で条件のテストを中止するため、リストに条件を指定する順序が重要です。いずれの条件とも一致しなかった場合、スイッチはパケットを拒否します。制限がない場合、スイッチはパケットを転送し、制限がある場合はパケットを廃棄します。

従来、スイッチはレイヤ2で稼働し、VLAN(仮想LAN)内でトラフィックをスイッチングしていました。一方、ルータはレイヤ3のVLAN間でトラフィックをルーティングしていました。Catalyst 4000ファミリー スイッチ は、レイヤ3スイッチングを使用して、VLAN間のパケット ルーティングの速度を向上させます。レイヤ3スイッチでブリッジングされたパケットは、外部ルータに送信されずに内部でルーティングされます。その後、再度ブリッジングされて宛先に送信されます。スイッチはこのプロセス中に、VLAN内でブリッジングされるパケットを含めて、すべてのパケットを制御します。

トラフィックをフィルタリングし、ネットワークに基本的なセキュリティを導入するには、ルータまたはスイッチにアクセス リストを設定します。ACLを設定しないと、スイッチを通過するすべてのパケットが、ネットワーク内のすべての場所に転送されることがあります。ACLを使用すると、ネットワークの場所ごとにアクセス可能なホストを制御したり、ルータ インターフェイスで転送またはブロックされるトラフィックの種類を決定することができます。たとえば、電子メール トラフィックの転送を許可して、Telnetトラフィックの転送を禁止することができます。ACLは着信トラフィック、発信トラフィック、またはその両方をブロックするように設定できます。ただし、レイヤ2インターフェイスでは、ACLを適用できるのは着信方向だけです。

ACLには、Access Control Entry(ACE; アクセス制御エントリ)が順番に記述されています。各ACEでは、許可(permit)または拒否(deny)、およびACEと一致するためのパケットの必須条件のセットを指定します。許可または拒否の意味は、ACLの使用状況に応じて変わります。

Catalyst 4000ファミリー スイッチでは次の2つのACLタイプがサポートされます。

TCP、UDP、Internet Group Management Protocol(IGMP)、Internet Control Message Protocol(ICMP)などのInternet Protocol(IP)トラフィックをフィルタリングするIP ACL

非IPトラフィックをフィルタリングするMAC(イーサネット)ACL

ACLを使用するサポート対象機能

スイッチは、トラフィックをフィルタリングするため、次に示す2種類のACLをサポートしています。

ルータACLはレイヤ3インターフェイスに適用されます。このACLは、VLAN間でルーティングされたトラフィックのアクセスを制御します。すべてのCatalyst 4000ファミリー スイッチ でルータACLを作成できますが、レイヤ3インターフェイスにACLを適用して、VLAN間でルーティングされたパケットをフィルタリングするには、スイッチにCisco IOSソフトウェア イメージをインストールする必要があります。

VLAN ACLまたはVLANマップは、すべてのパケット(ブリッジド パケットおよびルーテッド パケット)のアクセスを制御します。VLANマップを使用すると、同じVLAN内のデバイス間で転送されるトラフィックをフィルタリングできます。VLANマップを作成または適用するために、拡張イメージをインストールする必要はありません。VLANマップは、IPのレイヤ3アドレスに基づいてアクセス制御するように設定されています。イーサネットACEを使用するMAC(メディア アクセス制御)アドレスにより、サポートされていないプロトコルがアクセス制御されます。VLANマップをVLANに適用すると、VLANに入るすべてのパケット(ルーテッド パケットまたはブリッジド パケット)がVLANマップと照合されます。パケットはスイッチ ポートを介してVLANに入ることができます。ルーティングされたパケットの場合は、ルーテッド ポートを介してVLANに入ることができます。

同じスイッチでルータACLとVLANマップを両方使用できます。

ルータACL

VLANへのレイヤ3インターフェイスであるSwitch Virtual Interface(SVI)、物理レイヤ3インターフェイス、およびレイヤ3 EtherChannelインターフェイスに、ルータACLを適用できます。ルータACLはインターフェイスの特定の方向(着信または発信)に対して適用されます。各方向に1つずつIPアクセス リストを適用できます。

1つのACLをある特定インターフェイスの複数の機能に使用できます。また、1つの機能に複数のACLを使用することもできます。1つのルータACLを複数の機能で使用する場合、そのルータACLは複数回テストされます。アクセス リストのタイプによって、一致処理に対する入力が決まります。

標準IPアクセス リストは、送信元アドレスを使用して一致処理を行います。

拡張IPアクセス リストは、送信元アドレス、宛先アドレス、およびオプションのプロトコル タイプ情報を使用して一致処理を行います。

スイッチは、特定のインターフェイスおよび方向に対する設定機能に関連づけられているACLをテストします。パケットがスイッチのインターフェイスに着信すると、そのインターフェイスに設定されているすべての着信機能に対応するACLがテストされます。パケットがルーティングされてからネクストホップに転送されるまでの間に、出力インターフェイスに設定された発信機能に対応するすべてのACLがテストされます。

ACLは、ACL内のエントリとの一致結果に基づいて、転送を許可または拒否します。たとえば、アクセス リストを使用すると、ネットワークの特定の場所へのアクセスを特定のホストに許可し、別のホストに対しては禁止することができます。図 24-1では、ルータへの入力に適用されているACLに基づき、ホストAは人事部ネットワークへのアクセスを許可されますが、ホストBは拒否されます。

図 24-1 ACLによるネットワーク トラフィックの制御

 

VLANマップ

VLANマップを使用すると、 VLANのすべてのトラフィックのアクセスを制御できます。VLANの内外でルーティングされる、またはVLAN内でブリッジングされる すべてのパケット に対して、スイッチのVLANマップを適用できます。ルータACLと異なり、VLANマップでは方向(着信または発信)は定義されません。

VLANマップを設定すると、IPトラフィックのレイヤ3アドレスを照合できます。すべての非IPプロトコルは、VLANマップのMAC ACLを使用して、MACアドレスおよびEtherTypeによってアクセス制御されます(IPトラフィックには、VLANマップのMAC ACLによるアクセス制御が行われません)。 VLANマップはスイッチを通過するパケットにのみ適用できます。ハブのホスト間、またはこのスイッチに接続された別のスイッチのホスト間を通過するトラフィックには、VLANマップを適用できません。

VLANマップを使用すると、パケットの転送は、マップに指定されたアクションに基づいて許可または拒否されます。図 24-2 に、VLANマップを適用して、特定タイプのトラフィックをVLAN 10のホストAから転送できないように設定する例を示します。

図 24-2 VLANマップによるトラフィックの制御

 

ハードウェアおよびソフトウェアACLのサポート

ここでは、ACLをハードウェア、ソフトウェアのどちらで処理するかを決定する方法について説明します。

標準および拡張ACLの拒否 [deny] ステートメントと一致するフロー(入力および出力)は、ICMP到達不能メッセージがディセーブルの場合、ハードウェアで廃棄されます。

標準ACLおよび拡張ACL(入力および出力)の許可 [permit] ステートメントに一致するフローは、ハードウェアで処理されます。

ソフトウェアでは、次のACLタイプはサポートされません。

標準Xerox Network Systems(XNS)プロトコル アクセス リスト

拡張XNSアクセス リスト

DECnetアクセス リスト

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

標準Internet Packet Exchange(IPX)アクセス リスト

拡張IPXアクセス リスト


) ロギングが必要なパケットは、ソフトウェアで処理されます。ロギング用にパケットのコピーがCPUに送信され、実際のパケットはハードウェアで転送されるので、ロギング対象外のパケットの処理は影響を受けません。


デフォルトでは、アクセス リストによりパケットが拒否されると、ICMP到達不能メッセージがCatalyst 4000ファミリー スイッチによって送信されます。

入力インターフェイス上でハードウェア内のアクセス リスト拒否パケットを廃棄するには、 no ip unreachables インターフェイス コンフィギュレーション コマンドを使用してICMP到達不能メッセージをディセーブルにする必要があります。 ip unreachables コマンドはデフォルトでイネーブルに設定されています。

出力アクセス リストによって拒否されたパケットは、常にCPUに転送されます。

ACLのレイヤ4演算

ここでは、レイヤ4ポート演算を含むACLを設定する場合の注意事項および制約事項について説明します。

「レイヤ4演算の制約事項」

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

「ACL処理がCPUに与える影響」

レイヤ4演算の制約事項

次のタイプの演算子を指定できます。いずれも、ハードウェアのレイヤ4演算が1つ使用されます。

gt(geater than:より大きい)

lt(less than:未満)

neq(not equal:不一致)

range(inclusive range:包含範囲)

1つのACLに指定する演算は、6つまでにしてください。この数を超えると、新しい演算によって影響されるACEが、ハードウェアで複数のACEに分割されることがあります。また、対象となるACEがソフトウェアで処理される可能性があります。

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

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

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

... gt 10 permit
... lt 9 deny
... gt 11 deny

[eq] 演算子は、ハードウェアのレイヤ4演算を使用しないので、何回でも無制限に使用できます。


次の例のように、レイヤ4演算は、同じ演算子/オペランドの組み合わせでも、送信元ポートに適用するか宛先ポートに適用するかによって異なる演算になります。

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

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

access-list 101
... (dst port) gt 10 permit
... (dst port) lt 9 deny
... (dst port) gt 11 deny
... (dst port) neq 6 permit
... (src port) neq 6 deny
... (dst port) gt 10 deny
 
access-list 102
... (dst port) gt 20 deny
... (src port) lt 9 deny
... (src port) range 11 13 deny
... (dst port) neq 6 permit

アクセス リスト101および102で使用しているレイヤ4演算は、次のとおりです。

アクセス リスト101のレイヤ4演算:5

[gt 10 permit] および [gt 10 deny] は、どちらも同じ演算です。全く同じで、どちらも宛先ポートに適用されます。

アクセス リスト102のレイヤ4演算:4

レイヤ4演算の合計:8(2つのアクセス リスト間での共用による)

[neg6 permit] は2つのACL間で共用されます。全く同じで、どちらも同じ宛先ポートに適用されます。

使用しているレイヤ4演算について説明します。

レイヤ4演算1は、ACL101から [gt 10 permit] および [gt 10 deny] を格納します。

レイヤ4演算2は、ACL101から [lt 9 deny] を格納します。

レイヤ4演算3は、ACL101から [gt 11 deny] を格納します。

レイヤ4演算4は、ACL101および102から [neg 6 permit] を格納します。

レイヤ4演算5は、ACL101から [neg 6 deny] を格納します。

レイヤ4演算6は、ACL102から [gt 20 deny] を格納します。

レイヤ4演算7は、ACL102から [lt 9 deny] を格納します。

レイヤ4演算8は、ACL102から [range 11 13 deny] を格納します。

ACL処理がCPUに与える影響

ACL処理は、次の2つの形でCPUに影響を与える可能性があります。

一部のパケットで、ハードウェア リソースを使い果たした場合、ACLとの照合をソフトウェアで実行する必要があります。

rst ackおよびsyn fin rst以外のTCPフラグ コンビネーションは、ソフトウェアで処理されます。rst ackはキーワードestablishedと同じです。

すべての演算をハードウェアで処理するには、ACLに指定するレイヤ4演算(lt、gt、neq、およびrange)を6つまでにする必要があります。7を超えるレイヤ4演算では、超過分の演算についてハードウェアで複数のACEに変換しようとします。ハードウェアで変換できなかった場合、パケットはソフトウェアで処理されます。変換プロセスは、大量のレイヤ4演算のある大規模ACLや、大量のACLが設定されたスイッチで成功の可能性が低くなります。正確な限度は、その他に設定されているACLの数や変換対象のACLが使用する特定のレイヤ4演算によって異なります。eq演算子は、レイヤ4演算を必要としないので、何回でも使用できます。

ACL内のレイヤ4演算の合計数が6に満たない場合、任意の形で分散させることができます。

例:

次のアクセス リストはすべてハードウェアで処理されます。

access-list 104 permit tcp any any established
access-list 105 permit tcp any any rst ack
access-list 107 permit tcp any synfin rst
 

アクセス リスト 104および105は同じです。 established rst および ack の短縮形です。

次のアクセス リスト101は、すべてソフトウェアで処理されます。

access-list 101 permit tcp any any urg
 

次のアクセス リスト106は、送信元演算が4、宛先演算が2なので、ハードウェアで処理されます。

access-list 106 permit tcp any range 100 120 any range 120 140
access-list 106 permit tcp any range 140 160 any range 180 200
access-list 106 permit tcp any range 200 220
access-list 106 deny tcp any range 220 240

次のコードの場合、送信元演算と宛先演算が3つずつあるので、3番目のACEに対するレイヤ4演算は[dst lt 1023]をハードウェアで複数のACEに変換しようとします。変換できなかった場合、3番目のACEはソフトウェアで処理されます。

access-list 102 permit tcp any lt 80 any gt 100
access-list 102 permit tcp any range 100 120 any range 120 1024
access-list 102 permit tcp any gt 1024 any lt 1023
 

次のアクセス リスト103の場合も同様に、3番目のACEは[dst gt 1023]をハードウェアで複数のACEに変換しようとします。変換できなかった場合、3番目のACEはソフトウェアで処理されます。送信元ポートおよび宛先ポートの演算は同じように見えますが、異なるレイヤ4演算とみなされます。

access-list 103 permit tcp any lt 80 any lt 80
access-list 103 permit tcp any range 100 120 any range 100 120
access-list 103 permit tcp any gt 1024 any gt 1023
 

source port lt 80 およびdestination port lt 80 は、異なる演算とみなされるので注意してください。


一部のパケットはアカウンティング目的でCPUに送信する必要がありますが、アクションはそのままハードウェアで実行されます。たとえば、パケットのログが必要な場合、ログ収集のためにコピーがCPUに送信されますが、転送(または廃棄)はハードウェアで実行されます。ロギングによってCPUの処理速度が低下しますが、転送速度は影響を受けません。この状況が発生するのは、次のような場合です。

logキーワードが使用されている

出力ACLでパケットが拒否された

入力ACLでパケットが拒否され、ACLが適用されたインターフェイスで ip unreachable がイネーブルである( ip unreachable は、すべてのインターフェイスにおいてデフォルトでイネーブル)

ユニキャストMACアドレス フィルタリングの設定

特定のVLANにあるMACアドレスのユニキャスト トラフィックをすべてブロックするには、次の作業を行います。

 

コマンド
説明
Router(config)# mac-address-table static mac_address vlan vlan_ID drop

特定のVLANにあるMACアドレスのユニキャスト トラフィックをすべてブロックします。

MACアドレスベースのブロッキングをクリアするには、このコマンドの no 形式を drop キーワードなしで使用します。

次に、VLAN 12にあるMACアドレス0050.3e8d.6400のユニキャスト トラフィックをすべてブロックする例を示します。

Router# configure terminal
Router(config)# mac-address-table static 0050.3e8d.6400 vlan 12 drop

名前指定のMAC拡張ACLの設定

VLANおよび物理レイヤ2インターフェイスで非IPトラフィックをフィルタリングするには、MACアドレスおよび名前指定のMAC拡張ACLを使用します。手順については、他の名前指定拡張ACLの場合と同様です。アクセス リストの名前として番号を使用することもできますが、700~799のMACアクセス リスト番号はサポートされません。


) 名前指定のMAC拡張ACLは、レイヤ3インターフェイスに適用できません。


mac access-list extended コマンドでサポートされている非IPプロトコルの詳細については、『 Cisco IOS Command Reference for the Catalyst 4000 Family Switch 』を参照してください。

名前指定のMAC拡張ACLを作成するには、イネーブルEXECモードで次の作業を行います。

 

コマンド
説明

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# mac access-list extended name

名前を使用してMAC拡張アクセス リストを定義します。

ステップ 3

Switch(config-ext-macl)# { deny | permit } { any | host source MAC address | source MAC address mask } { any | host destination MAC address | destination MAC address mask } [ protocol-family { appletalk | arp-non-ipv4 | decnet | ipx | ipv6 | rarp-ipv4 | rarp-non-ipv4 | vines | xns }]

拡張MACアクセス リスト コンフィギュレーション モードでは、あらゆる( any )送信元MACアドレス、マスク付きの送信元MACアドレス、または特定の( host )送信元MACアドレス、およびあらゆる( any )宛先MACアドレス、マスク付き宛先MACアドレス、または特定の宛先MACアドレスに、 permit または deny を指定します。

(任意)

[ protocol-family { appletalk | arp-non-ipv4 | decnet | ipx | ipv6 | rarp-ipv4 | rarp-non-ipv4 | vines | xns }]

ステップ 4

Switch(config-ext-macl)# end

イネーブルEXECモードに戻ります。

ステップ 5

Switch# show access-lists [number | name]

アクセス リストの設定を表示します。

ステップ 6

Switch(config)# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

ACL全体を削除するには、 no mac access-list extended name グローバル コンフィギュレーション コマンドを使用します。名前指定のMAC拡張ACLからACEを個別に削除することもできます。

次に、DECnet Phase IVというEtherTypeのトラフィックのみを拒否し、その他のすべてのタイプのトラフィックを許可する、 mac1 という名前のアクセス リストを作成、表示する例を示します。

Switch(config)# mac access-list extended mac1
Switch(config-ext-macl)# deny any any decnet-iv (old) protocol-family decnet (new)
Switch(config-ext-macl)# permit any any
Switch(config-ext-macl)# end
Switch # show access-lists
Extended MAC access list mac1
deny any any decnet-iv (old) protocol-family decnet (new)
permit any any

VLANマップの設定

ここでは、VLANマップを設定する方法について説明します。この方法は、VLAN内でフィルタリングを制御する唯一の方法です。VLANマップには方向がありません。VLANマップを使用して、特定の方向のトラフィックをフィルタリングするには、特定の送信元または宛先アドレスが指定されたACLを追加する必要があります。VLANマップ内に該当タイプのパケット(IPまたはMAC)に対するmatchコマンドがある場合、デフォルトでは、マップ内のどのエントリにも一致しないパケットは廃棄されます。該当タイプのパケットに対するmatchコマンドがない場合、デフォルトでは、パケットが転送されます。

VLANマップを作成して、1つまたは複数のVLANに適用するには、次の作業を行います。


ステップ 1 VLANに適用する標準IP ACLまたは拡張IP ACL、または名前指定のMAC拡張ACLを作成します。

ステップ 2 VLAN ACLマップ エントリを作成するには、 vlan access-map グローバル コンフィギュレーション コマンドを入力します。

ステップ 3 アクセス マップ コンフィギュレーション モードでは、 action として、 forward (デフォルト)または drop を任意で入力できます。また、 match コマンドを入力して、既知のMACアドレスのみが格納されたIPパケットまたは非IPパケットを指定したり、1つまたは複数のACL(標準または拡張)とパケットを照合することもできます。matchコマンドが指定されていない場合は、すべてのパケットにアクションが適用されます。matchコマンドを使用すると、パケットを複数のACLと照合できます。指定されたACLのいずれかにパケットが一致すると、アクションが適用されます。


) 該当タイプのパケット(IPまたはMAC)に対するmatchコマンドがVLANマップにある場合でも、パケットがそのタイプに一致しない場合、デフォルトでは、パケットが廃棄されます。該当タイプのパケットに対するmatchコマンドがVLANマップ内になく、それに対するアクションが指定されていない場合、パケットは転送されます。


ステップ 4 VLANマップを1つまたは複数のVLANに適用するには、 vlan filter グローバル コンフィギュレーション コマンドを使用します。


 

VLANマップ設定時の注意事項

VLANマップを設定する際は、次の注意事項に従ってください。

VLANマップはIPv4 Address Resolution Protocol(ARP)パケットをフィルタリングしません。

ルーテッドVLANインターフェイス(入力または出力)でトラフィックを拒否するように設定されたルータACLが存在せず、VLANマップが設定されていない場合は、すべてのトラフィックが許可されます。

各VLANマップは一連のエントリで構成されます。VLANマップのエントリの順序は重要です。スイッチに着信したパケットは、VLANマップの最初のエントリに対して比較検査されます。一致した場合は、VLANマップで指定されたアクションが取られます。一致しなかった場合、パケットはマップ内の次のエントリに対して比較検査されます。

該当タイプのパケット(IPまたはMAC)に対するmatchコマンドがVLANマップに1つまたは複数ある場合でも、パケットがそれらのmatchコマンドに一致しないと、デフォルトでは、パケットが廃棄されます。該当タイプのパケットに対するmatchコマンドがVLANマップ内にない場合、デフォルトでは、パケットが転送されます。

多数のACLが設定されている場合は、システムの起動に時間がかかることがあります。

VLANマップの作成および削除

各VLANマップは順番に並べられた一連のエントリで構成されます。VLANマップ エントリを作成、追加、または削除するには、イネーブルEXECモードで次の作業を行います。

 

コマンド
説明

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# vlan access-map name [ number ]

VLANマップを作成し、名前と、任意で番号を付けます。番号は、マップ内のエントリの順序を表す数字です。

同じ名前のVLANマップを作成すると、10ずつ増分する番号が順に割り当てられます。マップを変更または削除するときは、目的のマップ エントリの番号を入力します。

このコマンドを入力すると、アクセスマップ コンフィギュレーション モードに変わります。

ステップ 3

Switch(config-access-map)# action { drop | forward }

(任意)マップ エントリに対するアクションを設定します。デフォルトは転送です。

ステップ 4

Switch(config-access-map)# match { ip | mac } address { name | number } [ name | number ]

1つまたは複数の標準または拡張アクセス リストに対してパケットを比較します(IPまたはMACアドレスを使用)。パケットの比較は、対応するプロトコル タイプのアクセス リストに対してのみ行われます。IPパケットは、標準または拡張IPアクセス リストに対して比較されます。非IPパケットは、名前指定のMAC拡張アクセス リストに対してのみ比較されます。matchコマンドが指定されていない場合は、すべてのパケットにアクションが取られます。

ステップ 5

Switch(config-access-map)# end

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

Switch(config)# show running-config

アクセス リストの設定を表示します。

ステップ 7

Switch(config)# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

マップを削除するには、 no vlan access-map name グローバル コンフィギュレーション コマンドを使用します。マップ内の単一のシーケンス エントリを削除するには、 no vlan access-map name number グローバル コンフィギュレーション コマンドを使用します。デフォルトのアクションである転送を行うには、 no action アクセスマップ コンフィギュレーション コマンドを使用します。

VLANマップでは、特定の permit または deny キーワードは使用されません。VLANマップを使用してパケットを拒否するには、パケットと比較するACLを作成して、アクションを廃棄に設定します。ACLにpermitを指定すると、一致とみなされます。ACLにdenyを指定すると、一致しないという意味になります。

ACLおよびVLANマップの例

特定の目的のためのACLおよびVLANマップを作成する例を示します。

例1

ここでは、パケットを拒否するACLおよびVLANマップを作成する例を示します。最初のマップでは、 ip1 ACL (TCPパケット)に一致するすべてのパケットが廃棄されます。最初に、すべてのTCPパケットを許可し、それ以外のパケットをすべて拒否する ip1 ACLを作成します。VLANマップにはIPパケットに対するmatchコマンドが存在するので、デフォルトでは、どのmatchコマンドとも一致しないすべてのIPパケットが廃棄されます。

Switch(config)# ip access-list extended ip1
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map_1 10
Switch(config-access-map)# match ip address ip1
Switch(config-access-map)# action drop
 

次に、パケットを許可するVLANマップを作成する例を示します。ACL ip2 はUDPパケットを許可します。 ip2 ACLと一致するすべてのパケットが転送されます。

Switch(config)# ip access-list extended ip2
Switch(config-ext-nacl)# permit udp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map_1 20
Switch(config-access-map)# match ip address ip2
Switch(config-access-map)# action forward
 

このマップでは、これ以前のどのACLとも一致しないすべてのIPパケット(TCPでもUDPでもないパケット)が廃棄されます。

例2

次の例のVLANマップでは、デフォルトでIPパケットが廃棄され、MACパケットが転送されるように設定されています。標準のACL 101、名前指定の拡張アクセス リスト igmp-match および tcp-match を適用して、次のようにVLANマップを設定します。

すべてのUDPパケットが転送される。

すべてのIGMPパケットが廃棄される。

すべてのTCPパケットが転送される。

その他のすべてのIPパケットが廃棄される。

すべての非IPパケットが転送される。

Switch(config)# access-list 101 permit udp any any
Switch(config)# ip access-list extended igmp-match
Switch(config-ext-nacl)# permit igmp any any
Switch(config)# ip access-list extended tcp-match
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map drop-ip-default 10
Switch(config-access-map)# match ip address 101
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 20
Switch(config-access-map)# match ip address igmp-match
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 30
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward

例3

次の例のVLANマップでは、デフォルトでMACパケットが廃棄され、IPパケットが転送されるように設定されています。MAC拡張アクセス リスト good-hosts および good-protocols を適用して、次のようにVLANマップを設定します。

ホスト0000.0c00.0111および0000.0c00.0211からのMACパケットが転送される。

DECnetまたはVirtual Integrated Network Service(VINES)プロトコルファミリーのMACパケットが転送される。

その他のすべての非IPパケットが廃棄される。

すべてのIPパケットが転送される。

Switch(config)# mac access-list extended good-hosts
Switch(config-ext-macl)# permit host 000.0c00.0111 any
Switch(config-ext-macl)# permit host 000.0c00.0211 any
Switch(config-ext-nacl)# exit
Switch(config)# mac access-list extended good-protocols
Switch(config-ext-macl)# permit any any protocol-family decnet
Switch(config-ext-macl)# permit any any protocol-family vines
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map drop-mac-default 10
Switch(config-access-map)# match mac address good-hosts
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-mac-default 20
Switch(config-access-map)# match mac address good-protocols
Switch(config-access-map)# action forward
 

例4

次の例のVLANマップでは、すべてのパケット(IPおよび非IP)が廃棄されるように設定されています。アクセス リスト tcp-match および good-hosts を適用して、次のようにVLANマップを設定します。

すべてのTCPパケットが転送される。

ホスト0000.0c00.0111および0000.0c00.0211からのMACパケットが転送される。

その他のすべてのIPパケットが廃棄される。

その他のすべてのMACパケットが廃棄される。

Switch(config)# vlan access-map drop-all-default 10
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-all-default 20
Switch(config-access-map)# match mac address good-hosts
Switch(config-access-map)# action forward
 

VLANへのVLANマップの適用

1つのVLANマップを1つまたは複数のVLANに適用するには、次の作業を行います。

 

コマンド
説明

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# vlan filter mapname vlan-list list

VLANマップを1つまたは複数のVLANに適用します。

listには単一のVLAN ID(22)、連続した範囲(10~22)、またはVLAN IDからなるストリング(12、22、30)を指定できます。カンマやハイフンの前後にスペースを挿入することもできます。

ステップ 3

Switch(config)# show running-config

アクセス リストの設定を表示します。

ステップ 4

c Switch(config)# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

VLANマップ1をVLAN 20~22に適用する例を示します。

Switch(config)# vlan filter map 1 vlan-list 20-22
 

ネットワークでのVLANマップの使用方法

図 24-3 に、一般的な配線クローゼットの構成を示します。ホストXおよびホストYは異なるVLAN内にあり、配線クローゼット スイッチAおよびスイッチCに接続されています。ホストXからホストYへのトラフィックは、スイッチBによってルーティングされます。ホストXからホストYへのトラフィックは、トラフィックのエントリ ポイントであるスイッチAでアクセス制御できます。次の構成では、スイッチはVLANマップとQuality of Service(QoS;サービス品質)分類ACLをサポートします。

図 24-3 配線クローゼットの構成

 

たとえば、HTTPトラフィックをホストXからホストYへスイッチングしない場合は、スイッチAにVLANマップを適用し、ホストX(IPアドレス10.1.1.32)からホストY(IPアドレス10.1.1.34)へのHTTPトラフィックがスイッチBにブリッジングされずに、すべてスイッチAで廃棄されるようにすることもできます。

まず、HTTPポートですべてのTCPトラフィックを許可(一致)するIPアクセス リストhttpを定義します。

Switch(config)# ip access-list extended http
Switch(config-ext-nacl)# permit tcp host 10.1.1.32 host 10.1.1.34 eq www
Switch(config-ext-nacl)# exit
 

次に、VLANアクセス マップmap2を作成し、http アクセス リストと一致するトラフィックが廃棄され、その他のすべてのIPトラフィックが転送されるようにします。

Switch(config)# vlan access-map map2 10
Switch(config-access-map)# match ip address http
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# ip access-list extended match_all
Switch(config-ext-nacl)# permit ip any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map2 20
Switch(config-access-map)# match ip address match_all
Switch(config-access-map)# action forward
 

次に、VLANアクセス マップmap2をVLAN 1に適用します。

Switch(config)# vlan filter map2 vlan 1

 


 

別のVLANにあるサーバへのアクセスの拒否

図 24-4に、別のVLANにあるサーバへのアクセスを制限する方法を示します。この例では、VLAN 10内のサーバ10.1.1.100に対しては、次のようにアクセスが制限されています。

VLAN 20内のサブネット10.1.2.0/8にあるホストのアクセスが禁止されている。

VLAN 10内のホスト10.1.1.4および10.1.1.8のアクセスが禁止されている。

図 24-4 別のVLANにあるサーバへのアクセスの拒否

 

この手順では、別のVLANにあるサーバへのアクセスを拒否するようにVLANマップを使用してACLを設定します。VLANマップSERVER 1_ACLは、サブネット10.1.2.0/8内のホスト、ホスト10.1.1.4、およびホスト10.1.1.8のアクセスを拒否します。一方、その他すべてのIPトラフィックを許可します。ステップ3では、VLAN 10にVLANマップSERVER1を適用します。

このように設定するには、次の手順を実行します。


ステップ 1 対応するパケットと照合し、許可するIP ACLを定義します。

Switch(config)# ip access-list extended SERVER1_ACL
Switch(config-ext-nacl))# permit ip 10.1.2.0 0.0.0.255 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.4 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.8 host 10.1.1.100
Switch(config-ext-nacl))# exit
 

ステップ 2 SERVER1_ACLと一致するIPパケットを廃棄して、一致しないIPパケットを転送するこのACLを使用して、VLANマップを定義します。

Switch(config)# vlan access-map SERVER1_MAP
Switch(config-access-map)# match ip address SERVER1_ACL
Switch(config-access-map)# action drop
Switch(config)# vlan access-map SERVER1_MAP 20
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
 

ステップ 3 VLAN 10にVLANマップを適用します。

Switch(config)# vlan filter SERVER1_MAP vlan-list 10.
 


 

ルータACLをVLANマップと併用する方法

該当タイプのパケット(IPまたはMAC)に対するmatchコマンドがVLANマップにある場合でも、パケットがそのタイプに一致しない場合、デフォルトでは、パケットが廃棄されます。VLANマップ内にmatchコマンドがなく、アクションが指定されていない場合、どのVLANマップ エントリとも一致しないパケットは転送されます。

ルータACLをVLANマップと併用する場合の注意事項

ルータACLとVLANマップを同じVLANに設定する必要がある場合は、次の注意事項に従ってください。

スイッチ ハードウェアは、方向(入力および出力)ごとに、1回の検索を実行するので、ルータACLおよびVLANマップを同じVLANに設定する場合は、これらを統合する必要があります。ルータACLをVLANマップと統合すると、ACEの数が急激に増加することがあります。

できるだけ末尾のデフォルト アクションを除くすべてのエントリのアクションが同一となるように、ACLを記述します。次のいずれかの形式を使用してACLを記述します。

permit...
permit...
permit...
deny ip any any

または

deny...
deny...
deny...
permit ip any any

ACL内で複数の許可または拒否アクションを定義する場合は、それぞれのアクション タイプをまとめて、エントリ数を削減します。

レイヤ4情報を含むIP ACEとTCP/UDP/ICMP ACEがともにACL内に存在する場合に、フルフロー モードを指定する必要があるときは、レイヤ4 ACEをリストの末尾に配置します。この結果、IPアドレスに基づくトラフィックのフィルタリングが優先されます。

VLANに適用されるルータACLとVLANマップの例

以下の例では、ルータACLおよびVLANマップをVLANに適用して、スイッチド パケット、ブリッジド パケット、ルーテッド パケット、およびマルチキャスト パケットへのアクセスを制御します。次の図では、それぞれの宛先に転送されるパケットを示します。ただし、パケットのパスがVLANマップやACLを示す回線と交差するポイントごとで、パケットを転送しないで廃棄することもできます。

ACLおよびスイッチド パケット

図 24-5 に、VLAN内でスイッチングされるパケットをACLが処理する方法を示します。VLAN内でスイッチングされるパケットは、ルータACLでは処理されません。

図 24-5 スイッチド パケットへのACLの適用

 

ACLおよびルーテッド パケット

図 24-6 に、ルーテッド パケットにACLを適用する方法を示します。 ルーテッド パケットの場合、ACLは次の順に適用されます。

1. 入力VLANのVLANマップ

2. 入力ルータACL

3. 出力ルータACL

4. 出力VLANのVLANマップ

図 24-6 ルーテッド パケットへのACLの適用

 

ACL情報の表示

VLANアクセス マップまたはVLANフィルタに関する情報を表示するには、イネーブルEXECモードで次のいずれかの作業を行います。

 

コマンド
説明

Switch# show vlan access-map [ mapname ]

すべてのVLANアクセス マップまたは指定されたアクセス マップに関する情報を表示します。

Switch# show vlan filter [ access-map name | vlan vlan-id ]

すべてのVLANフィルタに関する情報、または指定されたVLANやVLANアクセス マップに関する情報を表示します。

次に、show vlan access-map イネーブルEXECコマンドの出力例を示します。

Switch# show vlan access-map
Vlan access-map "map_1" 10
Match clauses:
ip address: ip1
Action:
drop
Vlan access-map "map_1" 20
Match clauses:
mac address: mac1
Action:
forward
Vlan access-map "map_1" 30
Match clauses:
Action:
drop
 

) シーケンス30には照合するコマンドがありません。すべてのパケット(IPおよび非IP)はこれと照合されて破棄されます。


次に、 show vlan filter イネーブルEXECコマンドの出力例を示します。

Switch# show vlan filter
VLAN Map map_1 is filtering VLANs:
20-22