This site covers Cisco and Palo Alto as part of *** Shadowgarden.org ***

Cisco Catalyst 1300 スイッチ ACL フィルタ設定ガイド

目次

Catalyst 1300 スイッチで ACL フィルタを設定する

Cisco Catalyst 1300 スイッチではアクセスリスト (ACL) を使用してインターフェースのインプットパケット、アウトプットパケットを制御(フィルタリング)することができます。ただし、Catalyst 1300 スイッチの搭載 OS は IOS ではなくカスタマイズされた Linux OS のため、IOS 機器とは若干設定コマンドが異なります。本記事では Catalyst 1300 スイッチにおける ACL フィルタリングの設定方法を解説します。

動作確認環境

  • Cisco C1300-8T-E-2G
    • Version: 4.1.7.17

Catalyst 1300 スイッチにおける ACL フィルタの基本情報

  • ACL フィルタは物理インターフェース、ポートチャネル、SVI (Vlan インターフェース) に対して設定することが可能
  • 物理インターフェース、ポートチャネルに対しては、インプット方向とアウトプット方向の両方に対して ACL フィルタを設定することが可能
  • SVI に対してはインプット方向のみ ACL フィルタを設定することが可能。アウトプット方向には設定不可
  • ACL のタイプとしては MAC ACL、IPv4 ACL、IPv6 ACL を設定可能。異なるタイプの ACL であれば同時に複数設定することが可能
  • ACL の各ルールのヒットカウントは記録されないため、ヒットカウントで適用有無を確認することはできない

ACL フィルタの適用可能箇所

以下の3パターンについて ACL フィルタ適用可能箇所を説明します。

  • スイッチングを制御するパターン
  • ルーテッドポートによるルーティングを制御するパターン
  • SVI によるルーティングを制御するパターン

①スイッチングを制御するパターン

物理ポートをスイッチポートとして使用してスイッチングを行っている場合、以下の2箇所でフィルタリングが可能です。

  • 入力ポートのインプット方向のパケットをフィルタリング
  • 出力ポートのアウトプット方向のパケットをフィルタリング

②ルーテッドポートによるルーティングを制御するパターン

物理ポートをルーテッドポートとして使用してルーティングを行っている場合、以下の2箇所でフィルタリングが可能です。

  • 入力ポートのインプット方向のパケットをフィルタリング
  • 出力ポートのアウトプット方向のパケットをフィルタリング

③SVI によるルーティングを制御するパターン

物理ポートをスイッチポートとして使用し、かつ SVI (Vlan インターフェース) を使用してルーティングを行っている場合、以下の3箇所でフィルタリングが可能です。

  • 入力ポートのインプット方向のパケットをフィルタリング
  • 入力側 SVI のインプット方向のパケットをフィルタリング
  • 出力ポートのアウトプット方向のパケットをフィルタリング

Catalyst 1300 スイッチでは SVI (Vlan インターフェース) にてアウトプット方向のパケットをフィルタリングすることはできません。

ACL フィルタの設定方法

ACL フィルタを設定するためには以下の2ステップで設定を行います。

  • 通信を制御するための ACL を設定する
  • 作成した ACL をインターフェースに適用する

①ACL の設定

まずどのような通信を許可し、どのような通信を拒否するかの定義であるアクセスリスト (ACL) を設定します。ACL にはタイプとして MAC ACL、IPv4 ACL、IPv6 ACL がありますが、ほとんどの場合 IPv4 ACL を使用するためここでは IPv4 ACL の設定方法のみ説明します。その他のタイプの設定方法については「Cisco Catalyst 1300 スイッチ シリーズ CLI ガイド: ACL コマンド」を参照してください。

