Re: 【ACLの主なルール】について

この質問の投稿一覧へ

なし Re: 【ACLの主なルール】について

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016-1-24 0:31 | 最終変更
antares01  長老   投稿数: 690
1つのACLには複数の条件を書くことができます。この1つの条件をエントリなどとも言います。
例えば、こんな感じです。
access-list 10 permit 192.168.0.0 0.0.0.255
access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 permit 192.168.2.0 0.0.0.255
access-list 10 permit 192.168.3.0 0.0.0.255

そして、ルータはパケットを受信すると、この条件に合致するかを上から順にチェックします。上記の例で言えば、受信パケットの送信元アドレスが
192.168.0.xに一致するか?一致しなければ、次の条件である
192.168.1.xに一致するか?一致しなければ、次の条件である
192.168.2.xに一致するか?

と、上から順番にチェックし続けます。そして、いずれかの条件に合致した場合は残りの下に書かれた条件に合致するかどうかのチェックは行いません。

例えば、受信したパケットの送信元アドレスが192.168.2.1 だった場合、
3行目の「access-list 10 permit 192.168.2.0 0.0.0.255」に合致するので
残りの「access-list 10 permit 192.168.3.0 0.0.0.255」に合致するかは
チェックしません。
これが「それより下の条件は確認しない。」と言うことです。

この「それより下の条件は確認しない。」というルールは非常に重要なルールです。
合致した場合に残りはチェックしないので、ACLの条件を書く【順番】が重要な意味を持ちます。

違った例を出します。
仮に192.168.0.0/24のネットワークがあり、そのうち、192.168.0.1だけは
全ての通信を破棄し、残りのアドレスは通信許可するとします。

access-list 10 deny 192.168.0.1 0.0.0.0
access-list 10 permit 192.168.0.0 0.0.0.255
と書くと要件を満たすことができます。
しかし、順番を間違えて
access-list 10 permit 192.168.0.0 0.0.0.255
access-list 10 deny 192.168.0.1 0.0.0.0
と書いてしまうと、
192.168.0.1は最初の条件に合致するので、通信が許可されてしまい、
2行目に書いた条件で破棄することができなくなります。

「それより下の条件は確認しない。」の重要な点は、条件を書く順番がとても重要であると言うことです。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.