ACL/OSPFのワイルドカードマスク~なぜサブネットマスクと違うのかの理由~ | SEの道標
ACL

ACL/OSPFのワイルドカードマスク~なぜサブネットマスクと違うのかの理由~

ワイルドカードマスクの意味

ACLのワイルドカードは「基準となるIPアドレス」とセットで使われます。

ワイルドカードの bit が 0 の箇所は、基準となるIPアドレスの bit のままになり、ワイルドカードの bit が 1 の箇所は、基準となるIPアドレスの bit は 0 でも 1 でもどちらでも良いと考えます。

例えば192.168.1.9 という基準となるIPアドレスに対し、ワイルドカード 0.0.255.255を適用することを考えます。

すると上記の通り、192.168.0.0/16 のアドレス帯全てと同じ意味になります。

なので、基準となる IP アドレスの第 3 オクテット、第 4 オクテットが何であっても、結果は同じになります。

なぜサブネットマスクと違うのか、その理由は?

ACL ではなぜサブネットマスクで設定しないのでしょうか。これには明確な根拠があるわけではないのですが、柔軟性を考慮した結果だと考えられます。

サブネットマスクが範囲指定をするものであるのに対し、ワイルドカードは範囲ではなく特定パターンを指定するのです。

例えば 192.168.0.0/16 を /24 のサブネットで社内 NW を展開していった際、各セグメントで第4オクテット 1~15 のIPアドレスを特殊用途PCに割り振ったとします。

そしてこの特殊用途 PC のみがあるサーバ [IP = 10.1.1.1] へアクセスできるような ACL を作る場合は以下のように設定します。

(config)# access-list 100 permit ip 192.168.0.0 0.0.255.15 host 10.1.1.1

この結果、送信元が 192.168.0.0/16 の中で第 3 オクテットが自由、第 4 オクテットが 1~15 のものだけが 10.1.1.1 への通信を許可されます。

第4オクテットが8の倍数の端末を拒否するACL

ワイルドカードで偶数が出てくることは珍しいですが、あり得ない話ではありません

あまり実用性はありませんが、第 4 オクテットが 8 の倍数である端末だけを拒否することもできます。

(config)# access-list 1 deny 192.168.1.0 0.0.0.248

とすると以下のようになります。

第4オクテットは1,2,4の部分は固定で0となっているので、8の倍数しか作れません

結果、192.168.1.{8, 16, 24, 32, ..., 248} が拒否される ACL となります

コメント

タイトルとURLをコピーしました