Cisco Catalyst Blade Switch 3030 for Dell Software コンフィギュレーション ガイド
IPv6 ACL の設定
IPv6 ACL の設定
発行日;2012/01/31 | 英語版ドキュメント(2011/06/01 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

IPv6 ACL の設定

IPv6 ACL の概要

サポートされる ACL 機能

IPv6 ACL の制限事項

IPv6 ACL の設定

IPv6 ACL のデフォルト設定

他の機能との相互作用

IPv6 ACL の作成

インターフェイスへの IPv6 ACL の適用

IPv6 ACL の表示

IPv6 ACL の設定

この章では、スイッチに IPv6 ACL を設定する方法について説明します。着信 IPv6 管理トラフィックをフィルタリングするために、入力 IPv6 ルータ ACL を作成し、適用できます。


) IPv6 を使用するには、デュアル IPv4 および IPv6 Switch Database Management(SDM; スイッチ データベース管理)テンプレートがスイッチに設定されている必要があります。テンプレートの選択は、sdm prefer dual-ipv4-and-ipv6 {default | routing | vlan} グローバル コンフィギュレーション コマンドで行います。


関連情報については、次の章を参照してください。

SDM テンプレートの詳細については、 第 6 章「SDM テンプレートの設定」 を参照してください。

スイッチ上の IPv6 については、 第 38 章「IPv6 ホスト機能の設定」 を参照してください。


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスまたは手順に記載された Cisco IOS のマニュアルを参照してください。


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

「IPv6 ACL の概要」

「IPv6 ACL の設定」

「IPv6 ACL の表示」

IPv6 ACL の概要

レイヤ 3 インターフェイスで受信するすべての IPv6 管理パケットに適用される、入力ルータ IPv6 ACL だけがサポートされます。

IPv6 トラフィックに対する IPv6 ポート ACL、出力 IPv6 ルータ ACL、VLAN ACL(VLAN マップ)はサポートされません。


) 未サポートの IPv6 ACL を設定すると、エラー メッセージが表示されて設定が有効になりません。


スイッチの ACL サポートの詳細については、 第 34 章「ACL によるネットワーク セキュリティの設定」 を参照してください。

次に、スイッチの IPv6 ACL の一部の特性について説明します。

「サポートされる ACL 機能」

「IPv6 ACL の制限事項」

サポートされる ACL 機能

スイッチの IPv6 ACL には、次の特性があります。

分割フレーム(IPv4 では fragments キーワード)がサポートされます。

IPv6 ACL では、IPv4 と同じ統計情報がサポートされます。

スイッチの TCAM 領域が不足している場合、ACL ラベルに対応付けられたパケットは CPU に転送され、ACL はソフトウェアで適用されます。

IPv6 ACL の制限事項

IPv4 では、番号付きの標準 IP ACL および拡張 IP ACL、名前付き IP ACL、および MAC ACL を設定できます。IPv6 がサポートするのは名前付き ACL だけです。

スイッチは Cisco IOS がサポートする IPv6 ACL の大部分をサポートしますが、一部例外もあります。

IPv6 送信元および宛先アドレス:ACL 照合は、Extended Universal Identifier(EUI)-64 形式の/0 ~/64 のプレフィクスおよびホスト アドレス(/128)だけサポートされます。スイッチで情報が失われずにサポートされるのは次のホスト アドレスのみです。

集約可能なグローバル ユニキャスト アドレス

リンク ローカル アドレス

キーワード flowlabel routing header undetermined-transport に対する照合はサポートされません。

再起 ACL( reflect キーワード)はサポートされません。

このリリースでは、IPv6 の入力ルータ ACL のみをサポートします。VLAN ACL(VLAN マップ)、ポート ACL、出力ルータ ACL はサポートしません。

IPv6 フレームには MAC ベース ACL が適用されません。

ACL を設定する場合、ACL に入力されるキーワードには、それがプラットフォームでサポートされるかどうかにかかわらず、制限事項はありません。ハードウェア転送が必要なインターフェイス(物理ポートまたは SVI)に ACL を適用する場合、スイッチはインターフェイスで ACL がサポートされるかどうか判別します。サポートされない場合、ACL の付加は拒否されます。

インターフェイスに ACL が適用されており、サポートされないキーワードを持つ Access Control Entry(ACE; アクセス コントロール エントリ)を追加しようとした場合、スイッチは、現在インターフェイスに付加されている ACL への ACE の追加を拒否します。

