# トラフィック制御 / アクセスリスト

アクセスリストは、MACアドレス、IPアドレスなどのアドレス情報に基づいてパケットやトラフィック、アプリケーションセッション、経路エントリーなどを分類・識別し、分類後の処理を指定したり、設定対象IPアドレスを範囲指定したりするための汎用的な仕組みです。
本解説編では、アクセスリストの種類と用途について述べた後、アクセスリストの基本的な作成方法について解説します。
なお、アクセスリスト自体は基本的に分類・識別条件を定義するだけなので、単体では意味をなさず、他の機能と組み合わせて初めて効果を発揮しますが、本解説編では作成したアクセスリストの使用方法については軽く触れるだけにします。各機能におけるアクセスリストの具体的な使用方法については、該当機能の解説編やコマンドリファレンス編をご参照ください。
Note

また、本解説編では、経路情報のフィルタリングを目的としたアクセスリストの作成方法については説明しません。アクセスリストを作成するときの基本的な考え方はどの機能においてもほぼ共通ですが、経路情報をフィルタリングするときだけは若干異なる考え方が必要になるためです。経路フィルタリングにおけるアクセスリストの作成方法と使用方法については、「IP」の「経路制御（フィルタリング）」をご覧ください。

## アクセスリストの種類と用途

アクセスリストには、大きく分けて「標準IPアクセスリスト」、「拡張IPアクセスリスト」、「標準IPv6アクセスリスト」、「ハードウェアアクセスリスト」の4種類があります。
次に示すように、これらはそれぞれ用途が分かれています。したがって、用途が決まれば使用すべきアクセスリストの種類も自動的に決まります。

- 標準IPアクセスリスト
  - SNMPコミュニティーへのアクセス制御
  - IPv4によるリモートアクセス（Telnet/SSH）の制御
  - (RIP) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (OSPF) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (BGP) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (PIM-SM) 隣接関係の制御（隣接ルーターの制限）
  - (PIM-SM) 各種機能の設定対象となるマルチキャストグループの指定
  - (PIM-DM) 隣接関係の制御（隣接ルーターの制限）
  - (IGMP) 参加可能なマルチキャストグループの制限
  - (IGMP) 各種機能の設定対象となるマルチキャストグループの指定
- 拡張IPアクセスリスト
  - (PIM-SM) ランデブーポイント（RP）におけるRegisterメッセージのフィルタリング
  - (MSDP) MSDPピアにおけるSA（Source-Active）メッセージのフィルタリング
- 標準IPv6アクセスリスト
  - IPv6によるリモートアクセス（Telnet/SSH）の制御
  - (RIPng) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (OSPFv3) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (BGP) 経路情報のフィルタリング（経路エントリーの許可・破棄や属性変更）
  - (PIM-SMv6) ランデブーポイント（RP）におけるRegisterメッセージのフィルタリング
  - (PIM-SMv6) 隣接関係の制御（隣接ルーターの制限）
  - (PIM-SMv6) 各種機能の設定対象となるマルチキャストグループの指定
  - (MLD/MLD Snooping) 参加可能なマルチキャストグループの制限
  - (MLD/MLD Snooping) 各種機能の設定対象となるマルチキャストグループの指定
- ハードウェアアクセスリスト
  - (ハードウェアパケットフィルター) 受信スイッチポートにおけるパケットフィルタリング
  - (QoS) 受信スイッチポートにおけるトラフィック分類

Note

標準IPアクセスリスト、拡張IPアクセスリスト、標準IPv6アクセスリストは、一般的なパケットフィルタリング（本製品を通過するパケット全般を対象としたフィルタリング）には使用されませんのでご注意ください。パケットフィルタリングには、ハードウェアアクセスリストを使用します。

Note

SNMPアクセス制御を使用するとき、アクセスリストのDenyアクションが動作しません。

Note

AMFとアクセスリストを併用する場合、AMFマネージメントサブネット（atmf management subnet）内の通信を許可するようにしてください。

なお実際には、標準IPv6アクセスリストを除く3種類は、識別子（ID）として番号、文字列のどちらを使うか、あるいは、分類条件としてEthernetヘッダー、IPヘッダー、IPv6ヘッダー以降のどれを使うかなどの違いによって、さらにそれぞれ小分類することができます。したがって、厳密にはアクセスリストの種類は次の8つとなります。

表 1：アクセスリストの種類と識別子および設定コマンド
アクセスリストの種類 | 識別子 | 設定コマンド
標準IPアクセスリスト
番号付き標準IPアクセスリスト | 1～99、1300～1999 | access-list(standard)コマンド
名前付き標準IPアクセスリスト | 名前（文字列） | access-list standardコマンド
拡張IPアクセスリスト
番号付き拡張IPアクセスリスト | 100～199、2000～2699 | access-list(extended)コマンド
名前付き拡張IPアクセスリスト | 名前（文字列） | access-list extendedコマンド
標準IPv6アクセスリスト
名前付き標準IPv6アクセスリスト | 名前（文字列） | ipv6 access-list standardコマンド
ハードウェアアクセスリスト
ハードウェアIPアクセスリスト | 3000～3699 | access-list(hardware ip)コマンド
ハードウェアMACアクセスリスト | 4000～4699 | access-list(hardware mac)コマンド
ハードウェアIPv6アクセスリスト | 名前（文字列） | ipv6 access-list(list)コマンド

