■アクセス制御
Catalyst IOSのACLにはRACL ( Router ACL ) 、VACL ( VLAN ACL )、PACL ( Port ACL )の3種類があります。RACLはルーティング ( レイヤ3転送 )のときにのみ適用されるACLです。同じVLANの中でブリッジング ( レイヤ2転送 )にはRACLは関係しません。代わりにブリッジングにはVACLが適用されます。これはVLANを経由してルーティングする場合にも関係します。PACLはVACLに似ていますが、VLANではなく物理ポートを対象にしている点が異なります。
これら3種類を以下にまとめます。
項目 | 設定箇所 | 適用時 | 方向 | レイヤ2 | レイヤ3 | レイヤ4 |
RACL ( Router ACL ) |
レイヤ3ポート | ルーティング | in / out | × | ○ | ○ |
VACL ( VLAN ACL ) |
VLAN | ブリッジング ルーティング |
in | ○ | ○ | ○ |
PACL ( Port ACL ) |
レイヤ2ポート | ルーティング ブリッジング |
in | ○ | ○ | ○ |
ACLの判断の対象になるヘッダ情報は以下に示すようレイヤごとに異なります。
項目 | 値 |
レイヤ2 | Macアドレス、EtherType、CoS値 |
レイヤ3 | IPアドレス、ToS値 |
レイヤ4 | ポート番号、フラグ |
RACLはレイヤ3のみ、VACLはレイヤ2のみが対象となるように思われがちですが、別のレイヤ情報を指定することも可能です。このためVACLでは同じVLANの中でブリッジングについてもレイヤ3やレイヤ4の情報に基づいてACLをかけることができます。この機能により同じVLANに属するホスト同士でHTTPのみ拒否するといった設定が可能となります。
■RACLの設定例
RACLはCiscoIOSルータと同じACLで最もわかりやすいACLです。レイヤ3インターフェイス ( ルーテッドポート、SVI、L3 EtherChannel ) に適用することができ、受信時 ( Input ) と送信時 ( Output ) の2種類があります。以下、設定例です。
SVI100から入ってきてルーティングされるIPパケットにRACLを適用するため、このインターフェイスにはInputを指定してアクセスグループを定義しています。またSVI200には192.168.1.1というIPアドレスへのパケットのみを許可するRACLを設定するためにoutputが指定されています。このRACLは他のレイヤ3インターフェイスから入ってきてルーティングされSVI200から出て行くパケットに適用されます。
但し、outputでACLを適用するのはあまり一般的ではなく機種によってはCPU負荷が跳ね上がるケースもありますのでなるべくinputで適用することをお勧めいたします。
interface Vlan100 ip access-group 100 in interface Vlan200 ip access-group 101 out access-list 100 permit tcp any any eq www access-list 101 permit ip any host 192.168.1.1 |
■VACLの設定例
VACLはブリッジングの際に適用されるACLです。また、ルーティングされてVLANを経由するフレームやパケットに適用されます。RACLと異なりVACLにはInputやOutputの選択肢はなくInputのみです。すなわちVACLを設定したVLANにフレームが入ってくるときにだけ適用され出て行くフレームは対象外となります。
以下はHTTPプロトコルのみ拒否しその他のパケットは全て許可する例です。
VACLを設定したVLANにSVI経由でルーティングされて入ってきたパケットにもVACLは適用されます。この例ではVLAN100に属する物理ポートおよびルーティングされてSVI100からVLAN100を経由して外へ出て行くIPパケットについてもHTTPプロトコルが拒否されるようになっています。
ip access-list extended deny-http deny tcp any any eq www ip access-list extended match_all permit ip any any vlan access-map VACL 10 match ip address deny-http action drop vlan access-map VACL 20 match ip address match_all ※省略可能 action forward vlan filter VACL vlan-list 100 |
■PACLの設定例
PACLはスイッチポートから入ってくるフレームに適用されます。レイヤ2かつInputのみである点はVACLに似ていますがVLANだけでなく物理ポートに適用される点が大きく異なります。以下、Gi0/1にHTTPのみ許可してGi0/3にDECNetのみを拒否するPACLの例です。
interface Gi0/1 ip access-group 100 in interface Gi0/3 mac access-group deny-decnet in access-list 100 permit tcp any any eq www mac access-list extended deny-decnet deny any any decnet-iv permit any any |
■RACLとVACLの併用
RACLとVACLは併用することができます。以下、設定例です。
この例ではGi0/1から入ってきたパケットがSVI100からSVI200へルーティングされた後、Gi0/2に抜けていきます。ここに設定された4つのACLは図のような順序で適用されます。但し、SVIの代わりにルーテッドポートにRACLを設定している場合はVLANとは無関係のためVACLは適用されません。