セキュリティ コマンド リファレンス、Cisco IOS リリース 15.2(2)E(Catalyst 2960-XR スイッチ)
IPv6 ACL の設定
IPv6 ACL の設定

IPv6 ACL の設定

機能情報の確認

ご使用のソフトウェア リリースでは、このモジュールで説明されるすべての機能がサポートされているとは限りません。 最新の機能情報および警告については、使用するプラットフォームおよびソフトウェア リリースの Bug Search Tool およびリリース ノートを参照してください。 このモジュールに記載されている機能の詳細を検索し、各機能がサポートされているリリースのリストを確認する場合は、このモジュールの最後にある機能情報の表を参照してください。

プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。 Cisco Feature Navigator には、http:/​/​www.cisco.com/​go/​cfn からアクセスします。 Cisco.com のアカウントは必要ありません。

IPv6 ACL の概要

IP Version 6(IPv6)アクセス コントロール リスト(ACL)を作成し、それをインターフェイスに適用することによって、IPv6 トラフィックをフィルタリングできます。これは、IP Version 4(IPv4)の名前付き ACL を作成し、適用する方法と同じです。 また、スイッチで IP ベースおよび LAN ベース フィーチャ セットが稼働している場合、入力ルータ ACL を作成し、それを適用してレイヤ 3 管理トラフィックをフィルタリングすることもできます。

スイッチは、次の 2 種類の IPv6 ACL をサポートします。

  • IPv6 ルータ ACL は、ルーテッド ポート、スイッチ仮想インターフェイス(SVI)、またはレイヤ 3 EtherChannel に設定できるレイヤ 3 インターフェイスのアウトバウンド トラフィックまたはインバウンド トラフィックでサポートされます。 IPv6 ルータ ACL は、ルーティングされる IPv6 パケットに対してだけ適用されます。

  • IPv6 ポート ACL は、インバウンドおよびアウトバウンドのレイヤ 2 インターフェイスでトラフィックでサポートされます。 IPv6 ポート ACL は、インターフェイスに着信するすべての IPv6 パケットに対して適用されます。

スイッチは、IPv6 トラフィックの Virtual LAN(VLAN)ACL(VLAN マップ)をサポートしません。

1 つのインターフェイスに、IPv4 ACL および IPv6 ACL の両方を適用できます。 IPv4 ACL の場合と同様に、IPv6 ポート ACL はルータ ACL よりも優先されます。

スイッチ スタックおよび IPv6 ACL

アクティブ スイッチは IPv6 ACL をハードウェアでサポートし、IPv6 ACL をスタック メンバに配信します。

スタンバイ スイッチがアクティブ スイッチを引き継ぐと、ACL 設定がすべてのスタック メンバに配信されます。 メンバ スイッチは、新しいスアクティブ スイッチによって配信された設定を同期し、不要なエントリを消去します。

ACL の修正、インターフェイスへの適用、またはインターフェイスからの解除が行われると、アクティブ スイッチは変更内容をすべてのスタック メンバーに配信します。

他の機能およびスイッチとの相互作用

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

  • ブリッジド フレームがポート ACL によってドロップされる場合、このフレームはブリッジングされません。

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

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

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

  • ハードウェア メモリに空きがない場合、パケットはインターフェイスでドロップされ、アンロードのエラー メッセージが記録されます。

IPv6 ACL の制限

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

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

  • スイッチは、flowlabelrouting header、および undetermined-transport というキーワードの照合をサポートしません。

  • スイッチは再起 ACL(reflect キーワード)をサポートしません。

  • このリリースが IPv6 用にサポートしているのは、ポート ACL およびルータ ACL だけです。VLAN ACL(VLAN マップ)はサポートしていません。

  • スイッチは IPv6 フレームに MAC ベース ACL を適用しません。

  • レイヤ 2 EtherChannel に IPv6 ポート ACL を適用できません。

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

  • インターフェイスに適用される ACL に、サポートされないキーワードを持つアクセス コントロール エントリ(ACE)を追加しようとする場合、スイッチは現在インターフェイスに接続されている ACL に ACE が追加されるのを許可しません。

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

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

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

  • スイッチのハードウェア スペースがなくなった場合、ACL に関連付けられたパケットはインターフェイスでドロップされます。

  • ロギングは、ルータ ACL ではサポートされますが、ポート ACL ではサポートされません。

  • スイッチは、プレフィックス長の最大範囲の IPv6 アドレス一致をサポートしません。

IPv6 ACL のデフォルト設定