### コマンド形式（シーケンス番号対応）

アクセスリストのコマンドの形式には2種類あります。

- 逐次指定
  以下のように、設定対象のリストと個々のルールを毎回指定します。

      access-list 1 deny 192.168.10.0 0.0.0.255
      access-list 1 permit any

- サブモード指定（シーケンス番号対応）
  最初にリスト指定を行いサブモードに入ったあと、個々のルールを指定します。また、ルール指定時にシーケンス番号を指定することで、リスト内の位置を指定できます。

      access-list 1
       10 deny 192.168.10.0 0.0.0.255
       20 permit any

  なお、ハードウェアアクセスリストでのサブモード指定は、LISTNAMEで作成した時のみ可能です。

アクセスリストの種類ごとに、以下のように、両方の形式のためのコマンドが用意されています。
Note

ハードウェアIPv6アクセスリストはシーケンス番号対応版しか存在しません。

表 2：コマンド形式（シーケンス番号対応）
アクセスリストの種類 | 逐次指定 | サブモード指定（シーケンス番号対応）
標準IPアクセスリスト
番号付き標準IPアクセスリスト | access-list(standard)コマンド | access-list(standard)(list)コマンド、access-list(standard)(seq entry)コマンド
名前付き標準IPアクセスリスト | access-list standardコマンド | access-list standard(list)コマンド、access-list standard(seq entry)コマンド
拡張IPアクセスリスト
番号付き拡張IPアクセスリスト | access-list(extended)コマンド | access-list(extended)(list)コマンド、access-list(extended)(seq entry)コマンド
名前付き拡張IPアクセスリスト | access-list extendedコマンド | access-list extended(list)コマンド、access-list extended(seq entry)コマンド
標準IPv6アクセスリスト
名前付き標準IPv6アクセスリスト | ipv6 access-list standardコマンド | ipv6 access-list standard(list)コマンド、ipv6 access-list standard(seq entry)コマンド
ハードウェアアクセスリスト
ハードウェアIPアクセスリスト | access-list(hardware ip)コマンド | access-list hardware(list)コマンド、access-list hardware(seq entry)コマンド
ハードウェアMACアクセスリスト | access-list(hardware mac)コマンド | access-list hardware(list)コマンド、access-list hardware(seq entry)コマンド
ハードウェアIPv6アクセスリスト | なし | ipv6 access-list(list)コマンド、ipv6 access-list(seq entry)コマンド

以下の説明では、逐次指定のコマンド形式を使用します。

## アクセスリストの作成

以下では、アクセスリストの種類ごとに、その概要と作成方法について説明します。
Note

経路フィルタリングを目的としたアクセスリストの作成方法についてはここでは触れません。「IP」の「経路制御（フィルタリング）」をご覧ください。
（「IP」の章ですが、共通のコマンドが多いため同章ではIPv6の経路フィルタリングについても触れています）

### 標準IPアクセスリスト

標準IPアクセスリストは、IPアドレスを1つだけ指定できるアクセスリストです。
おもに、始点IPアドレスに基づいて、本装置上のサービス（SNMPなど）に対するアクセスを制御する場合に使用します。また、マルチキャスト関連機能において、設定対象のグループアドレスを範囲指定する場合にも使用します。
Note

標準IPアクセスリストは、一般的なパケットフィルタリング（本製品を通過するパケット全般を対象としたフィルタリング）には使用されませんのでご注意ください。パケットフィルタリングには、ハードウェアアクセスリストを使用します。

標準IPアクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われ、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
標準IPアクセスリストには、各リストを番号で識別するタイプと名前で識別するタイプがあり、それぞれ以下のコマンドで設定を行います。

- 番号で識別するタイプ：access-list(standard)コマンド
- 名前で識別するタイプ：access-list standardコマンド

両者は分類条件の指定方法が若干異なるだけで、アクセスリストを使用する各機能においてはどちらもほぼ同じように使用できます。ただし、機能によってはどちらか一方しか使えないものもありますので、詳細は各機能の解説編やコマンドリファレンス編で確認してください。
以下では、標準IPアクセスリストの作成方法について解説します。
標準IPアクセスリストを使って経路エントリーの分類・識別や制御を行う方法については、「IP」の「経路制御（フィルタリング）」をご覧ください。

#### 番号付き標準IPアクセスリスト

番号で識別するタイプの標準IPアクセスリストを作成するには、access-list(standard)コマンドを使います。標準IPアクセスリストには、1～99、および、1300～1999の範囲の番号を使います。
番号付き標準IPアクセスリストでは、通常始点IPアドレスに対してのみマッチングを行います。このとき、ワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