まず Catalyst 1300 の ACL の基礎知識を以下に記載します。

  • ACL には「暗黙のdeny」が存在します。つまり ACL のどのルールにも該当しないパケットは拒否されます。ただし、Catalyst 1300 の ACL フィルタではインターフェースに適用時のオプションとしてどのルールにも該当しないパケットを許可するように設定することも可能です
  • 標準 ACL」と「拡張 ACL」が存在します
    • 標準 ACL・・・パケットの送信元 IP アドレスのみ指定可能な ACL
    • 拡張 ACL・・・パケットの送信元 IP アドレス・ポート、宛先 IP アドレス・ポートを指定可能な ACL
  • IOS の ACL では名前について「番号付き ACL」と「名前付き ACL」の2種類がありましたが、Catalyst 1300 の ACL では名前付き ACL」のみを設定可能です
  • アドレス指定時に単一のホストIPを指定する場合、IOS のような「host x.x.x.x」という指定はできません。代わりに「x.x.x.x 0.0.0.0」と指定します
  • ACL ルールの中で一番最初にマッチしたルールに従って許可・拒否が確定します
  • 拡張 ACL については IOS でいう「シーケンス番号」の代わりに「プライオリティ」というオプションが存在します。同一 ACL 内ではプライオリティが高い(値が小さい) ルールが先に評価されます
  • 標準 ACL にはプライオリティは無く、同一 ACL 内のルールは設定順に評価されます

標準 ACL の設定方法

標準 ACL はグローバルコンフィギュレーションモードにて以下の形式で設定します。

標準ACLの設定コマンド
  • ip access-list <ACL名> <deny|permit> <アドレス[/マスク長]>
補足情報
  • <ACL名>:任意の ACL 名を 1-32 文字の範囲で指定
  • <deny|permit>:拒否の場合は「deny」、許可の場合は「permit」を指定
  • <アドレス[/マスク長]>:送信元アドレス、またはサブネットを指定
    • 単一のホストアドレスの場合は[/マスク長]の部分の指定は不要
    • サブネットを指定する場合は<サブネットアドレス/マスク長>の形式で指定
    • any」と指定するとすべてのアドレスが対象となる
  • 同一標準 ACL 内のルールは設定した順に評価されます
設定削除方法

標準 ACL 設定を削除する場合は個々のルールを削除することはできず、以下コマンドで全ルールを削除する必要がある。

  • no ip access-list <ACL名>

上記のコマンドは標準 ACL の1ルールを設定するコマンドです。同一標準 ACL として複数のルールを設定したい場合は上記形式でコマンドを複数回投入します。なお、設定順を変更するためには一度対象の標準 ACL 全体を削除してから再設定する必要があります。

以下は「standard-acl」という名前の標準 ACL の設定例です。

ip access-list standard-acl permit 10.20.30.1
ip access-list standard-acl permit 10.20.30.2
ip access-list standard-acl deny 10.20.30.0/24
ip access-list standard-acl deny 10.20.40.1
ip access-list standard-acl permit any

拡張 ACL の設定方法

拡張 ACL の設定をする場合は、標準 ACL とは異なり、拡張 ACL を定義後に当該 ACL コンフィギュレーションモードに移行してその中でルールを設定していきます。

まずグローバルコンフィギュレーションモードにて以下コマンドで拡張 ACL を作成します。またこのコマンドを実行すると当該 ACL コンフィギュレーションモードに移行します。

拡張 ACL 作成・モード移行コマンド
  • ip access-list extended <ACL名>
C1300-8T(config)#ip access-list extended ext-acl
C1300-8T(config-ip-al)#25-Sep-2025 17:30:10 %QOS_CLI-I-NETACLCHANGED: IP ACL 'ext-acl' has been created

C1300-8T(config-ip-al)#

上記例のように拡張 ACL 作成時は拡張 ACL を作成したことを示すログが出力されます。

次に当該 ACL コンフィギュレーションモードにて各 ACL ルールを設定していきます。

拡張 ACL ルール設定コマンド
  • プロトコル/ポート指定をしない場合
    • <deny|permit> ip <src-addr> <src-wild-card> <dst-addr> <dst-wild-card> [<option>]
  • プロトコルが ICMP の場合
    • <deny|permit> icmp <src-addr> <src-wild-card> <dst-addr> <dst-wild-card> <icmp-type> <icmp-code> [<option>]
  • プロトコルが TCP/UDP の場合
    • <deny|permit> [tcp|udp] <src-addr> <src-wild-card> <src-port> <dst-addr> <dst-wild-card> <dst-port> [<option>]
  • その他のプロトコルについては「Cisco Catalyst 1300 スイッチ シリーズ CLI ガイド: ACL コマンド」を参照してください
