ga6iem Posted August 2, 2011 Posted August 2, 2011 В общем пишу acl на 21, 22 и 80 порты. Задача закрыть их с определенных портов коммутатора. В общем практически то что написано здесь http://www.dlink.ru/ru/faq/62/201.html и http://www.dlink.ru/ru/faq/62/print_209.html Реально едет крыша, сижу тупо 3-й час и не въезжаю как это делается. Объясните почеловечески или на худой конец ткните в калькулятор для расчета этих гребаных масок! Вставить ник Quote
s.lobanov Posted August 2, 2011 Posted August 2, 2011 В вашем случае маска 0xFFFF и 3 правила(по правилу на каждый порт) Вообще длинк конечно удивляет, наверное скоро сделают, что надо будет знать какие регистры за что отвечают и что туда писать, чтобы сконфигурить те или иные фичи. Хоть бы онлайн-калькулятор-генератор ACL сделали, чтоб народ с битами не мучался. Вставить ник Quote
ga6iem Posted August 2, 2011 Author Posted August 2, 2011 (edited) Спасибо! Но не хочу дальше напрягать если к примеру потребуется мне закрыть еще что-будь. В общем хочу разобраться, поясните как получилась маска 0xFFFF ? 0xFFFF(hex)=1111000000000000(bin)=61440(dec) т.е. получается эта маска подходит под любой из 61440 портов и ее можно для любого ip acl профиля указывать? И как считать дальше т.н. ip_mask? Edited August 2, 2011 by ga6iem Вставить ник Quote
fomka31ru Posted August 2, 2011 Posted August 2, 2011 Правда, не знаю, как получилась маска 0хFFFF, судя по моим данным другая (на правильность не претендую), сделано но аналогии ссылки 1 порт 21 (dec) = 10101 (bin) = 0000 0000 0|001 0101 (добавил нули вначале чтобы набрать до нужной длины) порт 22 (dec) = 10110 (bin) = 0000 0000 0|001 0110 порт 80 (dec) = 1010000(bin) = 0000 0000 0|101 0000 | разделил специально, чтобы показать, где биты разнятся. Ну а дальше инвертируем все до | и добавляем недостающее нулями, получается маска 1111 1111 1000 0000 = 0xFF80 Как-то так Вставить ник Quote
s.lobanov Posted August 2, 2011 Posted August 2, 2011 0xFFFF(hex)=1111000000000000(bin)=61440(dec) Это нонсенс! Рекомендую срочно обратиться к школьному курсу информатики или хотя бы воспользоваться calc.exe или как оно там в виндоусе сейчас называется. Маска считается точно также как для IP адресов, только представлена в 16-ричной форме. Грубо говоря, 0xFFFF это аналог 255.255.255.255 в IPv4, т.е. там это маска единичного хоста, а тут единичного порта. Пример на сайте длинка, мягко говоря, идиотский, там задача поставлена одна(11000 - 11999), а находят другое(10240 - 12287), что конечно сбивает с толку. 1111 1111 1000 0000 = 0xFF80 Эта маска закроет диапазон из 128 портов. Оно надо? Вставить ник Quote
ga6iem Posted August 2, 2011 Author Posted August 2, 2011 (edited) все равно не понимаю, возьмем расчет из примера по ссылке http://www.dlink.ru/ru/faq/62/201.html начальное 16384 (дес.) = 01|00 0000 0000 0000 конечное 32767 (дес.) = 01|11 1111 1111 1111 маска 11|00 0000 0000 0000 (двоич.) = 0xC000 (шестн.) закроет диапазон (в точности требуемый) от 01|00 0000 0000 0000 как у них получилось 11|00 0000 0000 0000 ? прикол по теме )))) 16384+32767=49151,причем если 49151+1=49152=0xC000 (calc.exe) Edited August 2, 2011 by ga6iem Вставить ник Quote
fomka31ru Posted August 3, 2011 Posted August 3, 2011 Пример на сайте длинка, мягко говоря, идиотский, там задача поставлена одна(11000 - 11999), а находят другое(10240 - 12287), что конечно сбивает с толку. Почему же идиотский, например для классики, какая минимальная маска покроет диапазон адресов 10.0.0.5 - 10.0.0.10. Ответ /28. Но блин дураки составившие всякие RFC, эта же маска описывает диапазон 10.0.0.0-10.0.0.15 как у них получилось 11|00 0000 0000 0000 ? до первой разницы в битах ставишь единицы, потом нули, как пример 1010 1010 1100 1100 1010 1011 1011 0110 1111 1110 0000 0000 Вставить ник Quote
ga6iem Posted August 3, 2011 Author Posted August 3, 2011 так, с этим понятно, а как быть если требуется создать маску профиля для мак? Например маска профиля 01-00-00-00-AC-11 будет равна FF-FF-FF-FF-FF-FF почему? Вставить ник Quote
fomka31ru Posted August 3, 2011 Posted August 3, 2011 Да хз, я с длинками не работал, наверное придется почитать ;) Вставить ник Quote
ga6iem Posted August 3, 2011 Author Posted August 3, 2011 Дык читаю, дословно: Маска профиля доступа определяет, какие биты в значениях полей IP-адрес, МАС-адрес, порт ТСР/UDP и т.д. приходящих на коммутатор пакетов, должны проверяться, а какие игнорироваться. Биты маски имеют следующие значения: «0» – означает игнорирование значения соответствующего бита поля пакета; «1» – означает проверку значения соответствующего бита поля пакета. Предположим, администратору сети необходимо запретить прохождение трафика от узла с МАС-адресом 01-00-00-00-АС-11. Маска профиля доступа для этого адреса будет равна FF-FF-FF-FF-FF-FF. Вставить ник Quote
Negator Posted August 3, 2011 Posted August 3, 2011 ga6iem - читай лучше форум длинка. там примеров есть сотни на все случаи жизни. да и самих длинковцев на том форуме можно попросить - сделают Вставить ник Quote
fomka31ru Posted August 3, 2011 Posted August 3, 2011 Маска профиля доступа для этого адреса будет равна FF-FF-FF-FF-FF-FF. потому как эта маска определяет одно значение, это как с маской /32, которая определяет один IP адрес. Логично? Вставить ник Quote
ga6iem Posted August 3, 2011 Author Posted August 3, 2011 потому как эта маска определяет одно значение, это как с маской /32, которая определяет один IP адрес Ну да, так и есть, если учесть данный пример. В принципе тут уже и БЕЗ понимания расчета ethernet маски уже жить можно :) Правило 1: если МАС-адрес источника SourceMAC равен МАС-адресам ПК-1 или ПК-2 –разрешить (Permit). create access_profile ethernet source_mac FF-FF-FF-FF-FF-FF profile_id 1 profile_name Permit_Internet config access_profile profile_id 1 add access_id 1 ethernet source_mac 00-50-ba-11-11-11 port 1 permit config access_profile profile_id 1 add access_id 2 ethernet source_mac 00-50-ba-22-22-22 port 10 permit Правило 2: если МАС-адрес назначения DestMAC равен MAC-адресу Интернет-шлюза – запретить (Deny). create access_profile ethernet destination_mac FF-FF-FF-FF-FF-FF profile_id 2 profile_name Deny_Internet config access_profile profile_id 2 add access_id 1 ethernet destination_mac 00-50-ba-99-99-99 port 11 deny Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.