IPv6 ACL の設定

IPv6 ACL を設定する場合は、事前にデュアル IPv4 および IPv6 SDM テンプレートのいずれかを選択する必要があります。

IPv6 トラフィックをフィルタリングする場合は、次の手順を実行します。


ステップ 1 IPv6 ACL を作成し、IPv6 アクセス リスト コンフィギュレーション モードを開始します。

ステップ 2 IPv6 ACL が、トラフィックをブロックする(拒否)または通過させる(許可)ように設定します。

ステップ 3 インターフェイスに IPv6 ACL を適用します。ルータ ACL では、ACL が適用されるレイヤ 3 インターフェイスにも IPv6 アドレスを設定する必要があります。


 

ここでは、IPv6 ACL の設定および適用方法について説明します。

「IPv6 ACL のデフォルト設定」

「他の機能との相互作用」

「IPv6 ACL の作成」

「インターフェイスへの IPv6 ACL の適用」

IPv6 ACL のデフォルト設定

IPv6 ACL は設定または適用されていません。

他の機能との相互作用

IPv6 ACL の設定には、他の機能またはスイッチ特性と次の相互作用があります。

IPv6 ルータ ACL がパケットを拒否するよう設定されている場合、パケットはドロップされます。パケットのコピーが Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)キューに送信され、フレームに ICMP 到達不能メッセージが生成されます。

IPv4 ACL および IPv6 ACL の両方を 1 つのスイッチに作成したり、同一インターフェイスに適用したりできます。各 ACL には一意の名前が必要です。設定済みの名前を使用しようとすると、エラー メッセージが表示されます。

IPv4 ACL と IPv6 ACL の作成、および同一のレイヤ 3 インターフェイスへの IPv4 ACL または IPv6 ACL の適用には、異なるコマンドを使用します。ACL を付加するのに誤ったコマンドを使用すると(たとえば、IPv6 ACL の付加に IPv4 コマンドを使用するなど)、エラー メッセージが表示されます。

MAC ACL を使用して、IPv6 フレームをフィルタリングできません。MAC ACL は非 IP フレームだけをフィルタリングできます。

TCAM が満杯の場合、ACL が設定された追加のパケットは CPU に転送され、ACL がソフトウェアで適用されます。

IPv6 ACL の作成

IPv6 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

ipv6 access-list access-list-name

IPv6 アクセス リスト名を定義し、IPv6 アクセス リスト コンフィギュレーション モードを開始します。

ステップ 3 a

deny | permit protocol
{ source-ipv6-prefix / prefix-length | any | host source-ipv6-address } [ operator [ port-number ]] { destination-ipv6-prefix/ prefix-length | any |
host destination-ipv6-address } [ operator [ port-number ]]
[ dscp value ] [ fragments ] [ log ] [ log-input ] [ sequence value ] [ time-range name ]

deny または permit を入力し、条件と一致した場合にパケットを拒否するか、または許可するかを指定します。次に、条件について説明します。

protocol には、インターネット プロトコルの名前、 ahp esp icmp ipv6 pcp stcp tcp 、または udp 、あるいは IPv6 プロトコル番号を示す 0 ~ 255 の範囲の整数を入力します。ICMP、Transmission Control Protocol(TCP; 伝送制御プロトコル)、および User Datagram Protocol(UDP; ユーザ データグラム プロトコル)に対する追加の固有パラメータについては、ステップ 3b ~ 3d を参照してください。

source-ipv6-prefix / prefix-length または destination-ipv6-prefix / prefix-length は、コロン間で 16 ビット値を使用して 16 進数で指定された deny または permit 条件を設定するネットワークの発信元/宛先 IPv6 ネットワークまたはクラスです(RFC 2373 を参照してください)。

(注) CLI ヘルプでは /0 ~ /128 のプレフィクス長が表示されますが、スイッチは集約可能なグローバル ユニキャストおよびリンク ローカル ホスト アドレスの /0 ~ /64 のプレフィクス、および EUI ベースの /128 プレフィクスに対してのみ IPv6 アドレス照合をサポートします。

IPv6 プレフィクス ::/0 の省略形として、 any を使用できます。

host source-ipv6-address または destination-ipv6-address には、コロン間に 16 ビット値を使用して 16 進数で指定された deny または permit 条件を設定する発信元/宛先 IPv6 ホストアドレスを入力します。

