# ipv6 access-list(seq entry)

モード
  ハードウェアIPv6アクセスリストモード
カテゴリー
  トラフィック制御 / アクセスリスト

## 構文

コマンド構文

`(config-ipv6-hw-acl)# [<1-65535>] ACTION ipv6 SRCIP6 DSTIP6 [vlan <1-4094>] [log]`

`(config-ipv6-hw-acl)# [<1-65535>] ACTION {tcp|udp} SRCIP6 [SRCPORT] DSTIP6 [DSTPORT] [vlan <1-4094>] [log]`

`(config-ipv6-hw-acl)# [<1-65535>] ACTION icmp SRCIP6 DSTIP6 [icmp-type ICMPTYPE] [vlan <1-4094>] [log]`

`(config-ipv6-hw-acl)# [<1-65535>] ACTION proto <1-255> SRCIP6 DSTIP6 [vlan <1-4094>] [log]`

`(config-ipv6-hw-acl)# no ACTION ipv6 SRCIP6 DSTIP6 [vlan <1-4094>]`

`(config-ipv6-hw-acl)# no ACTION {tcp|udp} SRCIP6 [SRCPORT] DSTIP6 [DSTPORT] [vlan <1-4094>]`

`(config-ipv6-hw-acl)# no ACTION icmp SRCIP6 DSTIP6 [icmp-type ICMPTYPE] [vlan <1-4094>]`

`(config-ipv6-hw-acl)# no ACTION proto <1-255> SRCIP6 DSTIP6 [vlan <1-4094>]`

## コマンド説明

対象ハードウェアIPv6アクセスリスト（シーケンス番号対応）にエントリーを新規追加または変更する。
no形式で実行した場合は指定したエントリーを削除する。
シーケンス番号対応のハードウェアIPv6アクセスリストは複数のエントリーから構成されるリストで、検索はシーケンス番号によって指定したエントリーの並び順に行われる。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われ、マッチした時点で検索は終了する。どのエントリーにもマッチしなかった場合はpermitとなる。

## パラメーター

`<1-65535>`
  シーケンス番号。対象アクセスリスト内におけるエントリーの位置を指定する。エントリーの新規追加時にシーケンス番号を省略した場合は、リストの最後尾にエントリーが追加され、既存の最後尾エントリーより大きい直近の4の倍数が新規エントリーの番号として自動採番される（最初にシーケンス番号なしで作成したエントリーの番号は4になる。また、最後尾エントリーの番号が99の状態でシーケンス番号を指定せずに新規エントリーを追加した場合は100になる）。なお、設定を保存して再起動した場合、各エントリーのシーケンス番号は保持されず、4, 8, 12のような4刻みの値に変更される
`ACTION`
  条件に合致した場合のアクション。以下から選択する
  `deny`
    パケットを破棄する
  `permit`
    パケットを許可（通常転送）する
  `copy-to-cpu`
    パケットを許可（通常転送）した上で、パケットのコピーをCPUにも転送する
  `send-to-cpu`
    パケットを破棄した上で、パケットのコピーをCPUにだけ転送する
  `copy-to-mirror [interface IFNAME]`
    パケットを許可（通常転送）した上で、パケットのコピーをミラーポートから出力する。あらかじめ、mirror interfaceコマンドでミラーポートを設定しておく必要がある。なお、本アクションを使用する場合、mirror interfaceコマンドではnoneを指定すること。また、ミラーポートを複数設定している場合は、interfaceオプションで出力ポートを指定する（未指定時はインターフェースインデックスが最も小さいミラーポートに出力する）
  `send-to-mirror [interface IFNAME]`
    パケットを破棄した上で、パケットのコピーをミラーポートにだけ出力する。あらかじめ、mirror interfaceコマンドでミラーポートを設定しておく必要がある。なお、本アクションを使用する場合、mirror interfaceコマンドではnoneを指定すること。また、ミラーポートを複数設定している場合は、interfaceオプションで出力ポートを指定する（未指定時はインターフェースインデックスが最も小さいミラーポートに出力する）
  `send-to-vlan-port vlan <1-4094> port IFNAME`
    指定したポート（および所属VLAN）に、設定したアクセスリストの条件に合致したトラフィックを転送する。なお、VLANタグ付きトラフィックを本アクションで転送する場合は、転送先ポートがタグ付きポートである必要がある。
  `deny-and-not-cpu`
    パケットを破棄する。本アクションは、MACベース認証ポート（AMFアプリケーションプロキシーのホワイトリストポートを含む）において特定の受信パケットがCPUに転送されないようにするためのもの
