IPv6 ACLについて
**IPv6アクセスリスト(ACL: Access Control List)**は、IPv6トラフィックを制御するために使用されるフィルタリング機能で、ネットワーク機器(ルーターやスイッチ)で設定することができます。IPv6アクセスリストは、IPv6アドレスに基づいてトラフィックを許可、拒否するために使用され、IPv4アクセスリストと同様の機能を提供しますが、IPv6固有の違いも存在します。
IPv4アクセスリストとの主な違い
- アドレスフォーマット:
- IPv4アクセスリストでは、32ビットのIPv4アドレスを使用しますが、IPv6アクセスリストでは、128ビットのIPv6アドレスを使用します。
- IPv6アクセスリストでは、プレフィックス長(例:
2001:db8::/64)を指定して、特定のアドレス範囲をフィルタリングできます。
- ICMPとICMPv6:
- IPv4アクセスリストではICMP(Internet Control Message Protocol)が使われますが、IPv6アクセスリストではICMPv6が使用されます。IPv6では、ICMPv6は特に重要で、ルーターの検出、アドレス自動設定、パケットのフラグメンテーションに使用されます。そのため、IPv6ネットワークではICMPv6のフィルタリングに注意が必要です。
- 名前付きACLのみ(番号付きACLなし):
- IPv6アクセスリストは、名前付きACLとしてのみ設定可能です。IPv4では、番号付きACL(例:
access-list 101 permit ip any any)と名前付きACLの両方がサポートされますが、IPv6では名前を指定してアクセスリストを作成します。
- IPv6アクセスリストは、名前付きACLとしてのみ設定可能です。IPv4では、番号付きACL(例:
- 暗黙的ルーツの違い:
- IPv4アクセスリストでは、リストの最後に暗黙的な拒否(
deny any any)が存在しますが、IPv6アクセスリストでは、リストの最後にICMPv6を許可する暗黙的な許可があります。また、IPv4と同じく暗黙的な拒否もあるので、IPv6ACLでは以下の3行が暗黙的な行として存在することを認識する必要があります。
- IPv4アクセスリストでは、リストの最後に暗黙的な拒否(
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 l {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 パケットを許可するか、拒否するかを指定します。 protocol tcp, 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)の通信を許可します。
Router(config)#ipv6 access-list ALLOW_HTTP
Router(config-ipv6-acl)#permit tcp any host 2001:db8::1 eq 80