(任意) operator には、指定されたプロトコルの送信元または宛先ポートを比較するオペランドを指定します。オペランドは、 lt (less than:未満)、 gt (greater than:より大きい)、 eq (equal:一致)、 neq (not equal:不一致)、 range です。

source-ipv6-prefix / prefix-length 引数の後ろに演算子が置かれた場合、送信元ポートと一致する必要があります。 destination-ipv6-prefix/prefix-length 引数の後ろに演算子が置かれた場合、宛先ポートと一致する必要があります。

(任意) port-number に、TCP または UDP をフィルタリングするために 10 進数(0 ~ 65535)を入力するか、TCP または UDP ポート名を入力します。

(任意) dscp value を入力して、各 IPv6 パケット ヘッダーのトラフィック クラス フィールドのトラフィック クラス値と Differentiated Services Code Point 値を照合します。指定できる範囲は 0 ~ 63 です。

(任意)先頭以外のフラグメントをチェックするには、 fragments を入力します。このキーワードが表示されるのは、プロトコルが ipv6 の場合だけです。

(任意)エントリと一致するパケットに関するログ メッセージをコンソールに送信するには、 log を指定します。入力インターフェイスをログ エントリに含めるには、 log-input を入力します。ロギングはルータ ACL だけでサポートされます。

(任意)アクセス リスト ステートメントのシーケンス番号を指定するには、 sequence value を入力します。指定できる範囲は 1 ~ 4294967295 です。

(任意)ステートメントの時間範囲を指定するには、 time-range name を入力します。

ステップ 3 b

deny | permit tcp { source-ipv6-prefix / prefix-length | any | host source-ipv6-address } [ operator [ port-number ]] { destination-ipv6- prefix/prefix-length | any | host destination-ipv6-address } [ operator [ port-number ]] [ ack ] [ dscp value ] [ established ] [ fin ] [ log ] [ log-input ] [ neq { port | protocol }] [ psh ] [ range { port | protocol }] [ rst ] [ sequence value ] [ syn ] [ time-range name ] [ urg ]

(任意)TCP アクセス リストおよびアクセス条件を定義します。

伝送制御プロトコルの場合は tcp を入力します。パラメータはステップ 3a で説明するパラメータと同じで、他にも次の任意のパラメータを使用できます。

ack :ACK ビット設定。

established 確立された接続。TCP データグラムに ACK または RST ビットが設定されている場合、照合が行われます。

fin :FIN ビット設定。送信元からのデータはこれ以上ありません。

neq { port | protocol } :指定されたポート番号以外のポート上のパケットだけを照合します。

psh :PSH ビット設定。

range { port | protocol } :ポート番号範囲のパケットだけを照合します。

rst :RST ビット設定。

syn :SYN ビット設定。

urg :URG ビット設定。

ステップ 3 c

deny | permit udp
{ source-ipv6-prefix / prefix-length | any | host source-ipv6-address } [ operator [ port-number ]] { destination-ipv6-prefix/prefix-length | any | host destination-ipv6-address } [ operator [ port-number ]] [ dscp value ] [log ] [log-input] [ neq { port | protocol }] [ range { port | protocol }] [ sequence value ] [ time-range name ]

(任意)UDP アクセス リストおよびアクセス条件を定義します。

ユーザ データグラム プロトコルの場合は、 udp を入力します。UDP パラメータは TCP に関して説明されているパラメータと同じです。ただし、[ operator [ port ]] で指定するポート番号またはポート名は、UDP ポートの番号または名前とします。UDP では、flag および established パラメータは無効です。

ステップ 3 d

deny | permit icmp { source-ipv6-prefix / prefix-length | any | host source-ipv6-address } [ operator [ port-number ]] { destination-ipv6-prefix/prefix-length | any | host destination-ipv6-address } [ operator [ port-number ]] [ icmp-type [ icmp-code ] | icmp-message ] [ dscp value ] [ log ] [log-input] [ sequence value ] [ time-range name ]

(任意)ICMP アクセス リストおよびアクセス条件を定義します。

インターネット制御メッセージ プロトコルの場合は、 icmp を入力します。ICMP パラメータはステップ 3a のほとんどの IP プロトコルで説明されているパラメータと同じですが、ICMP メッセージ タイプとコード パラメータが追加されています。オプションのキーワードの意味は次のとおりです。

icmp-type :ICMP メッセージ タイプを基準にしてフィルタリングします。0 ~ 255 の値を使用できます。