番号付き標準IPアクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 192.168.10.2と192.168.20.2にだけアクセスを許可する。

      awplus(config)# access-list 1 permit host 192.168.10.2
      awplus(config)# access-list 1 permit host 192.168.20.2

- 192.168.30.0/24からのアクセスを拒否し、その他は許可する。

      awplus(config)# access-list 2 deny 192.168.30.0 0.0.0.255
      awplus(config)# access-list 2 permit any

#### 名前付き標準IPアクセスリスト

名前で識別するタイプの標準IPアクセスリストを作成するには、access-list standardコマンドを使います。
名前付き標準IPアクセスリストでは、通常始点IPアドレスに対してのみマッチングを行います。このとき、マスク長（ANDマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

名前付き標準IPアクセスリストにはexact-matchというオプションがありますが、これは経路エントリーを対象とするときだけ意味を持つオプションなので、ここでは触れません。

Note

名前付き標準IPアクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- 192.168.10.2と192.168.20.2にだけアクセスを許可する。

      awplus(config)# access-list standard n1 permit 192.168.10.2/32
      awplus(config)# access-list standard n1 permit 192.168.20.2/32

- 192.168.30.0/24からのアクセスを拒否し、その他は許可する。

      awplus(config)# access-list standard n2 deny 192.168.30.0/24
      awplus(config)# access-list standard n2 permit any

### 拡張IPアクセスリスト

拡張IPアクセスリストは、条件となるIPアドレスを2つ指定できるアクセスリストです。
始点IPアドレスと終点IPアドレスに基づくアクセス制御やトラフィック分類が本来の用途ですが、本製品では、PIM-SMのランデブーポイントにおけるRegisterメッセージのフィルタリングと、MSDPにおけるSA（Source-Active）メッセージのフィルタリングにだけ拡張IPアクセスリストを使用します。
Note

拡張IPアクセスリストは、一般的なパケットフィルタリング（本製品を通過するパケット全般を対象としたフィルタリング）には使用されませんのでご注意ください。パケットフィルタリングには、ハードウェアアクセスリストを使用します。

拡張IPアクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われ、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
拡張IPアクセスリストには、各リストを番号で識別するタイプと名前で識別するタイプがあり、それぞれ以下のコマンドで設定を行います。

- 番号で識別するタイプ：access-list(extended)コマンド
- 名前で識別するタイプ：access-list extendedコマンド

Note

名前付き拡張IPアクセスリスト（access-list extendedコマンド）では、分類条件としてプロトコルやポート番号、ICMPメッセージタイプなどを指定することもできますが、現状これらは使用しません。

以下では、拡張IPアクセスリストの作成方法について解説します。
なお、拡張IPアクセスリストを使って経路エントリーの分類・識別や制御を行うことはできません。

#### 番号付き拡張IPアクセスリスト

番号で識別するタイプの拡張IPアクセスリストを作成するには、access-list(extended)コマンドを使います。拡張IPアクセスリストには、100～199、および、2000～2699の範囲の番号を使います。
番号付き拡張IPアクセスリストでは、通常始点IPアドレスと終点IPアドレスに対してマッチングを行います。このとき、ワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

番号付き拡張IPアクセスリストの末尾には「deny ip any any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- PIM-SMのランデブーポイント（RP）において、送信者172.16.10.100からのマルチキャストパケットを含むRegisterメッセージを拒否するための番号付き拡張IPアクセスリストを作成する。

      awplus(config)# access-list 100 deny ip host 172.16.10.100 any
      awplus(config)# access-list 100 permit ip any any

#### 名前付き拡張IPアクセスリスト

名前で識別するタイプの拡張IPアクセスリストを作成するには、access-list extendedコマンドを使います。
名前付き拡張IPアクセスリストでは、通常始点IPアドレスと終点IPアドレスに対してマッチングを行います。このとき、マスク長（ANDマスクともいう）を使うことで、柔軟なアドレス指定が可能です。
Note

名前付き拡張IPアクセスリスト（access-list extendedコマンド）では、分類条件としてプロトコルやポート番号、ICMPメッセージタイプなどを指定することもできますが、現状これらは使用しません。

Note

名前付き拡張IPアクセスリストの末尾には「deny any any any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- PIM-SMのランデブーポイント（RP）において、送信者172.16.10.5からのマルチキャストパケットを含むRegisterメッセージだけを許可するための名前付き拡張IPアクセスリスト「only105」を作成する。

      awplus(config)# access-list extended only105 permit ip 172.16.10.5/32 any

### 標準IPv6アクセスリスト

標準IPv6アクセスリストは、IPv6アドレスを1つだけ指定できるアクセスリストです。
標準IPアクセスリストのIPv6版と考えればよいでしょう。
Note

