■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)。
インタフェースにACLを設置する方向
図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を含めて解説しました。
この記事で紹介した書籍
シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J

Wendell Odom 著/株式会社クイープ 訳
価格:4,400円+税
発売日:2014年03月05日発売
ISBN:978-4-8443-3553-5
発行:インプレスジャパン

シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J

本書は、シスコ技術者認定のうち、CCENT/CCNAの認定を目指す人のための公式ガイドブックです。2013年に改訂されたICND1の試験内容に対応しています。新ICND1は、旧ICND1からトピックの削除と追加が行われています。ICND1の合格により、CCENT認定を受ければ、CCNA認定への最初のステップをクリアしたことになります。本書を携えつつCiscoプロフェッショナル認定試験突破に向けて大きな一歩を踏み出しましょう。

Amazon詳細ページへImpress詳細ページへ

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30