Skip to content

ACL (Access Control List)

ACL 基礎

標準ACL と 拡張ACL

種類ACL番号マッチ条件
標準ACL1〜99(1300〜1999)送信元IPアドレスのみ
拡張ACL100〜199(2000〜2699)送信元/宛先IP、プロトコル、ポート番号

ワイルドカードマスク

ワイルドカードマスクはACLで指定したIPアドレスのどのビットをチェックするかを示す。

ビット値意味
0そのビットをチェックする(一致必須)
1そのビットを無視する(任意)

※サブネットマスクとは逆の論理。

ワイルドカードマスクによる奇数/偶数判定

ワイルドカードマスク 0.0.0.254(= 11111110)を使うと、最下位ビットだけを固定し上位7ビットを無視できる。

条件コマンド例仕組み
奇数のみ許可access-list 1 permit x.x.x.1 0.0.0.254最下位ビット=1(奇数)を固定、残り無視
偶数のみ許可access-list 1 permit x.x.x.0 0.0.0.254最下位ビット=0(偶数)を固定、残り無視

例: access-list 1 permit 192.168.1.1 0.0.0.254 → 192.168.1.0/24のうち第4オクテットが奇数(1, 3, 5, ... 253, 255)のIPのみ許可

重要: このテクニックは試験で問われることがあるが、実運用で使うケースはほぼない。ワイルドカードマスクのビット単位の動作を理解しているかが問われるポイント。

VACL (VLAN Access Map)

VLAN内のトラフィックをフィルタリングする機能。通常のACLはL3(ルーティング時)に適用されるが、VACLはVLAN内(同一VLAN間通信)にも適用できる。

設定の流れ(4ステップ)

ステップコマンド説明
1. VLAN Access Mapの作成vlan access-map <name> <seq>マップ名とシーケンス番号を指定
2. マッチ条件の指定match ip address <acl>参照するACLを指定
3. アクションの指定action {drop|forward}一致時の動作(破棄 or 転送)
4. VLANへの適用vlan filter <name> vlan-list <vlan-id>対象VLANに適用

ACLとアクションの関係

ACLの判定結果VACLの動作
permitVACLの action(drop/forward)が実行される
denyそのACL/シーケンスをスキップし、次のシーケンスへ

重要: ACLの permit はVACLのアクションを「許可する」のではなく、「アクションの対象にする」という意味。ACL permit + action drop = パケット破棄となる。通常のACLの permit/deny とは意味が異なる点に注意。

設定例

! 1. ACLでマッチ対象を定義
access-list 100 permit ip host 10.0.0.1 any

! 2. VLAN Access Mapを作成
vlan access-map BLOCK-HOST 10
  match ip address 100
  action drop

! 3. 暗黙のforward(マッチしないトラフィックは転送)
vlan access-map BLOCK-HOST 20
  action forward

! 4. VLANに適用
vlan filter BLOCK-HOST vlan-list 10

重要: 暗黙のルールとして、どのシーケンスにもマッチしないトラフィックは破棄される。そのため、許可したいトラフィックには明示的に action forward のシーケンスを追加する必要がある。

RACL / VACL / PACL の比較

スイッチではRACL(Router ACL)、VACL(VLAN ACL)、PACL(Port ACL)の3種類のACLをサポートする。

種類適用先適用対象適用方向処理の順番
RACLSVI またはルーテッドポートルーティングin / out3(最後)
VACLVLANブリッジングとルーティングin方向2
PACLL2ポートブリッジングとルーティングin方向1(最初)

処理順序

パケットがスイッチに入ると、以下の順で評価される:

PACL → VACL → RACL

  1. PACL: L2ポートに着信した時点で最初に評価
  2. VACL: VLANに着信するパケットを評価(ブリッジング・ルーティング両方)
  3. RACL: SVI/ルーテッドポートでルーティング時に評価

重要: VACLはin方向のみ適用可能(out不可)。RACLのみin/out両方向に適用できる。PACLもin方向のみ。また、VACLはブリッジングとルーティングの両方に適用されるため、同一VLAN内通信もフィルタリングできる(RACLでは不可)。