標準IPv6アクセスリストは、一般的なパケットフィルタリング（本製品を通過するパケット全般を対象としたフィルタリング）には使用されませんのでご注意ください。パケットフィルタリングには、ハードウェアアクセスリストを使用します。

標準IPv6アクセスリストは複数のエントリーから構成されるリストで、検索はエントリーの追加順に行われます。検索時には、最初にマッチしたエントリーで処理（permitかdeny）が行われ、マッチした時点で検索は終了します。どのエントリーにもマッチしなかった場合はdenyとなります。
標準IPv6アクセスリストは、標準IPアクセスリストと異なり、各リストを名前で識別するタイプしかありません。設定はipv6 access-list standardコマンドで行います。
以下では、標準IPv6アクセスリストの作成方法について解説します。
標準IPv6アクセスリストを使って経路エントリーの分類・識別や制御を行う方法については、「IP」の「経路制御（フィルタリング）」をご覧ください（「IP」の章ですが、共通のコマンドが多いため同章ではIPv6の経路フィルタリングについても触れています）。

#### 名前付き標準IPv6アクセスリスト

名前で識別するタイプの標準IPv6アクセスリストを作成するには、ipv6 access-list standardコマンドを使います。
名前付き標準IPv6アクセスリストでは、通常始点IPv6アドレスに対してのみマッチングを行います。このとき、マスク長（ANDマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

名前付き標準IPv6アクセスリストにはexact-matchというオプションがありますが、これは経路エントリーを対象とするときだけ意味を持つオプションなので、ここでは触れません。

Note

名前付き標準IPv6アクセスリストの末尾には「deny any」、すなわち、すべてをdenyする暗黙のエントリーが存在していることにご注意ください。

- マルチキャストグループアドレス「ff1e::d017」を拒否し、その他は許可する。

      awplus(config)# ipv6 access-list standard gb deny ff1e::d017/128
      awplus(config)# ipv6 access-list standard gb permit any

- マルチキャストグループアドレス「ff1e::bf:109f」と「ff1e::bf:110e」だけを許可する。

      awplus(config)# ipv6 access-list standard gj permit ff1e::bf:109f/128
      awplus(config)# ipv6 access-list standard gj permit ff1e::bf:110e/128

### ハードウェアアクセスリスト

ハードウェアアクセスリストは、本製品のスイッチングチップ（ASIC）でパケットフィルタリングやトラフィック分類を行うためのアクセスリストです。
ハードウェアアクセスリストでは、パケットヘッダー内の各種フィールドを検査してパケットを分類し、分類したパケットに対しては、許可、破棄だけでなく、パケットのコピーをミラーポートから出力するなどの各種処理を行うことができます。
ハードウェアアクセスリストは、これまで説明してきた他のアクセスリストとは違って、エントリーを1つしか持てません。すなわち、ハードウェアアクセスリストは「リスト」という名を持ってはいますが、実際にはリストではなく単一のエントリーということになります。したがって、ハードウェアアクセスリストには、他のアクセスリストにある「暗黙のdenyエントリー」は存在しません。
ハードウェアアクセスリストを用いてトラフィックの制御を行うときは、複数のハードウェアアクセスリスト（つまりエントリー）をスイッチポート（インターフェース・ハードウェアパケットフィルター）やスイッチ全体（グローバル・ハードウェアパケットフィルター）、あるいは、ポリシーマップ（QoSポリシー）に順序立てて関連付けることで、実際のリストを構成します。
ハードウェアアクセスリストには、IPヘッダー、IPv6ヘッダー以降をマッチング対象にするものと、Ethernetヘッダーだけをマッチング対象にするものがあり、それぞれ以下のコマンドで設定を行います。

- IPヘッダー以降を見るもの: access-list(hardware ip)コマンド
- IPv6ヘッダー以降を見るもの: ipv6 access-list(list)コマンド、ipv6 access-list(seq entry)コマンド
- Ethernetヘッダーだけを見るもの: access-list(hardware mac)コマンド

これらは使用できる分類条件が異なるだけで、トラフィックを制御する各機能においてはどちらもほぼ同じように、混在して使用できます。
以下では、ハードウェアアクセスリストを用いてトラフィックを分類する方法について解説します。
なお、ハードウェアアクセスリストを使って経路エントリーの分類・識別や制御を行うことはできません。

#### ハードウェアIPアクセスリスト

ハードウェアIPアクセスリストを作成するには、access-list(hardware ip)コマンドを使います。
ハードウェアIPアクセスリストでは、通常始点IPアドレスと終点IPアドレスに対してマッチングを行います。このとき、マスク長（ANDマスクともいう）やワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。また、TCP/UDPパケットに対しては終点・始点のポート番号を、ICMPパケットに対してはメッセージタイプを指定することもできます。次にいくつか例を示します。
Note

ハードウェアIPアクセスリストは、実際にはリストでなく単一エントリーにすぎないため、他のアクセスリストにある暗黙のdenyエントリーは存在しません。

