faq обучение настройка
Текущее время: Пн июл 21, 2025 19:27

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: 3028 deny all ACL
СообщениеДобавлено: Вт дек 01, 2009 18:30 
Не в сети

Зарегистрирован: Ср май 02, 2007 20:47
Сообщений: 84
как создать access_id или профиль, запрещающий прохождение вообще любого трафика?

Хочется создать ACL следующего вида:

разрешить ethertype x1
разрешить ethertype x2
разрешить ethertype x3
...
запретить всё остальное


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 01, 2009 18:31 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
Включая IPv6?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 01, 2009 18:37 
Не в сети

Зарегистрирован: Ср май 02, 2007 20:47
Сообщений: 84
в разрешенный перечень ethertype например включить всё необходимое для работы IPv4. Для начала, опять-же например ip4,arp

остальное запретить

на самом деле не важно какие ethertype, это может быть и PPPoE и всё что угодно. Разрешить их не сложно, а вот как запретить всё остальное не могу понять.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 01, 2009 19:10 
Не в сети

Зарегистрирован: Ср май 02, 2007 20:47
Сообщений: 84
единственное что сходу приходит на ум это создать один профиль, разрешающий определенные ethertype и второй профиль, который используя packet content mask запретит всё остальное. Насколько я понимаю для этого достаточно указать любой offset и маску 0х0, например так:
Код:
create access_profile  packet_content  offset_0-15  0x0 0x0 0x0 0x0  profile_id 2
config access_profile profile_id 2  add access_id 1000  packet_content  offset 0 0x0  port 1 deny


вроде работает, из лишнего проскакивают только броадкастовые и какие-то мультикастовые фреймы аля IPX и IGMP.

Есть ли другие способы решить вышеописанную задау?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 02, 2009 07:30 
Не в сети

Зарегистрирован: Ср ноя 09, 2005 14:26
Сообщений: 808
Откуда: Alma-Ata
Код:
create access_profile ethernet ethernet_type profile_id 8
config access_profile profile_id 8 add access_id 1 ethernet ethernet_type 0x806 port all permit
config access_profile profile_id 8 add access_id auto ethernet ethernet_type 0x800 port all permit

create access_profile ethernet source_mac 00-00-00-00-00-00 profile_id 10
config access_profile profile_id 10 add access_id auto_assign ethernet source_mac 00-00-00-00-00-00 port all deny



разрешает IP и ARP и запрещает все остальное.

_________________
не важно, из какого места растут золотые руки


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 02, 2009 22:36 
Не в сети

Зарегистрирован: Пн сен 27, 2004 18:18
Сообщений: 1642
Откуда: Vault 13
ну или через PCM:
Код:
# протоколы
create access_profile                                        packet_content_mask offset_0-15 0x0 0x0 0x0 0xffff0000 offset_16-31 0xffff0000 profile_id 1
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x08060000    offset 16 0x08000000 port <порт(ы)> permit
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x08000000    offset 16 0x08000000 port <порт(ы)> permit

# бродкасты (исторически я их все время отдельно блочу, чтоб IPX и т.д. не пролетали)
create access_profile                                        ethernet destination_mac ff-ff-ff-ff-ff-ff profile_id 2
config access_profile profile_id 2 add access_id auto_assign ethernet destination_mac ff-ff-ff-ff-ff-ff port <порт(ы)> deny

# deny all
create access_profile                                        ethernet source_mac 00-00-00-00-00-00 profile_id 3
config access_profile profile_id 3 add access_id auto_assign ethernet source_mac 00-00-00-00-00-00 port <порт(ы)> deny


P.S. в принципе offset 16 в profile_id 1 можно и не указывать

_________________
с уважением, БП


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 03, 2009 06:59 
Не в сети

Зарегистрирован: Ср ноя 09, 2005 14:26
Сообщений: 808
Откуда: Alma-Ata
Павел (2 snark), в 30-й серии не все тегированные пакеты - только те, что идут с тегированных портов. Может в данном случае универсальнее будет использовать ethernet ethernet_type profile_id? Иначе для тегированных портов надо создавать один профиль, для нетегированных - другой (тот же самый, но сдвинутый на 4 байта). Вот в 35-й серии это уже как бы дело вкуса - там все пакеты тегированные - в зависимости от личных предпочтений можно выбрать либо packet_content, либо ethernet ethernet_type profile_id.

Дополнение после повторного внимательного прочтения предыдущего поста.

А! Все, вопрос отменяется! Еще раз прочитал АЦЛ. Там для двух позиций сразу все прописано. Это моя невнимательность.

_________________
не важно, из какого места растут золотые руки


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 03, 2009 23:31 
Не в сети

Зарегистрирован: Вс дек 21, 2008 18:53
Сообщений: 1308
GreatFoolDad писал(а):
А! Все, вопрос отменяется! Еще раз прочитал АЦЛ. Там для двух позиций сразу все прописано. Это моя невнимательность.

Поясните на пальцах, плз.:)

_________________
D-Link Switches: Tips & Tricks


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 07:39 
Не в сети

