>>>Привет!
>>>Как при помощи wildcard можно указать диапазон адресов, а не подсеть.
>>>Например 10.0.0.7 - 10.0.0.9
>>>Если с помощью wildcard можно указывать только подсети, то в чем
>>>смысл wildcard и в чем отличие от обычной маски подсети?
>>
>>
>>10.0.0.7 0.0.0.2
>
>задал диапазон как вы указали, в результате адрес начала диапазона изменился на
>10.0.0.5,вот так:
>
>rs-12.vl1(config)#ip access-list extended 123
>rs-12.vl1(config-ext-nacl)#permit ip 10.0.0.7 0.0.0.2 any
>rs-12.vl1(config-ext-nacl)#^Z
>rs-12.vl1#sh ip access-lists 123
>Extended IP access list 123
> 10 permit ip 10.0.0.5 0.0.0.2 any
>rs-12.vl1#
Гм. У меня то же самое :-)
Придется вспоминать бинарную арифметику и размышлять вместе..
wildcard mask обозначает биты IP-адреса, которые должны быть проанализированы. 0 - анализируется, 1 - нет.
IP 10.0.0.7 в бинарном виде выглядит так
00001010.00000000.00000000.00000111
Если мы хотим адресовать сеть /24, то есть задать все IP из сети 10.0.0.0/24, то Wildcard mask будет выглядеть как 0.0.0.255, то есть в бинарном виде:
00001010.00000000.00000000.00000111
00000000.00000000.00000000.11111111
То есть в приходящем пакете проверяются биты адреса, которые стоят над нулями. Те, что над еденичками, не проверяются.
В чем сила wildcard mask - в том, что биты могут идти не подряд. Например, wildcard mask может выглядеть как:
00000000.00000000.00001001.10110011
Сетевая маска так выглядеть не может, так как она означает, какая часть адреса является адресом сети, какая адресом хоста. Она обязна быть непрерывной.
Теперь давайте подумаем, почему не получается задать ваш диапазон.
10.0.0.7 выглядит в бинарном виде как:
00001010.00000000.00000000.00000111
10.0.0.9 выглядит так:
00001010.00000000.00000000.00001001
С wildcard mask 0.0.0.2, которая в бинарном виде выглядит как
00000000.00000000.00000000.00000010, получается, что не надо анализировать только один бит. В получившийся диапазон попадают адреса
00001010.00000000.00000000.000001x1, то есть оканчивающиеся на 5 (101) или на 7 (111). Вот поэтому рутер и заменил 7 на 5, так как диапазон начинается на 5, это нагляднее выглядит.
Теперь подумаем, как адресовать адреса с 7 по 9.
7 в бинарном виде 0111, 9 - 1001. Соответственно, не нужно анализировать первые три бита, то есть маска будет выглядеть 1110. Но под такую маску попадут любые адреса, оканчивающиеся на xxx1, то есть:
1 (0001)
3 (0011)
5 (0101)
7 (0111)
9 (1001)
11 (1011)
13 (1101)
15 (1111)
Так что это не выход :-( Увы, придется писать две строчки..
А wildcard mask - мощный инструмент, надо только хорошо понимать принцип его работы..