- 192.168.10.100から192.168.10.1へのIPパケットを拒否する。

      awplus(config)# access-list 3000 deny ip 192.168.10.100/32 192.168.10.1/32

- 192.168.10.1のTCP80番ポートへのアクセスを拒否する。

      awplus(config)# access-list 3001 deny tcp any 192.168.10.1/32 eq 80

- 192.168.20.0/24から192.168.10.1へのPingを拒否する。

      awplus(config)# access-list 3002 deny icmp 192.168.20.0/24 192.168.10.1/32 icmp-type 8

#### ハードウェアIPv6アクセスリスト

ハードウェアIPv6アクセスリストを作成するには、ipv6 access-list(list)コマンドとipv6 access-list(seq entry)コマンドを使います。
Note

ハードウェアIPv6アクセスリストはシーケンス番号対応版しか存在しません。

ハードウェアIPv6アクセスリストでは、通常始点IPv6アドレスと終点IPv6アドレスに対してマッチングを行います。このとき、マスク長（ANDマスクともいう）やワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。また、TCP/UDPパケットに対しては終点・始点のポート番号を、ICMPv6パケットに対してはメッセージタイプを指定することもできます。次にいくつか例を示します。
Note

ハードウェアIPv6アクセスリストは複数のエントリーから構成されるリストですが、ハードウェアIPアクセスリスト、ハードウェアMACアクセスリストと同様に、暗黙のdenyエントリーは存在しません。そのため、どのエントリーともマッチしなかったパケットはpermitされます。

- 2001:db8:10:10::100から2001:db8:10:10::1へのIPv6パケットを拒否する。

      awplus(config)# ipv6 access-list deny100to1
      awplus(config-ipv6-hw-acl)# deny ipv6 2001:db8:10:10::100/128 2001:db8:10:10::1/128

- 2001:db8:10:10::1のTCP80番ポートへのアクセスを拒否する。

      awplus(config)# ipv6 access-list deny1tcp80
      awplus(config-ipv6-hw-acl)# deny tcp any 2001:db8:10:10::1/128 eq 80

- 2001:db8:10:20::/64から2001:db8:10:10::1へのPingを拒否する。

      awplus(config)# ipv6 access-list deny1ping
      awplus(config-ipv6-hw-acl)# deny icmp 2001:db8:10:20::/64 2001:db8:10:10::1/128 icmp-type 128

#### ハードウェアMACアクセスリスト

ハードウェアMACアクセスリストを作成するには、access-list(hardware mac)コマンドを使います。
ハードウェアMACアクセスリストでは、送信元MACアドレスと宛先MACアドレスに対してマッチングを行います。このとき、ワイルドカードマスク（リバースマスクまたはORマスクともいう）を使うことで、柔軟なアドレス指定が可能です。次にいくつか例を示します。
Note

ハードウェアMACアクセスリストは、実際にはリストでなく単一エントリーにすぎないため、他のアクセスリストにある暗黙のdenyエントリーは存在しません。

- MACアドレス00-0a-79-34-0b-33からのパケットを拒否する。

      awplus(config)# access-list 4000 deny 000a.7934.0b33 0000.0000.0000 any

- MACアドレス00-11-22-33-44-55から00-0a-79-34-0b-33へのパケットを拒否する。

      awplus(config)# access-list 4001 deny 0011.2233.4455 0000.0000.0000 000a.7934.0b33 0000.0000.0000

#### DENYログ

DENYログはハードウェアアクセスリスト（ハードウェアIPアクセスリスト、ハードウェアIPv6アクセスリスト）で破棄されたパケットをログに記録する機能です。
DENYログには以下の制限があります。

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

Note

DENYログ機能を使用する場合はcopy-to-cpuアクションとsend-to-cpuアクションを使用しないでください。DENYログ使用時、これらのアクションは正しく動作しません。

Note

logオプションを指定したルールによるパケットの破棄はすべてCPUで処理されます。破棄対象のトラフィック量によっては高いCPU負荷が発生する可能性がありますので、設定を追加する際はCPU負荷に注意しながら実施し、設定後にCPU負荷の高騰が見られた場合は当該破棄ルールからlogオプションを外して利用を停止してください。

DENYログ機能を使うための基本的な設定を以下に示します。

1. DENYログ機能を有効にします。

       awplus(config)# access-list hardware-deny-log

2. DENYエントリーの登録時にlogオプションを指定します。
   これにより該当エントリーにマッチして破棄されたパケットがログに記録されるようになります。

       awplus(config)# access-list 3000 deny tcp 192.168.100.0/24 any eq 22 log