Зарегистрирован: Ср ноя 09, 2005 14:26
Сообщений: 808
Откуда: Alma-Ata
tagged-пакет от untagged-пакета отличается доп.заголовком, в котором содержится номер вилана. Размер доп.заголовка 4 байта. Стало быть то, что в untagged-пакете начинается с 12-й позиции, в tagged-пакете пойдет с 16-й. Вот snark и прописал в одном (первом) АЦЛ-е сразу оба правила:
Код:
# протоколы
create access_profile                                        packet_content_mask offset_0-15 0x0 0x0 0x0 0xffff0000 offset_16-31 0xffff0000 profile_id 1

offset_0-15 0x0 0x0 0x0 0xffff0000 - это для untagged - пропущены неинтересные байты 0-11 (0x0 0x0 0x0), а для позиций 12-15 задается условие маской -0xffff0000
offset_16-31 0xffff0000 - это для tagged - это 16-я позиция, значит для позиции с 16 по 19-ю задаем условие маской 0xffff0000, а все остальное - с 20 по 31-ю позиции - нас не интересует - его и не пишем - нули.
А уже дальше в правилах эту маску применяем на строку 0x08060000 (т.е. это протокол ARP - Ethertype 0x806 hex) и 0x08000000 (протокол IP - Ethertype 0x800 hex).
Код:
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x08060000    offset 16 0x08060000 port <порт(ы)> permit
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x08000000    offset 16 0x08000000 port <порт(ы)> permit

Сюда же можно добавить, к примеру, PPPoE (Ethertype 0x8863 (hex) - PPPoE Discovery Stage и Ethertype 0x8864 (hex) - PPPoE Session Stage)
Код:
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x88630000    offset 16 0x88630000 port <порт(ы)> permit
config access_profile profile_id 1 add access_id auto_assign packet_content                    offset 12 0x88640000    offset 16 0x88640000 port <порт(ы)> permit

И так далее - открываем http://www.iana.org/assignments/ethernet-numbers и выбираем все, что душе угодно.
Пока писал пост, подумал - а вот интересно, как отрабатывают условия на offset_0-15 и offset_16-31 - AND или OR?
Лично мне больше нравится запись того же самого АЦЛ-а в виде ethernet ethernet_type
Кстати, а это как работает? Явно поле Ethertype проверяется, причем в 12-й и 16-й позициях - основной вопрос - с логикой AND или OR? По идее в случае с ethernet ethernet_type логика должна быть OR, а в packet_content должна БЫ быть логика AND, т.к. условия в одном профиле прописаны.

_________________
не важно, из какого места растут золотые руки


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 12:59 
Не в сети

Зарегистрирован: Вс дек 21, 2008 18:53
Сообщений: 1308
GreatFoolDad, спасибо! :wink:

_________________
D-Link Switches: Tips & Tricks


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 13:50 
Не в сети

Зарегистрирован: Ср ноя 09, 2005 14:26
Сообщений: 808
Откуда: Alma-Ata
А пожалуйста!
Пока отвечал, сам задумался. Так что по-любому полезно получилось.

_________________
не важно, из какого места растут золотые руки


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 14:14 
Не в сети

Зарегистрирован: Ср май 02, 2007 20:47
Сообщений: 84
GreatFoolDad писал(а):
Пока писал пост, подумал - а вот интересно, как отрабатывают условия на offset_0-15 и offset_16-31 - AND или OR?
Лично мне больше нравится запись того же самого АЦЛ-а в виде ethernet ethernet_type
Кстати, а это как работает? Явно поле Ethertype проверяется, причем в 12-й и 16-й позициях - основной вопрос - с логикой AND или OR? По идее в случае с ethernet ethernet_type логика должна быть OR, а в packet_content должна БЫ быть логика AND, т.к. условия в одном профиле прописаны.


тоже интересный вопрос. Если у snark это правильно фильтрует, значит как OR. Хотя по синтаксису логично было бы предположить следующее - в пределах одного профиля:
при написании в одном access_id - AND
при написании в разных access_id получится OR
Но либо я что-то не понимаю, либо одно из двух.

Еще один интересный вопрос - как вообще выполняется сравнение в access_id content_mask - именно как "равно" или как какая-то битово-логическая операция? Предполагаю, что с маской, заданной в access_profile выполняется AND, а в access_id "равно".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 14:16 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
Вообще-то это XOR - сумма по модуля два.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 14:18 
Не в сети

Зарегистрирован: Ср май 02, 2007 20:47
Сообщений: 84
Demin Ivan писал(а):
Вообще-то это XOR - сумма по модуля два.
Иван, где именно?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 04, 2009 14:26 
Не в сети

Зарегистрирован: Ср ноя 09, 2005 14:26
Сообщений: 808
Откуда: Alma-Ata
Иван, я-то имел в виду "логическое И" и "логическое ИЛИ".
В случае snark-овского профиля (No 1) по идее должно быть "логическое И" - т.е. должны быть выполнены оба условия - и для offset_0-15, и для offset_16-31.
А вот как работает ethernet_type? Предполагаю, что через "логическое ИЛИ" - "если хотя бы один из кусков по адресам 12 и 16 равен чему надо (800, 806 и т.д.)".
Правильно я предположил?

_________________
не важно, из какого места растут золотые руки


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Putin-Rostov и гости: 40


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB