Catalyst ACL - RACL / VACL / PACL



 ◆ CatalystスイッチでのACL

 Catalystスイッチには、大きく以下の3種類のACLがあります。

ACLの種類 ACLの説明
 RACL(Router ACL)  ルーテッドポートやSVIなどのL3インターフェースに適用できるACL。CiscoルータのACLと同じ。
 VACL(VLAN ACL)  VLANに着信するトラフィック(L2/L3/L4)に適用できるACL。VLANアクセスマップと呼ばれるACL。
 PACL(Port ACL)  アクセスポート、トランクポートのL2ポートに着信するトラフィック(L2/L3/L4)に適用できるACL。


 下表の通り、複数のACLが適用されている場合、PACL ⇒ VACL ⇒ RACLの順番でフィルタリングされます。
 なお、VACLとPACLでは、MAC ACLによりIPv4以外のトラフィックもフィルタリングすることができます。

種類 RACL VACL PACL
適用先 SVI or ルーテッドポート VLAN L2のスイッチポート
適用対象 ルーティング ルーティングとブリッジング ルーティングとブリッジング
適用方向 IN または OUT IN IN
複数適用時の処理順 3 2 1
対象ヘッダ ( L2 ) 指定不可 IP以外のフレームに適用可 IP以外のフレームに適用可
対象ヘッダ ( L3 ) 指定可能 指定可能 指定可能
対象ヘッダ ( L4 ) 指定可能 指定可能 指定可能


 ◆ RACLの動作

 下図では、ホストAからBにパケットを送信した時に、RACLがどのように適用されるのか示しています。


     


 以下は、ルーテッドポートの Gi 0/1 で受信する全てのHTTPパケットのみを許可して SVI 10 では、
 全ての送信元から 10.1.1.1/24 宛のHTTP通信を行うトラフィックのみを許可するRACLの設定例です。


 Catalyst(config)# interface gigabitethernet 0/1
 Catalyst(config-if)# no switchport
 Catalyst(config-if)# ip address 192.168.0.254 255.255.255.0
 Catalyst(config-if)# ip access-group 101 in


 Catalyst(config)# interface gigabitethernet 0/3
 Catalyst(config-if)# switchport mode access
 Catalyst(config-if)# switchport access vlan 10

 Catalyst(config)# interface vlan 10
 Catalyst(config-if)# ip address 10.1.1.254 255.255.255.0
 Catalyst(config-if)# ip access-group 102 out

 Catalyst(config)# access-list 101 permit tcp any any eq www
 Catalyst(config)# access-list 102 permit tcp any host 10.1.1.1 eq www




 ◆ VACLの動作

 ホストAとBからホストCにパケットを送信した時に、VACLがどのように適用されるのか示しています。


     


 VACLはRACLと違い、ブリッジングの際にも適用することができるACLです。ホストBとホストCは同一の
 セグメントにいますが、このホスト間の通信トラフィックの許可と拒否の制御をVACLで実装させられます。
 また、VACLはルーティングの前後にVLANを経由するパケットにも適用されます。ホストAとCでは異なる
 セグメントにいますが、このホスト間の通信トラフィックの許可と拒否の制御をVACLで実装させられます。

 以下では、送信元「192.168.0.1」と「10.1.1.2」から宛先「10.1.1.1」へのTCPトラフィックアクセスを
 拒否して、それ以外のIPトラフィックを全て許可するVLANマップ「V-MAP」をVLAN10に適用しています。


 Catalyst(config)# ip access-list extended A-TCP
 Catalyst(config-ext-nacl)# permit tcp host 10.1.1.2 host 10.1.1.1
 Catalyst(config-ext-nacl)# permit tcp host 192.168.0.1 host 10.1.1.1

 Catalyst(config)# ip access-list extended A-IP
 Catalyst(config-ext-nacl)# permit ip any any

 Catalyst(config)# vlan access-map V-MAP 10
 Catalyst(config-access-map)# match ip address A-TCP
 Catalyst(config-access-map)# action drop

 Catalyst(config)# vlan access-map V-MAP 20
 Catalyst(config-access-map)# match ip address A-IP
 Catalyst(config-access-map)# action forward

 Catalyst(config)# vlan filter V-MAP vlan-list 10



 上記のコンフィグは下記に置き換えられます。VACL内でmatchコマンドを設定しない場合、match anyと
 同じ意味となり「全トラフィックが対象」となり、結果、V-MAP10に合致しないトラフィックは全て転送。


 Catalyst(config)# ip access-list extended A-TCP
 Catalyst(config-ext-nacl)# permit tcp host 10.1.1.2 host 10.1.1.1
 Catalyst(config-ext-nacl)# permit tcp host 192.168.0.1 host 10.1.1.1

 Catalyst(config)# vlan access-map V-MAP 10
 Catalyst(config-access-map)# match ip address A-TCP
 Catalyst(config-access-map)# action drop

 Catalyst(config)# vlan access-map V-MAP 20
 Catalyst(config-access-map)# action forward

 Catalyst(config)# vlan filter V-MAP vlan-list 10





 ◆ PACLの動作

 ホストAとBからホストCにパケットを送信した時のフローで、その際のPACLの適用方向を示しています。


    


 PACLはVACLと同様に、ルーティングだけでなくブリッジングの際にも適用することができるACLです。
 相違点は、VACLはVLANへの適用であることに対して、PACLはL2物理ポートへの適用であることです。

 以下では、送信元「192.168.0.1」から宛先「10.1.1.2」へのTCPトラフィックを拒否して、それ以外の
 IPトラフィックを許可するACLをGi0/1に適用しています。また、送信元「10.1.1.2」から宛先「10.1.1.1」
 へのTCPトラフィックを拒否して、それ以外のIPトラフィックを許可するACLを Gi0/2 に適用しています。


 Catalyst(config)# ip access-list extended A-TCP1
 Catalyst(config-ext-nacl)# deny tcp host 192.168.0.1 host 10.1.1.2
 Catalyst(config-ext-nacl)# permit ip any any

 Catalyst(config)# ip access-list extended A-TCP2
 Catalyst(config-ext-nacl)# deny tcp host 10.1.1.2 host 10.1.1.1
 Catalyst(config-ext-nacl)# permit ip any any


 Catalyst(config)# interface gigabitethernet 0/1
 Catalyst(config-if)# no switchport
 Catalyst(config-if)# ip address 192.168.0.254 255.255.255.0
 Catalyst(config-if)# ip access-group A-TCP1 in

 Catalyst(config)# interface gigabitethernet 0/2
 Catalyst(config-if)# switchport mode access
 Catalyst(config-if)# switchport access vlan 10
 Catalyst(config-if)# ip access-group A-TCP2 in



 ※ PACLは物理I/Fであればルーテッドであっても適用できます。トランクポートに適用した場合、全てのフレームに適用されます。



ACL - 時間ベースACL / ダイナミックACL / 再帰ACL / TCPインターセプト / CBAC / PACL VACL RACL

ネットワークエンジニアとして

Copyright (C) 2002-2019 ネットワークエンジニアとして All Rights Reserved.