DENYログはaccess-list hardware-deny-logコマンドの指定により、informationalレベルかwarningsレベルで出力されます。
informationalレベルに設定している場合は、初期設定ではbufferedログに記録されないためログレベルの変更が必要になります。
ログは次のような形式で記録されます。

    2023 Apr 25 21:59:25 local6.warning awplus ulogd[898]: HW-DENY> IN=vlan100 OUT= MAC=e0:1a:ea:50:51:fc:00:00:11:11:22:22:08:00 SRC=192.168.1.100 DST=192.170.1.1 LEN=46 TOS=00 PREC=0x00 TTL=64 ID=0 PROTO=UDP SPT=63 DPT=63 LEN=26 MARK=0x20138900

#### ACLグループ

ハードウェアアクセスリスト（シーケンス番号対応）とハードウェアIPv6アクセスリスト（シーケンス番号対応）では、ACLグループという仕組みを使うことで、頻繁に使用するIPアドレスやTCP/UDPポート番号の指定をグループ化して再利用可能とし、設定全体の見通しをよくすることができます。
たとえば、次のアクセスリスト「sample1」では、始点IPアドレス3つ、終点TCPポート5つの組み合わせをすべて網羅するために15個のエントリーを使用しています。

    access-list hardware sample1
     deny tcp 10.1.1.1/32 any eq 10001
     deny tcp 10.1.1.1/32 any eq 20001
     deny tcp 10.1.1.1/32 any eq 30001
     deny tcp 10.1.1.1/32 any eq 40001
     deny tcp 10.1.1.1/32 any eq 50001
     deny tcp 10.2.2.2/32 any eq 10001
     deny tcp 10.2.2.2/32 any eq 20001
     deny tcp 10.2.2.2/32 any eq 30001
     deny tcp 10.2.2.2/32 any eq 40001
     deny tcp 10.2.2.2/32 any eq 50001
     deny tcp 10.3.3.3/32 any eq 10001
     deny tcp 10.3.3.3/32 any eq 20001
     deny tcp 10.3.3.3/32 any eq 30001
     deny tcp 10.3.3.3/32 any eq 40001
     deny tcp 10.3.3.3/32 any eq 50001

一方、ACLグループを使用する場合は、あらかじめIPアドレスやTCP/UDPポート番号の指定だけをホストグループ、ポートグループという形で定義しておき、アクセスリストのエントリー作成時にはアドレスやポート番号の代わりにホストグループ名やポートグループ名を指定します。
前述のアクセスリスト「sample1」をACLグループを利用して書き換えると次の「sample2」のようになります。

    acl-group ip address HOST_GROUP
     ip 10.1.1.1/32
     ip 10.2.2.2/32
     ip 10.3.3.3/32
    acl-group ip port PORT_GROUP
     eq 10001
     eq 20001
     eq 30001
     eq 40001
     eq 50001
    access-list hardware sample2
     deny tcp host-group HOST_GROUP any port-group PORT_GROUP

事前にIPアドレス（IPホストグループHOST_GROUP）とポート番号（ポートグループPORT_GROUP）を定義する必要はありますが、アクセスリスト本体（エントリー）の記述はわずか一行で済んでいます。
また、アクセスリストにホストを追加したり、対象ポートを追加・変更する場合にもACLグループは威力を発揮します。
たとえば、前記「sample1」「sample2」に拒否対象ホストとして10.4.4.4/32を追加する場合、ACLグループを使わないsample1では、次のように5つのエントリーを追加する必要があります。

    awplus(config)# access-list hardware sample1
    awplus(config-ip-hw-acl)# deny tcp 10.4.4.4/32 any eq 10001
    awplus(config-ip-hw-acl)# deny tcp 10.4.4.4/32 any eq 20001
    awplus(config-ip-hw-acl)# deny tcp 10.4.4.4/32 any eq 30001
    awplus(config-ip-hw-acl)# deny tcp 10.4.4.4/32 any eq 40001
    awplus(config-ip-hw-acl)# deny tcp 10.4.4.4/32 any eq 50001

一方、ACLグループを利用しているsample2では、次のようにホストグループにIPアドレスを1つ追加するだけで、アクセスリスト本体（エントリー）は変更する必要がありません。

    awplus(config)# acl-group ip address HOST_GROUP
    awplus(config-ip-host-group)# ip 10.4.4.4/32

対象ポートの追加も同様にポートグループを編集するだけで済みます（ACLグループを利用しない場合はホストの数だけアクセスリストにエントリーを追加する必要があります）。

    awplus(config)# acl-group ip port PORT_GROUP
    awplus(config-ip-port-group)# eq 60001

ACLグループには次の種類があります。それぞれ下記のコマンドで作成、利用が可能です。

- ポートグループ - acl-group ip portコマンドで名前を付け、acl-group ip port(entry)コマンドで具体的なポート番号の条件を指定

      awplus(config)# acl-group ip port MX
      awplus(config-ip-port-group)# eq 25
      awplus(config-ip-port-group)# eq 465
      awplus(config-ip-port-group)# eq 587

  下記アクセスリスト内で始点ポート、終点ポートを指定するときに使用可能（ポート指定箇所で「port-group NAME」とする）
  - ハードウェアアクセスリスト（シーケンス番号対応） - access-list hardware(seq entry)
  - ハードウェアIPv6アクセスリスト（シーケンス番号対応） - ipv6 access-list(seq entry)