補足情報
  • <deny|permit>:拒否の場合は「deny」、許可の場合は「permit」を指定
  • [tcp|udp]:対象プロトコルとして「tcp」または「udp」を指定
  • <src-addr> <src-wild-card>:送信元アドレスとそのワイルドカードマスク
    • 単一のホストアドレスを指定する場合は<src-wild-card>を「0.0.0.0」と指定する
    • any」と指定するとすべてのアドレスが対象となる
  • <src-port>:送信元ポート番号、TCP/UDPの場合設定必須
    • 「0-65535」の範囲から、単一の番号または範囲で指定可能
    • 範囲で指定する場合は「1000-2000」のように先頭番号と末尾番号をハイフン区切りで指定する
    • any」と指定するとすべてのポートが対象となる
  • <dst-addr> <dst-wild-card>:宛先アドレスとそのワイルドカードマスク
    • 単一のホストアドレスを指定する場合は<src-wild-card>を「0.0.0.0」と指定する
    • any」と指定するとすべてのアドレスが対象となる
  • <dst-port>:宛先ポート番号、TCP/UDPの場合設定必須
    • 「0-65535」の範囲から、単一の番号または範囲で指定可能
    • 範囲で指定する場合は「1000-2000」のように先頭番号と末尾番号をハイフン区切りで指定する
    • any」と指定するとすべてのポートが対象となる
  • <icmp-type> <icmp-code>:ICMPタイプとICMPコード
  • [<option>] :下で説明のオプションを指定
設定削除方法

拡張 ACL のルールは個別に削除が可能。当該 ACL コンフィギュレーションモードで以下コマンドを実行する。ace-priority オプションを含めると削除できないため注意。

  • no <該当ルール行のコンフィグから ace-priority オプションを除いたコンフィグ>

拡張 ACL 自体を削除する場合は以下コマンドで削除可能。

  • no ip access-list extended <ACL名>

ACL フィルタなどで使用中の ACL については、ルールの追加・削除の設定変更ができません。設定変更前に ACL を使用している設定を削除する必要があります。

ACL の [<option>] では以下のオプションを指定可能です。詳細は「Cisco Catalyst 1300 スイッチ シリーズ CLI ガイド: ACL コマンド」を参照してください。

  • ace-priority <1-2147483647>
    • ルールのプライオリティ。値が小さい方が優先度が高く先に評価される
    • 指定しない場合、「20」を開始値として「20」刻みで 20, 40, 60, … と設定される
    • ルールを途中に挿入したい場合などは明示的にプライオリティを指定する
  • dscp <0-63>
    • DSCP 値を指定
  • precedence <0-7>
    • IP プレシデンス値を指定
  • time-range <time-range名>
    • 時間範囲の名前を指定
  • match-all <TCPフラグリスト> ※TCPの場合のみ
    • 発生する必要のある TCP フラグのリスト
  • disable-port ※denyの場合のみ
    • この条件に一致する場合、イーサネット インターフェイスは無効になります
  • log-input
    • input 方向のフィルタとして ACL を適用する場合のみ有効
    • 該当ルールに該当したパケットに関するログを出力
    • 該当パケットが多数で処理が追い付かない場合ログが出力されない場合もある
    • ログ例
      • 25-Sep-2025 18:26:05 %3SWCOS-I-LOGACLINET: gi8: deny ACE IPv4(ICMP) 10.2.1.33 -> 8.8.8.8, DSCP-0, ICMP type 8 ICMP code 0 trapped

以下は「ext-acl」という名前の拡張 ACL の設定例です。

