◆ IPv6 ACLとは
IPv6 ACLとは、IPv6のトラフィックをフィルタリングすることができるACLのことです。IPv6の考え方は
IPv4とほとんど同じ考え方であり、IPv6パケットの「送信元IPアドレス」「宛先IPアドレス」「ネクスト
ヘッダ」「送信元ポート番号」「宛先ポート番号」をフィルタリング条件として定義することができます。
※ 下図の「ネクストヘッダ」は、IPv4の「プロトコル」フィールドに相当します。
◆ IPv6 ACL - 暗黙のdenyと暗黙のpermit
IPv4ではアドレス解決にARPを使用するのに対して、IPv6ではアドレス解決にICMPを使用します。そのため
IPv6 ACLでは、IPv6近隣探索をできるための「暗黙のpermit」が存在します。それが以下の2行となります。
・ permit icmp any any nd-ns
・ permit icmp any any nd-na
また、IPv4の考え方と同様に、全てのIPv6パケットを拒否する「暗黙のdeny」も存在します。
・ deny ipv6 any any
以上のことから、IPv6 ACLには「 暗黙のpermitと暗黙のdeny 」の計3行が以下の順番で存在することから、
IPv6 ACLを作成する際には、近隣探索メッセージのICMP NSとICMP NAの許可を存在させることを考慮する
必要があります。 例えば、明示的にdeny行を作成する必要がある場合、最終行などでICMP NSとICMP NAを
許可するためのpermitステートメントを作成する必要があることを認識しましょう。
◆ IPv6 ACLにデフォルトで存在する3行(暗黙のpermitと暗黙のdeny)
・ permit icmp any any nd-ns
・ permit icmp any any nd-na
・ deny ipv6 any any
◆ IPv6 ACL - Ciscoコンフィグ設定例
IPv6 ACLは、グローバルコンフィグレーションモードで「 ipv6 access-list コマンド 」で定義した後に、
インターフェースモードで「 ipv6 traffic-filter コマンド 」によって、インターフェースに適用させます。
設定例
R1のGi0/0に着信してくるIPv6ホスト「2001:1:1:10::11」からのSSH接続、telnet接続の通信を拒否して
IPv6ネットワーク「2001:1:1:10::/64」から、IPv6ホスト「2001:2:2:20::22」へのPINGを拒否します。
そして、その他の全てのIPv6トラフィックを通信許可します。IPv6 ACL名は「 TEST-V6ACL 」とします。
R1(config) # ipv6 access-list TEST-V6ACL
R1(config-ipv6-acl) # deny tcp host 2001:1:1:10::11 any eq 22
R1(config-ipv6-acl) # deny tcp host 2001:1:1:10::11 any eq 23
R1(config-ipv6-acl) # deny icmp 2001:1:1:10::/64 host 2001:2:2:20::22 echo-request
R1(config-ipv6-acl) # permit ipv6 any any
R1(config) # interface GigabitEthernet0/0
R1(config-if) # ipv6 traffic-filter TEST-V6ACL in
|
IPv6 ACLの設定完了後、設定したIPv6 ACLに合致しているかどうかは show ipv6 access-list コマンドにより
確認します。このコマンドで表示されるカウンタは、clear access-list countersコマンドでクリアできます。
インターフェースに適用したIPv6 ACLの適用方向を確認するにはshow ipv6 interfaceコマンドで確認します。
設定例にように、denyステートメントを定義する際は最終行に「permit ipv6 any any」を定義するかまたは
最小限の許可ACLとしたい場合、permit icmp any any nd-na と permit icmp any any nd-ns
を設定します。
|