本ドキュメントはCatalystシリーズスイッチにおける、簡単なACLの設定と削除の方法を紹介します。
ACLとは
ACLはAccess control list(アクセスコントロールリスト)の略称です。ネットワークの要件では、特定のアドレスを制御したい時にはACLの出番です。例えば、インターフェイスにACLを設定した場合、ACLに定義されたルールに従い、スイッチに通過するパケットを許可するや拒否することができます。そのほかの用途も色々あります。
ACLの種類
Catalystスイッチでは、主に2種類のACLが使われてます。ここで紹介します。
1. 標準ACL
送信元のIPアドレスのみをチェックします。比較的に簡単なACLになります。
2. 拡張ACL
送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号をチェックします。
より柔軟にネットワークの制御要件に適用できます。
ACLの設定
access-listコマンドで設定できます、利用可能なACL番号は下記の様に、標準ACL用(1-99,1300-1999)と拡張ACL(100-199,2000-2699)があります。
Catalyst(config)#access-list ? <1-99> IP standard access list <100-199> IP extended access list <1300-1999> IP standard access list (expanded range) <2000-2699> IP extended access list (expanded range)
|
標準ACLの設定
1.
access-list # permit/deny any |
#(1-99,1300-1999)番ACLにすべて(任意)のアドレス(からのトラフィック)を許可/拒否
2.
access-list # permit/deny host {source address} |
#(1-99,1300-1999)番ACLにソースとなる特定のアドレス(からのトラフィック)を許可/拒否
3.
access-list # permit/deny {source address} {wildcard bits} |
#(1-99,1300-1999)番ACLにソースとなるネットワークセグメントに属するアドレス(からのトラフィック)を許可/拒否
* wildcard bitsを指定しない場合は、2のhost指定と同じ効果
例:
Catalyst(config)#access-list 1 deny 192.168.1.1
Catalyst(config)#access-list 1 permit 192.168.2.1 0.0.0.255
|
確認
#番ACLの内容を確認
例:
Catalyst#show access-lists 1 Standard IP access list 1 <-- 標準ACLと認識 10 deny 192.168.1.1 20 permit 192.168.2.0, wildcard bits 0.0.0.255
(*)deny any <-- ACLの最後は暗黙のdenyがあります(表示されません)
|
説明:
上からの順番で処理されるため、ホスト192.168.1.1(からのトラフィック)を拒否、セグメント192.168.2.0/24(からのトラフィック)を許可、最後にそれ以外のアドレス(からのトラフィック)を拒否。
拡張ACLの設定
基本の設定方法は標準ACLと同様ですが、設定可能なオプションが増えます。
1.
access-list # permit/deny {protocol} any any |
#(100-199,2000-2699)番ACLに任意のアドレスから任意のアドレスまで(のトラフィック)を許可/拒否
2.
access-list # permit/deny {protocol} host {source address} host {destination address} |
#(1-99,1300-1999)番ACLにソースとなる特定のアドレスから宛先となる特定のアドレスまで(のトラフィック)を許可/拒否
3.
access-list # permit/deny {protocol} {source address} {wildcard bits} {destination address} {wildcard bits} |
#(1-99,1300-1999)番ACLにソースとなるネットワークセグメントに属するアドレスから宛先となるネットワークセグメントに属するアドレスまで(のトラフィック)を許可/拒否
* wildcard bitsを255.255.255.255に指定した場合は、2のhost指定と同じ効果になります。
例:
Catalyst(config)#access-list 100 deny ip host 192.168.1.1 host 192.168.1.2 Catalyst(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
|
確認
Catalyst#show access-lists 100 Extended IP access list 100 <-- 確認ACLと認識 10 deny ip host 192.168.1.1 host 192.168.1.2 20 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
|
説明:
上からの順番で処理されるため、ホスト192.168.1.1からホスト192.168.1.2までのトラフィックもしくは範囲を拒否、セグメント192.168.2.0/24からセグメント192.168.3.0/24のトラフィックもしくは範囲を許可、最後にそれ以外のトラフィックもしくは範囲を拒否。
ACLの削除
no access-listコマンドで設定したACLを全部削除できます。
#番access-listを削除
*該当ACL自体がなくなる
ACL編集モード
上記の「標準ACLの設定」と「拡張ACLの設定」と異なって、ACL内の項目を個別に調整することができます。
ip access-list standard/extended {number/name} |
説明:
標準ACLもしくは拡張ACLの編集モードに入る、このコマンドを利用する場合、数字の番号以外に英文字の名称もACLに付与できます。
例:
Catalyst(config)#ip access-list standard test
Catalyst(config-std-acl)# 10 permit host 192.168.1.1
Catalyst(config-std-acl)# 20 permit host 192.168.2.1
Catalyst(config-std-acl)# 30 permit host 192.168.3.1
Catalyst(config-std-acl)# no 20 permit host 192.168.2.1
|
解説:
ip access-list standard test
|
testという名前の標準ACLを作成、そして編集モードに入ります。
10 permit host 192.168.1.1
|
編集モードでシークエンス10番のポリシーを定義:ACLにエントリーを追加することになります。
no 20 permit host 192.168.2.1
|
編集モードでシークエンス20番のポリシーを削除:ACLの個別エントリーを削除することになります。
確認:
(削除前)
Catalyst#show access-lists test Standard IP access list test 10 permit 192.168.1.1
20 permit 192.168.2.1 30 permit 192.168.3.1
|
(削除後)
Catalyst#show access-lists test Standard IP access list test 10 permit 192.168.1.1 30 permit 192.168.3.1
|
名前付きACLの削除
no ip access-listコマンドで設定したACLを全部削除できます。
no ip access-lists standard/extended {number/name}
|
*番号付きACLの場合、no access-list #でも削除できます。
その他: Catalyst スイッチ (IOS / IOS-XE): 設定例