◆ 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/32 宛の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であればルーテッドであっても適用できます。トランクポートに適用した場合、全てのフレームに適用されます。
|