icmp-code :0 ~ 255 の範囲の ICMP メッセージ コード タイプでフィルタリングされた ICMP パケットをフィルタリングします。

icmp-message :ICMP メッセージ タイプ名または ICMP メッセージのタイプおよびコード名を基準にして、ICMP パケットをフィルタリングします。ICMP メッセージ タイプ名およびコード名のリストを表示するには、? キーワードを使用するか、またはこのリリースのコマンド リファレンスを参照してください。

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show ipv6 access-list

アクセス リストの設定を確認します。

ステップ 6

copy running-config startup-config

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

指定したアクセス リストから拒否条件または許可条件を削除するには、 no deny | permit IPv6 access-list コンフィギュレーション コマンドとキーワードを使用します。

この例では、CISCO という名前の IPv6 アクセス リストを設定します。リストの最初の拒否エントリにより、宛先 TCP ポート番号が 5000 より大きいパケットがすべて拒否されます。2 番めの拒否エントリにより、送信元 UDP ポート番号が 5000 より小さいパケットが拒否されます。また、この 2 番めの拒否エントリは、すべての一致をコンソールに表示します。リストの最初の許可エントリにより、すべての ICMP パケットが許可されます。リストの 2 番めの許可エントリにより、その他のすべてのトラフィックが許可されます。すべてのパケットを拒否する暗黙の条件が各 IPv6 アクセス リストの末尾にあるので、この 2 番めの許可エントリが必要となります。

Switch(config)# ipv6 access-list CISCO
Switch(config-ipv6-acl)# deny tcp any any gt 5000
Switch config-ipv6-acl)# deny ::/0 lt 5000 ::/0 log
Switch(config-ipv6-acl)# permit icmp any any
Switch(config-ipv6-acl)# permit any any

インターフェイスへの IPv6 ACL の適用

ここでは、ネットワーク インターフェイスに IPv6 ACL を適用する手順について説明します。ACL はレイヤ 3 インターフェイスの着信管理トラフィックにだけ適用できます。

インターフェイスへのアクセスを制御するには、特権 EXEC モードで次の手順を実行します。

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 2

interface interface-id

アクセス リストを適用するレイヤ 3 インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 3

no switchport

インターフェイスをレイヤ 2 モード(デフォルト)からレイヤ 3 モードに変更します。

ステップ 4

ipv6 address ipv6-address

レイヤ 3 インターフェイスで IPv6 アドレスを設定します。

インターフェイスにすでに明示的に IPv6 アドレスが設定されている場合は、このコマンドは必要ありません。

ステップ 5

ipv6 traffic-filter access-list-name { in }

インターフェイスの着信トラフィックにアクセス リストを適用します。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show running-config

アクセス リストの設定を確認します。

ステップ 8

copy running-config startup-config

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

インターフェイスからアクセス リストを削除するには、 no ipv6 traffic-filter access-list-name インターフェイス コンフィギュレーション コマンドを使用します。

次に、アクセス リスト Cisco をレイヤ 3 インターフェイスの着信トラフィックに適用する例を示します。

Switch(config)# interface gigabitethernet 0/3
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001::/64 eui-64
Switch(config-if)# ipv6 traffic-filter CISCO in

IPv6 ACL の表示

表 40-1 に記載の特権 EXEC コマンド 1 つ以上を使用して、すべての設定済みアクセス リスト、すべての IPv6 アクセス リスト、または特定のアクセス リストに関する情報を表示できます。

 

表 40-1 IPv6 アクセス リスト情報を表示するためのコマンド

コマンド
目的

show access-lists

スイッチに設定されているすべてのアクセス リストを表示します。

show ipv6 access-list [ access-list-name ]

設定済みのすべての IPv6 アクセス リストまたは名前で指定されたアクセス リストを表示します。

次に、 show access-lists 特権 EXEC コマンドの出力例を示します。出力には、スイッチに設定済みのすべてのアクセス リストが表示されます。

Switch #show access-lists
Extended IP access list hello
10 permit ip any any
IPv6 access list ipv6
permit ipv6 any any sequence 10
 

次に、 show ipv6 access-lists 特権 EXEC コマンドの出力例を示します。出力には、スイッチに設定済みの IPv6 アクセス リストのみが表示されます。

Switch# show ipv6 access-list
IPv6 access list inbound
permit tcp any any eq bgp (8 matches) sequence 10
permit tcp any any eq telnet (15 matches) sequence 20
permit udp any any sequence 30