- IPホストグループ - acl-group ip addressコマンドで名前を付け、acl-group ip address(entry)コマンドで具体的なアドレスを指定

      awplus(config)# acl-group ip address BANNED
      awplus(config-ip-host-group)# ip 192.168.1.58
      awplus(config-ip-host-group)# ip 10.133.2.0/24

  下記アクセスリスト内で始点IPアドレス、終点IPアドレスを指定するときに使用可能（アドレス指定箇所で「host-group NAME」とする）
  - ハードウェアアクセスリスト（シーケンス番号対応） - access-list hardware(seq entry)
- IPv6ホストグループ - acl-group ipv6 addressコマンドで名前を付け、acl-group ipv6 address(entry)コマンドで具体的なアドレスを指定

      awplus(config)# acl-group ipv6 address SERVERS
      awplus(config-ipv6-host-group)# ipv6 2001:db8:10:10::5
      awplus(config-ipv6-host-group)# ipv6 2001:db8:20:10::8

  下記アクセスリスト内で始点IPv6アドレス、終点IPv6アドレスを指定するときに使用可能（アドレス指定箇所で「host-group NAME」とする）
  - ハードウェアIPv6アクセスリスト（シーケンス番号対応） - ipv6 access-list(seq entry)

ハードウェアアクセスリスト（シーケンス番号対応）、ハードウェアIPv6アクセスリスト（シーケンス番号対応）のエントリーを作成するとき、IP/IPv6アドレスやTCP/UDPポート番号を直接指定する代わりに、IP/IPv6ホストグループやポートグループを指定することができます。

- ハードウェアアクセスリスト（access-list hardware(seq entry)）では、IPアドレス指定部分（SRCIP、DSTIP）にIPホストグループ名を、TCP/UDPポート番号指定部分（SRCPORT、DSTPORT）にポートグループ名を、それぞれ「host-group NAME」、「port-group NAME」の形式で指定できます（NAMEはグループ名）。

      awplus(config)# access-list hardware MYACL
      awplus(config-ip-hw-acl)# deny tcp host-group IPHOST0 any port-group PORT0

- IPv6ハードウェアアクセスリスト（ipv6 access-list(seq entry)）では、IPv6アドレス指定部分（SRCIP、DSTIP）にIPv6ホストグループ名を、TCP/UDPポート番号指定部分（SRCPORT、DSTPORT）にポートグループ名を、それぞれ「host-group NAME」、「port-group NAME」の形式で指定できます（NAMEはグループ名）。

      awplus(config)# ipv6 access-list MYACLV6
      awplus(config-ipv6-hw-acl)# deny udp host-group IPV6HOST0 any port-group PORT0

ACLグループは、それを利用するアクセスリストが適用された状態でも、内容の変更（アドレス、ポート指定の追加、削除など）が可能です。
ただし、使用中のACLグループを削除することはできません。ACLグループを削除する場合は、あらかじめ使用中のアクセスリストから該当ACLグループを外すか、アクセスリスト自体を削除しておく必要があります。
ACLグループを利用した場合、アクセスリストのエントリー数はACLグループを使用しない場合に比べて少なくなりますが、フィルタリング用内部領域の消費量は利用するグループ内のエントリー数（IPアドレスやポート指定の数）をすべてかけたものになるため、ACLグループを使用しない場合と基本的に変わりません。
たとえば、次のACLグループが定義されていると仮定した場合、

- IPホストグループH1 - IPアドレス指定10個
- IPホストグループH2 - IPアドレス指定3個
- ポートグループP1 - ポート指定2個
- ポートグループP2 - ポート指定5個

次のアクセスリストエントリーは 10 (H1) × 5 (P2) ＝ 50 個分のエントリーを使用します。

     deny tcp host-group H1 any port-group P2

また次の例では3つACLグループを使用しているため、10 (H1) × 3 (H2) × 5 (P2) ＝ 150 個分のエントリーを使用します。

     deny tcp host-group H1 host-group H2 port-group P2

極端な例ですが、利用可能なすべての場所でACLグループを指定した場合、4つのACLグループを使用することになり、この例では 10 (H1) × 2 (P1) × 3 (H2) × 5 (P2) ＝ 300 個分のエントリーを使用します。

     deny tcp host-group H1 port-group P1 host-group H2 port-group P2

ACLグループを含むアクセスエントリーの適用によってフィルタリング用内部領域が足りなくなる場合、該当エントリーは適用されずにエラーとなります。
ACLグループの情報は、show acl-group ip port、show acl-group ip address、show acl-group ipv6 addressコマンドで確認できます。

## アクセスリストの使用

作成したアクセスリストは、以下の機能/コマンドから使用できます。
Note

