ACL - show access-lists / ip access-list extended



 ◆ ACLのステータス確認

 ACLのステータスは show access-lists コマンドで確認できます。これで全てのACL情報が出力されます。
 show access-listsの後にACL番号や名前を指定すれば特定のACL情報を出力することも可能です。また、
 show ip access-lists のようにプロトコルを指定することで特定のプロトコルのACLを表示させられます。

 
◆ 全てのACLのステータスを表示
 # show access-lists

 
◆ 特定の番号(名前)のACLのステータスを表示
 # show access-lists [ number | name ]

 
◆ 特定のプロトコルのACLのステータスを表示
 # show protocol access-lists

 


 show access-listsコマンドで各ACLの条件文の「シーケンス番号」と「条件文に合致したパケット数」を
 確認できます。「 〜 matches 」というのが条件文に合致した場合に表示されるパケット数となります。
 このルータでは「 access-list 100 permit icmp host 192.168.1.10 host 192.168.1.254 」の条件文に
 合致して12パケットが合致パケット数であると分かります。また、これらのアクセスリストに表示されて
 いませんが、最終行には暗黙の deny any が存在するので条件文に合致しないパケットは全て破棄します。



 ACLを適用したインターフェースはshow runコマンド以外にshow ip interfacesコマンドでも確認できます。
 以下の出力例では、I/FのFastEthernet 1に「ACL100」がインバウンドで適用されていることが分かります。

  


 ◆ シーケンス番号を利用したACLの編集 ( 条件文の追加 )

 ACLは、以下のようにシーケンス番号を指定せずに条件文を追加すると、自動的に最終行に追加されます。
 シーケンス番号は「10」からはじまり10ずつ加算されていきます。以下の場合、次の条件文は「40」です。

 



 上の設定で「access-list 100 permit ip host 192.168.0.1 host 20.1.1.1」という条件文を最終行でなく
 最初の行に持っていくためには、シーケンス番号が「10」より小さくして条件文を設定すれば実現します。
 シーケンス番号を指定して条件文を設定するためには「名前付きACL」の構文を利用する必要があります。


 
◆ シーケンス番号を指定した条件文の追加
 (config)# ip access-list extended number | name
 (ext-nacl)# sequence-number [ permit | deny ] protocol source wildcard port dest wildcard port [established | log | log-input]

 


 このシーケンス番号を利用したACL追加は、番号付き標準ACL名前付き標準ACL番号付き拡張ACL
 名前付き拡張ACLにおいて同じ要領で設定できますが、「標準ACL」はこの方法を用いても機種によって
 上手く設定が反映されない場合もあるのでシーケンス番号を利用し「標準ACL」を編集する場合は要注意。



 ◆ シーケンス番号を利用したACLの編集 ( 条件文の削除 )

 例えばACL101に以下の4行があり、一番最後の条件文「access-list 101 permit tcp any any」だけを削除
 したいとします。そこで「no access-list 101 permit tcp any any」と入力してもACL101全て削除されます。

 access-list 101 permit ip host 192.168.1.1 172.16.0.0 0.0.0.255
 access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq telnet
 access-list 101 permit tcp host 192.168.1.1 host 10.1.1.1 eq 443
 access-list 101 permit tcp any any


 しかし以下の構文でシーケンス番号を指定し削除することで、ピンポイントに部分的に削除する事ができます。

 
◆ シーケンス番号を指定した標準ACLの削除
 (config)# ip access-list standard number | name
 (config-std-nacl)#
no sequence-number

 
◆ シーケンス番号を指定した拡張ACLの削除
 (config)# ip access-list extended number | name
 (config-ext-nacl)# no sequence-number


 手順1 : show access-lists により削除したい条件文のシーケンス番号を確認。

 



 手順2 : 削除したいACLが「標準ACL」か「拡張ACL」かを確認。今回は「拡張ACL」であることから
       ip access-list extended コマンドの構文を使用して、シーケンス番号を指定して削除。

 



ACL - アクセスコントロールリスト

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

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