Страница 1 из 1

Нужна помощь в написании профиля для NTE-2

Добавлено: 28 сен 2017 18:05
flameflower
Доброго дня.
Возникла хотелка написать нехитрый профиль.
Хочу фильтровать весь трафик на uni0 и uni1 портах по ether type.
А точнее мне надо, что бы ходил только ether type 0x8863 и 0x8864
На терминале прописаны следующие правила:
rule show pon

Код: Выделить всё

5: if (VID == 9) then discard *Profile*
5: if (VID == 1001) then discard *Profile*
5: if (VID == 316) then DeleteTag; forward *Profile*
14: if (LinkIndex == 0x0) then path = port 0 queue 0; forward *Profile*
14: if (LinkIndex == 0x1) then path = port 0 queue 1; forward *Profile*
14: if (LinkIndex == 0x2) then path = port 1 queue 0; forward *Profile*
14: if (LinkIndex == 0x3) then path = port 1 queue 1; forward *Profile*

rule show uni0

Код: Выделить всё

5: if (L3Proto == 0x8863) then AddTagVID = 316; forward *Profile*
5: if (L3Proto == 0x8864) then AddTagVID = 316; forward *Profile*
14: if (Always) then path = link 0 queue 0; forward *Profile*

Однако на OLT (NTE-8X) я вижу мак в VID 1, а ожидалось его узреть в VID316. PPPoE сессия не подключается. PADI пакетов в VLAN316 нема.
В итоге, в кач-ве временной заглушку, сделал для uni0 порта следующий профиль:

Код: Выделить всё

5: if (L3Proto == 0x8863) then AddTagVID = 316; forward *Profile*
5: if (L3Proto == 0x8864) then AddTagVID = 316; forward *Profile*
5: if (Always) then AddTagVID = 316; forward *Profile*
14: if (Always) then path = link 0 queue 0; forward *Profile*

Подскажите, пожалуйста, почему не отработали первые 2 правила для uni0 порта?

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 02 окт 2017 09:12
Dirks G
Добрый день.
Правила проверяются снизу вверх и проверяются на противоречивость, в результате выполняется правило с наивысшим приоритетом, а у вас они все имеют приоритет 5.

Измените приоритет у правила и выполните реконфигурацию ONT после этого.

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 02 окт 2017 13:18
flameflower
Dirks G писал(а):Добрый день.
Правила проверяются снизу вверх и проверяются на противоречивость, в результате выполняется правило с наивысшим приоритетом, а у вас они все имеют приоритет 5.

Измените приоритет у правила и выполните реконфигурацию ONT после этого.

Так я же указал, что с правилами для uni портов

Код: Выделить всё

5: if (L3Proto == 0x8863) then AddTagVID = 316; forward *Profile*
5: if (L3Proto == 0x8864) then AddTagVID = 316; forward *Profile*
14: if (Always) then path = link 0 queue 0; forward *Profile*

У меня mac оказался в VID 1, а ожидалось в vID316.
Это уже в кач-ве заглушки я добавил правило в конец, что PPPoE заработало и решил проконсультироваться на форуме.
Или я не верно что то понял?

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 03 окт 2017 18:42
flameflower
Вообщем поперемещал я правила местами, но либо терминал переставал изучать mac за uni портом, либо mac "уехал" в VID1.
Версия прошивки: Eltex LTE software version 3.14.4 build 183 on 10.07.2015 15:31:55
Есть идеи?

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 03 окт 2017 18:59
flameflower
Дополню. При правилах rule show uni0

Код: Выделить всё

0) 5: if (Always) then discard *Profile*
 1) 6: if (L3Proto == 0x8863) then AddTagVID = 316; forward *Profile*
 2) 6: if (L3Proto == 0x8864) then AddTagVID = 316; forward *Profile*
 3) 14: if (Always) then path = link 0 queue 0; forward *Profile*

Не изучается mac за uni0 портом.
Меняем правило "5: if (Always) then discard *Profile*"
На "5: if (Always) then AddTagVID = 316; forward" в сеть начинает лететь мусор от роутера, который хотел зафильтровать.
Что, вообщем то, ожидаемо.
Так вот. Это я не правильно правила пишу или же это не корректно обрабатывается поле ether type?

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 06 окт 2017 08:54
Dirks G
Как я уже писал, правила проверяются на противоречивость и выполняется то, у которого наивысший приоритет.
С таким правилом, у вас будет дропаться весь трафик - 5: if (Always) then discard *Profile*"
С таким правилом, у вас будет на весь трафик навешиваться метка 316 - "5: if (Always) then AddTagVID = 316; forward"

И для фильтрации по ethertype вы используете не то правило, нужно использовать L2Type, а не L3Proto.

Re: Нужна помощь в написании профиля для NTE-2

Добавлено: 06 окт 2017 18:13
flameflower
Dirks G писал(а):Как я уже писал, правила проверяются на противоречивость и выполняется то, у которого наивысший приоритет.
С таким правилом, у вас будет дропаться весь трафик - 5: if (Always) then discard *Profile*"
С таким правилом, у вас будет на весь трафик навешиваться метка 316 - "5: if (Always) then AddTagVID = 316; forward"

И для фильтрации по ethertype вы используете не то правило, нужно использовать L2Type, а не L3Proto.

172 страничка документации:

Код: Выделить всё

L3PROTO Поле типа протокола уровня 3 (EtherType)L3 Protocol (EtherType)

С приоритетами и порядком обработки я уже понял. Спасибо.
А вот по EtherType информация противоречива.

Код: Выделить всё

L2Type Поле длины или типа уровня 2 L2 Length/Type

Т.е. в документации ошибка?