経路フィルタリングを目的としたアクセスリストの作成方法についてはここでは触れません。「IP」の「経路制御（フィルタリング）」をご覧ください。
（「IP」の章ですが、共通のコマンドが多いため同章ではIPv6の経路フィルタリングについても触れています）

### 標準IPアクセスリスト

標準IPアクセスリストを利用したアクセス制御関連の機能としては、以下のものがあります。

- SNMPコミュニティーへのアクセス制御：snmp-server communityコマンド
- IPv4による製品へのリモートアクセス（Telnet/SSH）の制御：vty access-classコマンド
- PIM-SM/PIM-DMにおける隣接関係の制御：ip pim neighbor-filterコマンド
- IGMPにおけるグループ参加のフィルタリング：ip igmp access-groupコマンド

また、各種アドレスの指定に標準IPアクセスリストを使う機能としては、以下のものがあります。

- IGMP即時脱退機能の対象グループ指定：ip igmp immediate-leaveコマンド
- IGMPにおける登録可能グループ数制限の除外対象指定：ip igmp limitコマンド、ip igmp limitコマンド
- PIM-SM Registerメッセージのチェックサム計算方式変更の対象グループ指定：ip pim cisco-register-checksumコマンド
- PIM-SMにおけるランデブーポイント（静的設定）の担当グループ指定：ip pim rp-addressコマンド
- PIM-SMにおけるランデブーポイント（動的設定）の担当グループ指定：ip pim rp-candidateコマンド

SNMPの詳細については、「運用・管理」の「SNMP」をご覧ください。
Telnet/SSHの詳細については、「運用・管理」の「Telnet」、「運用・管理」の「Secure Shell」をご覧ください。
PIM-SM/PIM-DMの詳細については、「IPマルチキャスト」の「PIM」をご覧ください。
IGMPの詳細については、「IPマルチキャスト」の「IGMP」をご覧ください。

### 拡張IPアクセスリスト

拡張IPアクセスリストを利用したアクセス制御関連の機能としては、以下のものがあります。

- PIM-SMにおけるRegisterメッセージのフィルタリング：ip pim accept-register listコマンド
- MSDPにおけるSA（Source-Active）メッセージのフィルタリング：ip msdp peer rp-filterコマンド、ip msdp peer sg-filterコマンド

PIM-SMの詳細については、「IPマルチキャスト」の「PIM」をご覧ください。
MSDPの詳細については、「IPマルチキャスト」の「MSDP」をご覧ください。

### 標準IPv6アクセスリスト

標準IPv6アクセスリストを利用したアクセス制御関連の機能としては、以下のものがあります。

- IPv6による製品へのリモートアクセス（Telnet/SSH）の制御：vty ipv6 access-classコマンド
- MLD/MLD Snoopingにおけるグループ参加のフィルタリング：ipv6 mld access-groupコマンド
- PIM-SMv6におけるRegisterメッセージのフィルタリング：ipv6 pim accept-register listコマンド

また、各種アドレスの指定に標準IPv6アクセスリストを使う機能としては、以下のものがあります。

- MLD/MLD Snoopingにおける登録可能グループ数制限の除外対象指定：ipv6 mld limitコマンド、ipv6 mld limitコマンド
- MLD即時脱退機能の対象グループ指定：ipv6 mld immediate-leaveコマンド
- PIM-SMv6 Registerメッセージのチェックサム計算方式変更の対象グループ指定：ipv6 pim cisco-register-checksumコマンド
- PIM-SMv6におけるランデブーポイント（静的設定）の担当グループ指定：ipv6 pim rp-addressコマンド
- PIM-SMv6におけるランデブーポイント（動的設定）の担当グループ指定：ipv6 pim rp-candidateコマンド

Telnet/SSHの詳細については、「運用・管理」の「Telnet」、「運用・管理」の「Secure Shell」をご覧ください。
PIM-SMv6の詳細については、「IPv6マルチキャスト」の「PIM」をご覧ください。
MLD/MLD Snoopingの詳細については、「IPv6マルチキャスト」の「MLD」、「IPv6マルチキャスト」の「MLD Snooping」をご覧ください。

### ハードウェアアクセスリスト

ハードウェアアクセスリストは、次の機能で使用します。

- 受信スイッチポートにおけるパケットフィルタリング（インターフェース・ハードウェアパケットフィルター）：access-groupコマンド（インターフェースモード）、ipv6 traffic-filterコマンド（インターフェースモード）
- すべてのパケットを対象とするパケットフィルタリング（グローバル・ハードウェアパケットフィルター）：access-groupコマンド（グローバルコンフィグモード）、ipv6 traffic-filterコマンド（グローバルコンフィグモード）
- 受信スイッチポートにおけるトラフィック分類（Quality of Service）：match access-groupコマンド

ハードウェアパケットフィルターの詳細については、「トラフィック制御」の「ハードウェアパケットフィルター」をご覧ください。
Quality of Service（QoS）の詳細については、「トラフィック制御」の「Quality of Service」をご覧ください。