IPv6 ACL

IPv6 ACLについて

**IPv6アクセスリスト(ACL: Access Control List)**は、IPv6トラフィックを制御するために使用されるフィルタリング機能で、ネットワーク機器(ルーターやスイッチ)で設定することができます。IPv6アクセスリストは、IPv6アドレスに基づいてトラフィックを許可、拒否するために使用され、IPv4アクセスリストと同様の機能を提供しますが、IPv6固有の違いも存在します。

IPv4アクセスリストとの主な違い

  1. アドレスフォーマット:
    • IPv4アクセスリストでは、32ビットのIPv4アドレスを使用しますが、IPv6アクセスリストでは、128ビットのIPv6アドレスを使用します。
    • IPv6アクセスリストでは、プレフィックス長(例:2001:db8::/64)を指定して、特定のアドレス範囲をフィルタリングできます。
  2. ICMPとICMPv6:
    • IPv4アクセスリストではICMP(Internet Control Message Protocol)が使われますが、IPv6アクセスリストではICMPv6が使用されます。IPv6では、ICMPv6は特に重要で、ルーターの検出、アドレス自動設定、パケットのフラグメンテーションに使用されます。そのため、IPv6ネットワークではICMPv6のフィルタリングに注意が必要です。
  3. 名前付きACLのみ(番号付きACLなし):
    • IPv6アクセスリストは、名前付きACLとしてのみ設定可能です。IPv4では、番号付きACL(例:access-list 101 permit ip any any)と名前付きACLの両方がサポートされますが、IPv6では名前を指定してアクセスリストを作成します。
  4. 暗黙的ルーツの違い:
    • IPv4アクセスリストでは、リストの最後に暗黙的な拒否(deny any any)が存在しますが、IPv6アクセスリストでは、リストの最後にICMPv6を許可する暗黙的な許可があります。また、IPv4と同じく暗黙的な拒否もあるので、IPv6ACLでは以下の3行が暗黙的な行として存在することを認識する必要があります。

permit icmp any any nd-na
permit icmp any any nd-ns
deny ipv6 any any

IPv6ACLの設定

基本構文

「ipv6 access-list」コマンドを使用して、名前付きIPv6ACLを作成します。

Router(config)#ipv6 access-list acl-name
Router(config-ipv6-acl)#{ 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 ]] [log ] [log-input ]

コマンド内容
deny | permitパケットを許可するか、拒否するかを指定します。
protocoltcp, udp, icmp, ipv6 などのプロトコルを指定します。
sourceソースIPv6アドレスまたはキーワード any(任意の送信元)を指定します。サブネットを指定する場合は、プレフィックス長(例:2001:db8::/64)を使用します。
destination宛先IPv6アドレスまたはキーワード any(任意の宛先)を指定します。
operator port-number演算子 と ポートを入力します。使用可能な演算子には、 eq (等しい)、 gt (より大きい)、 lt (より小さい)、 neq (等しくない)、 range (包含範囲) などがあります。
logマッチするトラフィックのログを作成します。ログに加えて、トラフィックがどのインターフェースを通過したかを記録するのはlog-inputを指定します。

ipv6 traffic-filter 」コマンドを使用して、作成したACLをインターフェイスに適用します。
Router(config)# interface interface-id
Router(config-if)# ipv6 traffic-filter access-list-name {in out }

設定例

任意の送信元(any)から、IPv6アドレス 2001:db8::1 に対するTCPポート80(HTTP)の通信を許可します。