ネットワークエンジニアになろう! > CCO レビュー > ACL - 指定したパケットの送受信を許可・拒否する

ACL - 指定したパケットの送受信を許可・拒否する

ACL(Access Control List) は、主に、ルータやスイッチを通過するトラフィックを制御するために用いられます。
アドレスなどのヘッダー情報に基づいて、通過を許可、又は禁止します。

Cisco のIOS では、IP だけではなく、IPX、DECnet、XNS・・・といった様々なプロトコルのパケットをACL で制御することができます。



Cisco.com (CCO) レビューについて

■ レビュー対象

一般的に使用される IP ACL の設定(ライター翻訳)

Configuring Commonly Used IP ACLs (英文)


ACL (Access Control List) の設定方法を説明する技術資料です。
Cisco のIOS では、IPX、DECnet、XNS など、様々なプロトコルのパケットを制御することができますが、この資料ではIP を対象にしています。

IP 用のACL には、Standard IP ACL とExtended IP ACL の二種類があります。

※この資料では、画像(ネットワーク図)の表示がおかしくなっています。図は、自動翻訳か原文を参照しましょう。

選択したホストによるネットワーク アクセスの許可

この例では、IP Standard ACL を使って、もっとも基本的なトラフィック制御を行っています。
Ethernet0 で受信されるIP パケットの内、送信元アドレスが192.168.10.1 の場合のみ受信可能で、それ以外はすべて破棄されます。

ACL は、その名の通り、一つ以上の制御文で構成されるリストです。
受信したパケットは、ACL に合致するかどうか、上から順番に確認されます。
合致する行が見つかると、確認作業はそこで終了し、ACL の設定にしたがって、パケットはpermit 又はdeny されます。

表示はされていませんが、リストの最後には「暗黙のdeny all (implicit deny all) と呼ばれる、すべてのパケットを破棄するACL が存在します。
設定したACL にヒットしない場合、この「暗黙のdeny all」が適用され、パケットは破棄されます。

この例で、送信元アドレスが192.168.10.1 ではないパケットがすべて破棄されるのは、この「暗黙のdeny all」が適用されるためです。

選択したホストによるネットワーク アクセスの拒否

先の例とは逆に、この例では、送信元アドレスが192.168.10.1 の場合は破棄、それ以外のパケットはすべて受信を許可しています。

「暗黙のdeny all」による破棄を防ぐため、access-list 1 deny host 192.168.10.1 の次に、すべてのパケットを受信可能にするaccess-list 1 permit any を設定しています。

連続した IP アドレスの範囲へのアクセスの許可

先の二つの例では、IP Standard ACL を使っていましたが、この例では、IP Extended ACL を用いています。
ACL の設定で、access-list の次にある番号は、ACL に割り当てるID(アクセスリスト番号)です。
アクセスリスト番号が1〜99、1300〜1999 の場合はStandard、100〜199、2000〜2699 の場合はExtended ACL です。

Telnet トラフィックの拒否(TCP、ポート 23)

これまでの例は、送信元/宛先アドレスを条件にACL を設定していましたが、この例では、TCP のポート番号を条件しています。

Ethernet0 で受信するIP パケットの内、TCP 宛先ポート番号が23 (Telnet) の場合は破棄され、それ以外はすべて受信されます。

今回の例では宛先ポート番号を条件としましたが、送信元ポート番号を用いる場合は、access-list 102 deny tcp any eq 23 any とします。

内部ネットワークだけによる TCP セッション開始の許可

この例では、TCP の宛先ポート番号が1023 以上、且つ、すでにTCP コネクションが確立されている場合のみ受信可能となっています。

established が設定されていると、TCP ヘッダーのACK もしくはRSTフラグが立っている場合(すでにコネクションが確立していることを意味する)のみ合致します。

FTP トラフィックの拒否(TCP、ポート 21)

ACL でTCP やUDL の送信元/宛先ポートを指定する際、ほとんどのWell-Known ポートは、番号ではなく名前で指定することができます。
この例では、FTP (Control = 21、Data = 20) を名前で指定しています。

※ この翻訳文では、二行のACL がつながって表示されてしまっています。正しいACL 表記は原文を参照しましょう。

ルーティング更新の許可

ACL をインターフェイスに適用すると、「暗黙のdeny all」によって、RIP やOSPF などのルーティングプロトコルのアップデートも受け取れなくなってしまうので、注意してください。

ACL に基づくトラフィックのデバッグ

ACL は、パケットの送受信をpermit/deny するだけではなく、特定のパケットを捕らえるための手段としても用いられます。

この例では、以下の条件に合致するIP パケットを受信すると、debug ip packet 199 detail で、パケットの内容をコンソールに表示させています。

10.1.1.1 から172.16.1.1 宛のTCP パケット
もしくは
172.16.1.1 から10.1.1.1 宛のTCP パケット


このほかにも、特定のパケットを、QoS 機能によりCOS/TOS の値を書き換えることなどにも、ACL は利用されます。


ネットワークエンジニアになろう!のトップページへ戻る
サイト内検索
無料メールマガジン「英語でネットワークエンジニア」
マニュアルやRFCを読むのに必要なのは、高度な文法知識ではなく語彙力です。毎回一単語、例文と解説に技術情報を併せてお届けします. (マガジンID:0000181633)
メールアドレス:
Powered by
This website is powered by Movable Type 3.2 Smartnetworks.jp.