ip access-list extended ext-acl
  permit ip 10.1.0.0 0.0.0.255 192.168.100.0 0.0.0.255 ace-priority 20
  permit icmp 10.2.1.0 0.0.0.255 172.16.10.0 0.0.0.255 any any ace-priority 40
  permit tcp 10.40.20.22 0.0.0.0 any 10.22.0.12 0.0.0.0 www ace-priority 60
  deny ip 10.20.30.1 0.0.0.0 10.20.40.1 0.0.0.0 ace-priority 80
  permit udp 10.0.0.0 0.255.255.255 any 1.1.1.1 0.0.0.0 domain ace-priority 100

「ace-priority」オプションについては設定時に指定していなくてもコンフィグ上では自動で設定された値が表示されます。

②インターフェースへの ACL の適用 (service-acl)

ACL の設定ができたら、フィルタを設定したいインターフェースにて ACL を適用する設定を行います。

ACL の適用は対象のインターフェースコンフィギュレーションモードにて以下コマンドで行います。

インターフェースへのACLフィルタの設定
  • service-acl <input|output> <ACL名> [default-action <deny-any|permit-any>]
補足情報
  • <input|output>:フィルタリング対象のパケットの方向を指定
    • input:入力パケットを対象とする
    • output:出力パケットを対象とする
  • <ACL名>:適用対象の ACL 名を指定
  • [default-action <deny-any|permit-any>]:オプション。ACLのどのルールにもヒットしなかった場合の動作を指定
    • deny-any:拒否する (デフォルト)
    • permit-any:許可する
設定削除方法

設定を削除する場合は ACL 名以降は指定せずに以下のコマンドを実行する。

  • no service-acl input
  • no service-acl output

適用対象の ACL を変更したい場合は service-acl 設定を削除後に再設定する必要があります。

以下は interface GigabitEthernet8 に対して ACL 「ext-acl」をインプット方向に適用する設定例です。

C1300-8T(config)#interface GigabitEthernet8
C1300-8T(config-if)#service-acl input ext-acl
C1300-8T(config-if)#25-Sep-2025 18:49:33 %QOS_CLI-I-NETACLIFCHANGED: Input ACL 'ext-acl' has been applied to interface gi8

C1300-8T(config-if)#

上記例のように service-acl 設定時は ACL を適用したことを示すログが出力されます。

ACL 関連の show コマンド

  • show access-lists
    • 設定されている ACL の内容一覧を表示
C1300-8T#show access-lists
Extended IP access list acl-test
    deny    ip any host 8.8.8.8 ace-priority 20 log-input
    permit  ip any any ace-priority 40
Extended IP access list acl-test2
Extended MAC access list mac-acl
    deny    host 00:42:68:f4:c5:20 any ace-priority 20
    permit  any any ace-priority 40 log-input
Extended IP access list ext-acl
    permit  ip 10.1.0.0 0.0.0.255 192.168.100.0 0.0.0.255 ace-priority 20
    permit  icmp 10.2.1.0 0.0.0.255 172.16.10.0 0.0.0.255 ace-priority 40 type any code any
    permit  tcp host 10.40.20.22 any host 10.22.0.12 www ace-priority 60
    deny    ip host 10.20.30.1 host 10.20.40.1 ace-priority 80
    permit  udp 10.0.0.0 0.255.255.255 any host 1.1.1.1 domain ace-priority 100
  • show interfaces access-lists
    • インターフェースに適用されている ACL 情報を表示
C1300-8T#show interfaces access-lists
Interface                  ACLs
---------          -----------------------
gi8                Ingress: acl-test

参考資料


Cisco Catalyst 1300 スイッチ関連記事一覧


Amazon で買えるおすすめアイテム

以下は Amazon アフィリエイトリンクです。ネットワーク作業向けにそこそこおすすめなアイテムです。

ブログ始めるなら 【アフィリエイトリンク】

note メンバーシップへの参加もお待ちしています!

note(ノート)
Shadowgarden.org -影の構築者集団-|Shadowgarden.org -影の構築者集団- 陰の構築者集団「Shadowgarden.org」の活動拠点。 ネットワーク・インフラ業界に陰から影響を与えるため活動している。 当組織への問合せは「https://shadowgarden.org/inq...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次