IPv4の高度なACL[番号付き拡張ACL/名前付き拡張ACL/ワイルドカードマスク]
2015年4月27日(月)
■ACLの検査の順番
パケットのIPアドレスに対して、ACLの1行目から順番にマッチングの処理が行われます。パケットがACLの1つの行と一致した時点で、ルータはその行に指定されたアクションを実行し、ACLのマッチング処理をそこで終了します。ファーストマッチロジックとも呼ばれ、それに続く行の処理は打ち切られます。
ACLでの処理では、ワイルドカードマスクやIPアドレスなどに加えて、記述する順番が非常に重要になるので注意しましょう。
●行の最後には暗黙のdeny any
記述したACLの最後には暗黙のdeny ip any anyの行があるものとして処理されます。ACLの全ての行で条件に一致しなかった場合には、これにより、最終的にパケットが廃棄されます。
次の例のようなdenyを主にして記述するACLでは、permitの行を忘れないように注意しましょう。
access-list 104 deny icmp 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 access-list 104 permit ip any any [access-list 104 deny ip any any]
※上記の2行目のようなpermitの行がないと、全てを拒否するACLとなる
■設置する場所と方向
パケットをフィルタリングするには、そのパケットを処理するインタフェースで、パケットが流れる方向に対してACLを設置します。
方向については、インタフェースを通して、ネットワークからルータに入ってくる向きが、inです。また、そのインタフェースを通してルータからネットワークに出て行く方向がoutになります(図2)。
図2 インタフェースにACLを設置する方向
次に1つのインタフェースに、ACLを方向ごとに1つずつ設置する例を示します。インタフェースにACLを設置するときは、ip access-groupコマンドを使用します。
●拡張ACLの作成
Router(config)# access-list 105 permit ip 10.0.0.0 0.255.255.255 192.168.0.0 0.0.255.255 Router(config)# access-list 106 permit ip 192.168.0.0 0.0.255.255 any
●インタフェースへの拡張ACLの設置
Router(config)# interface GigabitEthernet0/0 Router(config-if)# ip access-group 105 in Router(config-if)# ip access-group 106 out
例では、GigabitEthernet0/0のインタフェースにおいて、105のACLにより送信元IPアドレスの第1オクテットが10で、宛先IPアドレスの第2オクテットまでが192.168であるIPパケットがルータに入ることができます。
また、送信元IPアドレスの第2オクテットまでが192.168であるIPパケットは、宛先IPアドレスがどこであってもネットワークに出て行くことができます。
■番号付き拡張ACLの編集
古いIOSでの番号付き拡張ACLの編集は、同じ番号のACLをまとめて消してから再作成します。
Router(config)#no ip access-list 104 Router(config)#access-list 104 deny icmp 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 Router(config)#access-list 104 permit ip any any
入力した行はACLの後尾に追加されます。
番号付き拡張ACLも名前付き拡張ACLと同じ方法で編集できます。行の番号を指定することで、特定の位置に行を追加することなどが可能です。
Router(config)#access-list 104 permit ip any any Router(config)#ip access-list extended 104 Router(config-std-nacl)#5 deny icmp 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 Router#show ip access-lists Standard IP access list 104 5 deny icmp 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 10 permit ip any any
■名前付き拡張ACLの作成例
ここでは、名前付きの拡張ACLの作成例を示します。ACLEXAMがこの名前付きの拡張ACLの名称になります。行番号を指定することで、特定の位置に追加することなどができます。
Router#Router(config)#ip access-list extended ACLEXAM Router(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.128 0.0.0.63 Router(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 host 192.168.3.3 eq www Router(config-ext-nacl)#5 permit icmp any any Router(config-ext-nacl)#^Z
作成したACLは、showコマンドで確認できて、行番号も表示されます。
Router#show ip access-lists Extended IP access list ACLEXAM 5 permit icmp any any 10 permit ip 192.168.1.0 0.0.0.255 192.168.2.128 0.0.0.63 20 permit tcp 192.168.1.0 0.0.0.255 host 192.168.3.3 eq www
なお、この例では、次のパケットが通過します。
●全てのICMPパケット
●192.168.1.0/24から192.168.2.128/26宛の全てのIPパケット
●192.168.1.0/24から192.168.3.3のホスト宛のHTTPのTCPパケット(Webアクセス)
以上、今回は、IPv4の高度なACLとして番号付き拡張ACLの機能、プロトコルと主なウェルノウンポートなどについて、名前付き拡張ACLを含めて解説しました。
この記事で紹介した書籍 | |
---|---|
Wendell Odom 著/株式会社クイープ 訳 |
シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J本書は、シスコ技術者認定のうち、CCENT/CCNAの認定を目指す人のための公式ガイドブックです。2013年に改訂されたICND1の試験内容に対応しています。新ICND1は、旧ICND1からトピックの削除と追加が行われています。ICND1の合格により、CCENT認定を受ければ、CCNA認定への最初のステップをクリアしたことになります。本書を携えつつCiscoプロフェッショナル認定試験突破に向けて大きな一歩を踏み出しましょう。 |
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。