`ipv6`
  すべてのIPv6パケットを対象とする場合（上位プロトコルタイプを気にしない場合）に指定する
`tcp|udp`
  それぞれ、TCP、UDPパケットだけを対象とする場合に指定する。tcp、udpを指定した場合は、始点・終点ポート番号を指定することができる（どちらか一方でも、また指定しなくてもよい）
`icmp`
  ICMPv6パケットだけを対象とする場合に指定する。icmpを指定した場合は、ICMPv6メッセージタイプも指定することができる（指定しなくてもよい）
`proto <1-255>`
  特定の上位プロトコルタイプ（IPv6ヘッダーの次ヘッダーフィールドの値）を持つパケットだけを対象とする場合に指定する。IPv6プロトコルタイプは10進数で指定する
`SRCIP6`
  始点IPv6アドレス。次のいずれかの形式で指定する
  `X:X::X:X/M`
    IPv6アドレスとマスク長。この形式の場合、IPアドレスの先頭からマスク長で指定されたビット数だけが比較対象となる
  `X:X::X:X Y:Y::Y:Y`
    IPv6アドレスとワイルドカードマスク。Y:Y::Y:Yはワイルドカードマスク（リバースマスクまたはORマスクともいう）といい、対象アドレスとX:X::X:Xの比較時に無視したいビット（ワイルドカードとして扱いたいビット）を指定する。比較対象ビットを指定する通常のマスク（ANDマスク）の各ビットを反転させたものと考えればよい。たとえば、2001:db8:2:3::/64の範囲にマッチさせたい場合、先頭64ビットを比較対象にするということは、末尾64ビットを無視すればよいので、「::ffff:ffff:ffff:ffff」を指定する。「::」を指定した場合は対象アドレスとX:X::X:Xが完全一致したときだけマッチする（「X:X::X:X/128」や「host X:X::X:X」と同義）
  `host X:X::X:X`
    X:X::X:Xが単一ホストアドレスであることを示す指定。「X:X::X:X/128」などと同義
  `host-group NAME`
    IPv6ホストグループ名（acl-group ipv6 addressコマンド）。詳細は解説編の「ACLグループ」を参照
  `any`
    すべてのIPv6アドレスに合致させる場合に指定する。「::/0」などと同義
`SRCPORT`
  始点ポート番号。上位プロトコルタイプとしてtcpかudpを指定したときだけ有効。省略時はすべてのポートが対象。ポート番号は「比較演算子 数値」または「range 下限数値 上限数値」の形式で指定する。具体的には次の5つの指定方法がある
  `eq <0-65535>`
    ～と等しい（EQual to）。たとえば、「eq 80」はポート80とマッチする
  `lt <0-65535>`
    ～より小さい（Less Than）。たとえば、「lt 1024」は「ポート1024より小さい」の意味で、ポート0～1023にマッチする
  `gt <0-65535>`
    ～より大きい（Greater Than）。たとえば、「gt 32767」は「ポート32767より大きい」の意味で、ポート32768～65535にマッチする
  `ne <0-65535>`
    ～と等しくない（Not Equal to）。たとえば、「ne 22」はポート22以外とマッチする
  `range <0-65535> <0-65535>`
    任意の範囲を指定。たとえば、「range 0 80」はポート0～80にマッチする
  `port-group NAME`
    ポートグループ名（acl-group ip portコマンド）。詳細は解説編の「ACLグループ」を参照
