◆ 名前付きACLとは
ACLは大別すると標準ACLと拡張ACLの2種類ですが、識別方法には「番号」と「名前」の2種類があります。
ACL |
識別方法 |
チェックするところ |
標準ACL |
番号付き標準ACL |
送信元IPアドレス |
名前付き標準ACL |
拡張ACL |
番号付き拡張ACL |
送信元IPアドレス、宛先IPアドレス、プロトコル番号
送信元ポート番号、宛先ポート番号など |
名前付き拡張ACL |
「番号」で識別するのか「名前」で識別するのか、その違いだけでありACLとしての動作は同じになります。
「番号」よりも「名前」で識別する方が何のためのACLであるのかを管理者が理解しやすいので、最近では
名前付きACLを使用する方が多いです。「番号」と「名前」とで構文が少し異なるのでそれを見てみましょう。
◆ 名前付き標準ACLの作成
(config)# ip access-list standard name
(config-std-nacl)# number [ permit | deny ] source wildcard
コマンド引数 |
説明 |
name |
インターフェースに適用する標準ACLの名前を指定する。
|
number |
条件文のシーケンス番号。省略も可能だが、省略した場合、1行目のシーケンス番号は「10」
2行目の条件文のシーケンス番号は「20」のように、2行目以降は「10」間隔で付加されていく。 |
permit | deny |
条件文のパケット許可する場合は permit キーワード、拒否する場合は deny キーワードを使用。
|
source |
送信元IPアドレスを指定する。
|
wildcard |
ワイルドカードマスクを指定する。ワイルドカードマスクを指定しない場合「0.0.0.0」が適用される。
|
それでは、次に名前付き拡張ACLの設定を見てみましょう。
◆ 名前付き拡張ACLの作成
(config)# ip access-list extended name
(config-ext-nacl)# number [ permit | deny ] protocol source wildcard port dest wildcard port [ established | log | log-input ]
コマンド引数 |
説明 |
name |
拡張ACLの名前を、管理者が分かりやすいように指定する。 |
number |
条件文のシーケンス番号。省略も可能だが、省略した場合、1行目のシーケンス番号は「10」、
2行目の条件文のシーケンス番号は「20」のように、2行目以降は「10」間隔で付加されていく。
|
permit | deny |
条件文のパケット許可する場合は permit キーワード、拒否する場合は deny キーワードを使用。
|
protocol |
プロトコル名を指定する。( 例 : ip / icmp / tcp / udp ) |
source |
送信元IPアドレスを指定する。
|
wildcard |
ワイルドカードマスクを指定する。
|
port |
以下の演算子の後にポート番号を指定する。最も使用されるキーワードが eq 。
・ eq ( equal = 等しい)
・ neq ( not equal = 等しくない)
・ gt ( greater than = より大きい )
・ lt ( less than = より小さい )
・ range ( ポート番号の範囲 )
|
dest |
宛先IPアドレスを指定する。 |
wildcard |
ワイルドカードマスクを指定する。 |
established |
このキーワードをACLで指定することにより、ACKまたはRSTビットの立っているパケットが
ACLの合致対象となる。つまり、これはインバウンドのTCPトラフィックのみ対象としたキーワード。 |
log |
ACLの条件文の最後にこのキーワードを指定することで、その条件文に合致するパケットがあれば
ログが出力される。トラフィックの監視、分析、またはトラブルシューティングの際に役立つが、
このキーワードを指定した条件文が多数がある場合、機器の負荷が高くなるので注意が必要となる。
|
log-input |
入力インターフェイスと送信元MACアドレス(該当する場合)も含まれる。 |
次に、作成したACLをインターフェースにインバウンド(IN)またはアウトバウンド(OUT)で適用します。
この設定によりACLが有効となり、そのインタフェースでパケットフィルタリングが行われるようになります。
◆ ACLのインターフェースへの適用
(config-if)# ip access-group name [ in | out ]
コマンド引数 |
説明 |
name |
インターフェースに適用する拡張ACLの名前を指定する。
|
in |
そのインターフェースに、着信してくるパケットにACLのフィルタリングをするように指定。
|
out |
そのインターフェースに、発信していくパケットにACLのフィルタリングをするように指定。
|
|