デフォルトの IPv6 ACL 設定は次のとおりです。

Switch# show access-lists preauth_ipv6_acl
IPv6 access list preauth_ipv6_acl (per-user)
permit udp any any eq domain sequence 10
permit tcp any any eq domain sequence 20
permit icmp any any nd-ns sequence 30
permit icmp any any nd-na sequence 40
permit icmp any any router-solicitation sequence 50
permit icmp any any router-advertisement sequence 60
permit icmp any any redirect sequence 70
permit udp any eq 547 any eq 546 sequence 80
permit udp any eq 546 any eq 547 sequence 90
deny ipv6 any any sequence 100

IPv6 ACL の設定

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

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

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

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

手順の概要

    1.    configure terminal

    2.    [no]{ipv6 access-list list-name| client permit-control-packets| log-update threshold| role-based list-name}

    3.    [no]{deny | permit} protocol {source-ipv6-prefix/|prefix-length|any threshold| 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] [routing] [sequence value] [time-range name]

    4.    {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] [routing] [sequence value] [syn] [time-range name] [urg]

    5.    {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}] [routing] [sequence value] [time-range name]]

    6.    {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] [routing] [sequence value] [time-range name]

    7.    end

    8.    show ipv6 access-list

    9.    copy running-config startup-config


手順の詳細
     コマンドまたはアクション目的
    ステップ 1 configure terminal


    例:
    Switch# configure terminal
     

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

     
    ステップ 2 [no]{ipv6 access-list list-name| client permit-control-packets| log-update threshold| role-based list-name}


    例:
    Switch(config)# ipv6 access-list example_acl_list
     

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

     
    ステップ 3 [no]{deny | permit} protocol {source-ipv6-prefix/|prefix-length|any threshold| 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] [routing] [sequence value] [time-range name]
     

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

    • protocol には、インターネット プロトコルの名前または番号を入力します。ahpespicmpipv6pcpstcptcpudp、または IPv6 プロトコル番号を表す 0 ~ 255 の整数を使用できます。

    • source-ipv6-prefix/prefix-length または destination-ipv6-prefix/ prefix-length は、拒否条件または許可条件を設定する送信元または宛先 IPv6 ネットワークあるいはネットワーク クラスで、コロン区切りの 16 ビット値を使用した 16 進形式で指定します(RFC 2373 を参照)。

    • IPv6 プレフィックス ::/0 の短縮形として、any を入力します。

    • host source-ipv6-address または destination-ipv6-address には、拒否条件または許可条件を設定する送信元または宛先 IPv6 ホスト アドレスを入力します。アドレスはコロン区切りの 16 ビット値を使用した 16 進形式で指定します。

    • (任意)operator には、指定のプロトコルの送信元ポートまたは宛先ポートを比較するオペランドを指定します。 オペランドには、lt(より小さい)、gt(より大きい)、eq(等しい)、neq(等しくない)、range(包含範囲)があります。

      source-ipv6-prefix/prefix-length 引数のあとの operator は、送信元ポートに一致する必要があります。 destination-ipv6- prefix/prefix-length 引数のあとの operator は、宛先ポートに一致する必要があります。

    • (任意)port-number は、0 ~ 65535 の 10 進数または TCP あるいは UDP ポートの名前です。 TCP ポート名を使用できるのは、TCP のフィルタリング時だけです。 UDP ポート名を使用できるのは、UDP のフィルタリング時だけです。

    • (任意)dscp value を入力して、各 IPv6 パケット ヘッダーの Traffic Class フィールド内のトラフィック クラス値と DiffServ コード ポイント値を照合します。 指定できる範囲は 0 ~ 63 です。

    • (任意)fragments を入力して、先頭ではないフラグメントを確認します。 このキーワードが表示されるのは、プロトコルが ipv6 の場合だけです。

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

    • (任意)routing を入力して、IPv6 パケットのルーティングを指定します。

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

    • (任意)time-range name を入力して、拒否または許可ステートメントに適用される時間の範囲を指定します。

     
    ステップ 4{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] [routing] [sequence value] [syn] [time-range name] [urg]
     

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

    TCP の場合は tcp を入力します。 パラメータはステップ 3a で説明されているパラメータと同じですが、次に示すオプションのパラメータが追加されています。

    • ack:確認応答(ACK)ビット セット

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

    • fin:終了ビット セット。送信元からのデータはそれ以上ありません。

    • neq {port | protocol}:所定のポート番号上にないパケットだけを照合します。

    • psh:プッシュ機能ビット セット

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

    • rst:リセット ビット セット

    • syn:同期ビット セット

    • urg:緊急ポインタ ビット セット

     
    ステップ 5{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}] [routing] [sequence value] [time-range name]]
     

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

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

     
    ステップ 6{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] [routing] [sequence value] [time-range name]
     

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

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

    • icmp-type:ICMP メッセージ タイプでフィルタリングする場合に入力します。指定できる値の範囲は、0 ~ 255 です。

    • icmp-code:ICMP パケットを ICMP メッセージ コード タイプでフィルタリングする場合に入力します。指定できる値の範囲は、0 ~ 255 です。

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

     
    ステップ 7end
     

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

     
    ステップ 8show ipv6 access-list
     

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

     
    ステップ 9copy 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 の付加

    レイヤ 3 インターフェイスで発信または着信トラフィックに、あるいはレイヤ 2 インターフェイスで着信トラフィックに ACL を適用できます。 レイヤ 3 インターフェイスで着信トラフィックにだけ ACL を適用できます。

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

    手順の概要

      1.    configure terminal

      2.    interface interface-id

      3.    no switchport

      4.    ipv6 address pv6-address

      5.    ipv6 traffic-filter access-list-name {in | out}

      6.    end

      7.    show running-config

      8.    copy running-config startup-config


    手順の詳細
       コマンドまたはアクション目的
      ステップ 1 configure terminal


      例:
      Switch# configure terminal
       

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

       
      ステップ 2interface interface-id
       

      アクセス リストを適用するレイヤ 2 インターフェイス(ポート ACL 用)またはレイヤ 3 インターフェイス(ルータ ACL 用)を特定して、インターフェイス コンフィギュレーション モードを開始します。

       
      ステップ 3no switchport
       

      ルータ ACL を適用する場合は、これによってインターフェイスがレイヤ 2 モード(デフォルト)からレイヤ 3 モードに変化します。

       
      ステップ 4ipv6 address pv6-address
       

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

       
      ステップ 5ipv6 traffic-filter access-list-name {in | out}
       

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

       
      ステップ 6end
       

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

       
      ステップ 7show running-config
       

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

       
      ステップ 8copy running-config startup-config
       

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

       

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

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

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

      IPv6 ACL のモニタリング

      次の表に示された 1 つまたは複数の特権 EXEC コマンドを使用して、設定済みのすべてのアクセス リスト、すべての 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
      
      IPv6 access list outbound
          deny udp any any sequence 10
          deny tcp any any eq telnet sequence 20

      その他の関連資料

      関連資料

      関連項目 マニュアル タイトル

      IPv6 セキュリティ設定のトピック

      『IPv6 Configuration Guide, Cisco IOS XE Release 3SE (Catalyst 3850 スイッチ)』

      http:/​/​www.cisco.com/​en/​US/​docs/​ios-xml/​ios/​ipv6/​config_library/​xe-3se/​3850/​ipv6-xe-3se-3850-library.html

      『IPv6 Command Reference』

      『IPv6 Command Reference, Cisco IOS XE Release 3SE (Catalyst 3850 スイッチ)』

      http:/​/​www.cisco.com/​en/​US/​docs/​ios-xml/​ios/​ipv6/​command/​ipv6-xe-3se-3850-cr-book.html

      エラー メッセージ デコーダ

      説明 Link

      このリリースのシステム エラー メッセージを調査し解決するために、エラー メッセージ デコーダ ツールを使用します。

      https:/​/​www.cisco.com/​cgi-bin/​Support/​Errordecoder/​index.cgi

      MIB

      MIB MIB のリンク

      本リリースでサポートするすべての MIB

      選択したプラットフォーム、Cisco IOS リリース、およびフィーチャ セットに関する MIB を探してダウンロードするには、次の URL にある Cisco MIB Locator を使用します。

      http:/​/​www.cisco.com/​go/​mibs

      テクニカル サポート

      説明 Link

      シスコのサポート Web サイトでは、シスコの製品やテクノロジーに関するトラブルシューティングにお役立ていただけるように、マニュアルやツールをはじめとする豊富なオンライン リソースを提供しています。

      お使いの製品のセキュリティ情報や技術情報を入手するために、Cisco Notification Service(Field Notice からアクセス)、Cisco Technical Services Newsletter、Really Simple Syndication(RSS)フィードなどの各種サービスに加入できます。

      シスコのサポート Web サイトのツールにアクセスする際は、Cisco.com のユーザ ID およびパスワードが必要です。

      http:/​/​www.cisco.com/​support