ACL для четных и нечетных сетей или хостов

Занятный способ выявлять четные и нечетные сети подсказал Василий в комментариях к этой статье.

Допустим нам надо отфильтровать четные и нечетные сети в диапазоне 192.168.0.0/24 – 192.168.255.0/24. До сегодняшнего утра у меня бы руки сами потянулись к перлу или bash, чтобы сгенерировать ACL, но, как оказалось, есть способ значительно проще.

Что меняется при переходе от сети к сети? Фактически лишь – 3ий откет:

192.168.[00000000].0
192.168.[00000001].0
192.168.[00000010].0
192.168.[00000011].0
192.168.[00000100].0
192.168.[00000101].0

а от сети к сети меняется лишь последний бит, а значит мы можем создать wildcard mask, которую “интересует” лишь последний бит – 11111111.11111111.11111110.11111111, что, в десятичном формате, равно 255.255.254.255. Под такую wildcard mask попадает все, что имеет вид xxxxxxx0 в третьем откете, а значит все наши четные сеточки :)

Так что, друзья, wildcard mask это не просто reverse subnet mask.