`DSTIP6`
  終点IPv6アドレス。指定方法はSRCIP6と同じ。
`DSTPORT`
  終点ポート番号。上位プロトコルタイプとしてtcpかudpを指定した場合のみ有効。省略時はすべてのポートが対象。指定方法はSRCPORTと同じ。
`icmp-type ICMPTYPE := icmp-type <0-255>`
  ICMPv6メッセージタイプ。上位プロトコルタイプとしてicmpを指定したときだけ有効。省略時はすべてのメッセージタイプが対象になる
`vlan <1-4094>`
  入力VLAN（受信パケットの所属VLAN）のVLAN ID。タグの有無に関係なく全パケットに適用される。
`log`
  アクセスリストに一致するパケットをログに記録する。denyアクションのエントリーでのみ有効。また、別途access-list hardware-deny-logコマンドの設定が必要

## 使用例

2001:db8:2:3::1へのTelnet接続を禁止するハードウェアIPv6アクセスリストaclv6-00を作成する。

    awplus(config)# ipv6 access-list aclv6-00
    awplus(config-ipv6-hw-acl)# deny tcp any 2001:db8:2:3::1/128 eq 23

これはワイルドカードマスクを利用して次のように指定しても同じ。

    awplus(config)# ipv6 access-list aclv6-00
    awplus(config-ipv6-hw-acl)# deny tcp any 2001:db8:2:3::1 :: eq 23

また、hostキーワードを利用して次のように指定しても同じ。

    awplus(config)# ipv6 access-list aclv6-00
    awplus(config-ipv6-hw-acl)# deny tcp any host 2001:db8:2:3::1 eq 23

## 注意・補足事項

ハードウェアIPv6アクセスリストの全機能を使用するには、platform hwfilter-sizeコマンドの設定が「ipv4-full-ipv6」になっている必要がある。初期設定の「ipv4-limited-ipv6」でもハードウェアIPv6アクセスリストは使用できるが、「ipv4-limited-ipv6」では始点・終点IPv6アドレスの指定ができないため、限られた使い方しかできない。ハードウェアIPv6アクセスリストの全機能を使用する場合は、platform hwfilter-sizeコマンドの設定を「ipv4-full-ipv6」に変更し、設定を保存した上で、システムを再起動すること。
使用中のハードウェアIPv6アクセスリスト（シーケンス番号対応）に変更を加えた場合は、exitコマンドやendコマンドでハードウェアIPv6アクセスリストモードを抜けるまで変更内容が実際の動作に反映されない。ただし、commitコマンドを使用すればハードウェアIPv6アクセスリストモードを抜けることなく設定変更を動作に反映できる。
ハードウェアアクセスリストで予約済みリンクローカルアドレスのIPマルチキャストパケット（MACアドレス：0100.5e00.00xx、IPアドレス：224.0.0.x）および予約済みIPv6マルチキャストパケットを指定しても、ハードウェアパケットフィルターでは該当パケットをフィルタリングできない。これらのパケットをフィルタリングしたい場合は、ポリシーマップを使用すること。
vlanパラメーターは、マルチプルVLAN（プライベートVLAN）のアイソレートVLANとコミュニティーVLAN（private-vlan参照）にはマッチしない。
logオプションに関する注意事項

- プロトコルタイプ59（No Next Header）を持つIPv6パケットはログに記録されない（破棄のみ行われる）。
- logオプションではパケットフローごとにログを記録するが、同じポート番号を持つTCPとUDPのパケットは同じフローと認識される。
- ログに記録されるのはルーティングパケットのみ。スイッチングパケットはログに記録されない（破棄のみ行われる）。

## コマンドツリー

## 関連コマンド