# access-list hardware(seq entry)

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

## 構文

コマンド構文

`(config-ip-hw-acl)# [<1-65535>] ACTION ip SRCIP DSTIP [vlan <1-4094>] [log]`

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

`(config-ip-hw-acl)# [<1-65535>] ACTION icmp SRCIP DSTIP [icmp-type ICMPTYPE] [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION proto <1-255> SRCIP DSTIP [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION mac SRCMAC DSTMAC [vlan <1-4094> [inner-vlan <1-4094>]]`

`(config-ip-hw-acl)# [<1-65535>] ACTION ip SRCIP DSTIP mac SRCMAC DSTMAC [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION proto <1-255> SRCIP DSTIP mac SRCMAC DSTMAC [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION ip dhcpsnooping DSTIP [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION ip dhcpsnooping DSTIP mac dhcpsnooping DSTMAC [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION proto <1-255> dhcpsnooping DSTIP [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# [<1-65535>] ACTION proto <1-255> dhcpsnooping DSTIP mac dhcpsnooping DSTMAC [vlan <1-4094>] [log]`

`(config-ip-hw-acl)# no <1-65535>`

`(config-ip-hw-acl)# no ACTION ip SRCIP DSTIP [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION {tcp|udp} SRCIP [SRCPORT] DSTIP [DSTPORT]`

`(config-ip-hw-acl)# no ACTION icmp SRCIP DSTIP [icmp-type ICMPTYPE] [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION proto <1-255> SRCIP DSTIP [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION mac SRCMAC DSTMAC [vlan <1-4094> [inner-vlan <1-4094>]]`

`(config-ip-hw-acl)# no ACTION ip SRCIP DSTIP mac SRCMAC DSTMAC [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION proto <1-255> SRCIP DSTIP mac SRCMAC DSTMAC [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION ip dhcpsnooping DSTIP [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION ip dhcpsnooping DSTIP mac dhcpsnooping DSTMAC [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION proto <1-255> dhcpsnooping DSTIP [vlan <1-4094>]`

`(config-ip-hw-acl)# no ACTION proto <1-255> dhcpsnooping DSTIP mac dhcpsnooping DSTMAC [vlan <1-4094>]`

## コマンド説明

対象ハードウェアアクセスリスト（シーケンス番号対応）にエントリーを新規追加または変更する。
no形式で実行した場合は指定したエントリーを削除する。
シーケンス番号対応のハードウェアアクセスリストは複数のエントリーから構成されるリストで、検索はシーケンス番号によって指定したエントリーの並び順に行われる。検索時には、最初にマッチしたエントリーで処理（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`
    パケットを許可（通常転送）した上で、パケットのコピーをミラーポートから出力する。あらかじめ、mirror interfaceコマンドでミラーポートを設定しておく必要がある。なお、本アクションを使用する場合、mirror interfaceコマンドではnoneを指定すること
  `send-to-vlan-port vlan <1-4094> port IFNAME`
    指定したポート（および所属VLAN）に、設定したアクセスリストの条件に合致したトラフィックを転送する。なお、VLANタグ付きトラフィックを本アクションで転送する場合は、転送先ポートがタグ付きポートである必要がある。
`ip`
  すべてのIPパケットを対象とする場合（上位プロトコルタイプを気にしない場合）に指定する
`tcp|udp`
  それぞれ、TCP、UDPパケットだけを対象とする場合に指定する。tcp、udpを指定した場合は、始点・終点ポート番号を指定することができる（どちらか一方でも、また指定しなくてもよい）
`icmp`
  ICMPパケットを対象とする場合に指定する。
`proto <1-255>`
  特定の上位プロトコルタイプ（IPヘッダーのプロトコルタイプフィールドの値）を持つパケットだけを対象とする場合に指定する。IPプロトコルタイプは10進数で指定する
`mac`
  MACアドレスにもとづくフィルタリングを行う場合に指定する
`dhcpsnooping`
  DHCP Snoopingテーブル（バインディングデータベース）の有効なエントリーに含まれるIPアドレス、MACアドレスを対象とする場合に指定する
`SRCIP`
  始点IPアドレス。次のいずれかの形式で指定する
  `A.B.C.D/M`
    IPアドレスとマスク長。この形式の場合、IPアドレスの先頭からマスク長で指定されたビット数だけが比較対象となる
  `A.B.C.D W.X.Y.Z`
    IPアドレスとワイルドカードマスク。W.X.Y.Zはワイルドカードマスク（リバースマスクまたはORマスクともいう）といい、対象アドレスとA.B.C.Dの比較時に無視したいビット（ワイルドカードとして扱いたいビット）を指定する。比較対象ビットを指定する通常のマスク（ANDマスク）の各ビットを反転させたものと考えればよい。たとえば、192.168.10.0/24の範囲（192.168.10.0～192.168.10.255）にマッチさせたい場合、先頭24ビットを比較対象にするということは、末尾8ビットを無視すればよいので、「0.0.0.255」を指定する。「0.0.0.0」を指定した場合は対象アドレスとA.B.C.Dが完全一致したときだけマッチする（「A.B.C.D/32」や「host A.B.C.D」と同義）
  `host A.B.C.D`
    A.B.C.Dが単一ホストアドレスであることを示す指定。「A.B.C.D/32」や「A.B.C.D 0.0.0.0」と同義
  `host-group NAME`
    IPホストグループ名（acl-group ip addressコマンド）。詳細は解説編の「ACLグループ」を参照
  `any`
    すべてのIPアドレスに合致させる場合に指定する。「0.0.0.0/0」や「0.0.0.0 255.255.255.255」と同義
`SRCPORT`
  始点ポート番号。上位プロトコルタイプとしてtcpかudpを指定したときだけ有効。省略時はすべてのポートが対象。ポート番号は「比較演算子 数値」または「range 下限数値 上限数値」の形式で指定する。具体的には次の指定方法がある
  `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グループ」を参照
`DSTIP`
  終点IPアドレス。指定方法はSRCIPと同じ。
`DSTPORT`
  終点ポート番号。上位プロトコルタイプとしてtcpかudpを指定した場合のみ有効。省略時はすべてのポートが対象。指定方法はSRCPORTと同じ。
`icmp-type ICMPTYPE := icmp-type <0-255>`
  ICMPメッセージタイプ。
`SRCMAC`
  送信元MACアドレス。次のいずれかの形式で指定する
  `HHHH.HHHH.HHHH XXXX.XXXX.XXXX`
    MACアドレスとワイルドカードマスク。それぞれ16進数で2オクテット（4桁）ごとにピリオドで区切って指定する（例：0000.cd24.0367）。XXXX.XXXX.XXXXはワイルドカードマスク（リバースマスクまたはORマスクともいう）といい、対象アドレスとHHHH.HHHH.HHHHの比較時に無視したい部分（ワイルドカードとして扱いたい部分）を「0」もしくは「F」のどちらかを用いて4ビット(1桁)単位で指定する。対象アドレスと HHHH.HHHH.HHHHを完全一致で比較したいときは「0000.0000.0000」を指定する。対象アドレスと HHHH.HHHH.HHHHの最下位4ビット(1桁)を比較しない場合は 「0000.0000.000F」を指定する
  `any`
    すべてのMACアドレスに合致させる場合に指定する
`DSTMAC`
  宛先MACアドレス。指定方法はSRCMACと同じ
`vlan <1-4094>`
  受信パケットのVLAN ID。タグ付きパケットの場合はVLANタグヘッダーのVLAN ID。タグなしパケットの場合は同パケットが所属するVLANのVLAN ID
`inner-vlan <1-4094>`
  ダブルタグパケットにおける内側VLANタグヘッダーのVLAN ID。ダブルタグパケットにだけ適用される。macを指定したときだけ使用可能
`log`
  アクセスリストに一致するパケットをログに記録する。denyアクションのエントリーでのみ有効。また、別途access-list hardware-deny-logコマンドの設定が必要

## 使用例

192.168.1.0/24、192.168.2.0/24からのIPパケットを拒否するハードウェアアクセスリストacl1を作成する。

    awplus(config)# access-list hardware acl1
    awplus(config-ip-hw-acl)# deny ip 192.168.1.0/24 any
    awplus(config-ip-hw-acl)# deny ip 192.168.2.0/24 any

## 注意・補足事項

使用中のハードウェアアクセスリスト（シーケンス番号対応）に変更を加えた場合は、exitコマンドやendコマンドでハードウェアアクセスリストモードを抜けるまで変更内容が実際の動作に反映されない。ただし、commitコマンドを使用すればハードウェアアクセスリストモードを抜けることなく設定変更を動作に反映できる。
UDLDパケットを破棄する設定は未サポート。
IGMPパケットはフィルタリングできない。
VLANインターフェースには、dhcpsnoopingパラメーター付きのエントリーを含むハードウェアアクセスリスト（シーケンス番号対応）を設定できない。
logオプションに関する注意事項

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

## コマンドツリー

## 関連コマンド