Ответ:
Задача: Настроить в правиле ACL маску на диапазон TCP-портов или UDP-портов (TCP-порты - 11000 - 11999, UDP-порты 16384 - 32767).
1) Вычисление масок профилей доступа:
начальное 11000 (дес.) = 0010 1|010 1111 1000 (двоич.)
конечное 11999 (дес.) = 0010 1|110 1101 1111 (двоич.)
маска 1111 1|000 0000 0000 (двоич.) = 0xF800 (шестн.)
закроет диапазон
от 0010 1|000 0000 0000 = 10240 дес.
до 0010 1|111 1111 1111 = 12287 дес.
Данная маска закроет более широкий диапазон, чем требуется (исходный: 11000 - 11999, эта маска: 10240 - 12287). Если необходимо, можно написать другое правило с маской 0xffff для исключённых портов.
Если нужно точное перекрытие такого диапазона, то нужно создавать другие маски и комбинировать их для выполнения данных требований.
начальное 16384 (дес.) = 01|00 0000 0000 0000
конечное 32767 (дес.) = 01|11 1111 1111 1111
маска 11|00 0000 0000 0000 (двоич.) = 0xC000 (шестн.)
закроет диапазон (в точности требуемый)
от 01|00 0000 0000 0000
2) Общий пример настройки коммутатора:
- TCP-порты - 11000 - 11999(В этом случае, ACL может быть создан для TCP-портов 10240 - 12287 с использованием одной маски и одного правила)
create access_profile ip tcp dst_port_mask 0xF800 profile_id 1
config access_profile profile_id 1 add access_id 10 ip tcp dst_port 11000 deny
- UDP-порты 16384 - 32767(В соответствии с этим требованием, ACL может быть создан TCP-портов 16384 - 32767 с использованием одной маски и одного правила)
create access_profile ip udp dst_port_mask 0xC000 profile_id 2
config access_profile profile_id 2 add access_id 10 ip udp dst_port 16384 deny