S-fim Posted December 3, 2022 Share Posted December 3, 2022 (edited) А почему не реализовали копирование правил в одном интерфейсе? Можно скопировать только на любой другой. Это же реально нужно. К тому же, я так понимаю, реализуется просто (ибо практически всё уже сделано) UPD: Смысл в клонировании и незначительной правке уже существующего правила. Edited December 3, 2022 by S-fim 2 Quote Link to comment Share on other sites More sharing options...
0 eralde Posted December 3, 2022 Share Posted December 3, 2022 3 часа назад, S-fim сказал: А почему не реализовали копирование правил в одном интерфейсе? Можно скопировать только на любой другой. Это же реально нужно. К тому же, я так понимаю, реализуется просто (ибо практически всё уже сделано) Расскажите, пожалуйста, зачем это нужно? Добавить два одинаковых правила в один список правил прошивка не позволяет. В этом легко убедиться, если попробовать создать правило дважды, не меняя ничего в редакторе настроек правила. Что должно происходить при создании копии правила в том же самом списке? Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 (edited) 2 часа назад, eralde сказал: Расскажите, пожалуйста, зачем это нужно? Добавить два одинаковых правила в один список правил прошивка не позволяет. В этом легко убедиться, если попробовать создать правило дважды, не меняя ничего в редакторе настроек правила. Что должно происходить при создании копии правила в том же самом списке? Это можно было бы сделать и иначе. Я когда-то уже предлагал подобное. Иногда возникает необходимость создания нескольких правил отличающихся друг от друга одним-двумя параметрами (IP адрес или порт). Первый вариант: Создаем первое правило и сохраняем его. Снова заходим в это правило и помимо кнопки "Удалить правило" видим там ещё что-то вроде "Создать новое на основе текущего" или "Клонировать правило". Открывается окно создания нового правила, но уже заполненное параметрами исходного правила. Кнопка "Сохранить" неактивна пока в правило не будут внесены какие-либо изменения в основных параметрах. И никаких коллизий не будет. Редактируем, сохраняем. Другой вариант: Создаем первое правило и сохраняем его. Снова заходим в это правило и помимо кнопки "Удалить правило" видим там ещё что-то вроде "Создать новое на основе текущего" или "Клонировать правило". Данная кнопка не активна, пока не будут изменены ключевые параметры открытого правила. Редактируем то, что необходимо, кнопка становится активной. Нажимаем её, создаётся новое правило, кнопка снова становится неактивной. Если необходимо, снова что-то редактируем, нажимаем, создается ещё одно новое правило. Закончили, закрываем исходное правило и видим в списке все недавно созданные правила. А на данный момент, чтоб избавить себя от однотипного ручного ввода, можно только скопировать нужное правило в другую вкладку. Отредактировать его там. А затем переместить обратно в исходную. Тоже много действий, но хотя бы копипастить или запоминать не нужно. Edited December 3, 2022 by keenet07 1 3 Quote Link to comment Share on other sites More sharing options...
0 S-fim Posted December 3, 2022 Author Share Posted December 3, 2022 (edited) Ну да, предыдущий оратор правильно выразил мою мысль ) Смысл в клонировании и незначительном изменении. Как вариант, чтобы не заморачиваться со всякими новыми кнопками, можно использовать существующую схему - добавить в список копируемых интерфейсов текущий и, при копировании правила в него, пусть открывается форма редактирования с заполненными полями на основе копируемого. Ну а далее по нажатию кнопки "Сохранить", если правило не изменилось, то выдать окно "Такое правило уже существует" и остаться в форме редактирования, пока юзер либо не изменит какие-либо параметры, либо не нажмет отмену Хотя... Копировать можно же несколько правил. Тогда, наверное, кнопка "Клонировать" при редактировании существующего правила будет разумнее. Edited December 3, 2022 by S-fim Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 7 минут назад, S-fim сказал: Как вариант, чтобы не заморачиваться со всякими новыми кнопками, можно использовать существующую схему - добавить в список копируемых интерфейсов текущий и, при копировании правила в него, пусть открывается диалог с заполненными полями на основе копируемого. Ну а далее по нажатию кнопки "Сохранить", если правило не изменилось, то выдать окно "Такое правило уже существует" и остаться в форме редактирования, пока юзер либо не изменит какие-либо параметры, либо не нажмет отмену При таком подходе возникает проблема с тем что в текущей реализации могут быть выбраны сразу несколько правил. Представьте к какому результату это должно привести. Здесь придётся прописывать какую-то дополнительную логику, чтоб копировать внутри одной вкладки можно было только при одном выбранном правиле. А всё это сильно сложнее, чем варианты выше. Quote Link to comment Share on other sites More sharing options...
0 S-fim Posted December 3, 2022 Author Share Posted December 3, 2022 Только что, keenet07 сказал: При таком подходе возникает проблема Да, я уже осознал ) Доп. кнопка в редакторе лучше 1 Quote Link to comment Share on other sites More sharing options...
0 S-fim Posted December 3, 2022 Author Share Posted December 3, 2022 Но всё-таки диалог при сохранении дублирующегося правила (о том, что такое правило уже существует) тоже неплохо бы было сделать. А то сейчас просто втихую "сохраняет" и вываливается в список. 1 Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 (edited) 3 часа назад, eralde сказал: Добавить два одинаковых правила в один список правил прошивка не позволяет. В этом легко убедиться, если попробовать создать правило дважды, не меняя ничего в редакторе настроек правила. Только что попробовал это сделать и создалось два одинаковых правила. И даже они оба легко делаются активными (включенными). Слетела защита от дублирования? Вкладка "Домашняя сеть" Удаление одного из них, не приводит к удалению и второго. В конфиге выглядит так: access-list _WEBADMIN_Home deny ip 0.0.0.0 0.0.0.0 87.250.250.242 255.255.255.255 deny disable deny ip 0.0.0.0 0.0.0.0 87.250.250.242 255.255.255.255 deny disable auto-delete Edited December 3, 2022 by keenet07 Quote Link to comment Share on other sites More sharing options...
0 eralde Posted December 3, 2022 Share Posted December 3, 2022 13 минуты назад, keenet07 сказал: Только что попробовал это сделать и создалось два одинаковых правила. И даже они оба легко делаются активными (включенными). Слетела защита от дублирования? Вкладка "Домашняя сеть" Удаление одного из них, не приводит к удалению и второго. Честно говоря, я не знаю, что проверяет прошивка при создании нового правила. Но известно, что создать, например, два правила "Разрешить всё через TCP" или "Разрешить всё через UDP" нельзя. Попробовал вручную создать два правила "Разрешать любой IP-трафик до конкретного IP" -- воспроизвести ваш случай не удается. Возможно, действительно, проверка где-то не сработала. Интересно вот что: при настройке через веб-интерфейс правила, начиная с какой-то версии 2.x, идентифицируются по значению поля index, которое вычисляется по конфигурации правила. В вашем случае значение index должно быть одинаково. Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 @eralde Перечитайте выше. Дописал сообщение. Щас ещё ниже напишу как так получилось. А в лоб и правда не воспроизводится. Правило не создает. Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 (edited) 10 минут назад, eralde сказал: Попробовал вручную создать два правила "Разрешать любой IP-трафик до конкретного IP" -- воспроизвести ваш случай не удается. Возможно, действительно, проверка где-то не сработала. Да. именно так. Я когда создавал копию правила сделал это не за один заход, а за два, потому как не запомнил всё сразу. Поэтому у меня второе сначала сохранилось в промежуточной форме, вот так: И только потом зашёл в него и поменял протокол на IP. И это без всякой проверки сохранилось создав полный дубликат. Видимо тут проверка уже не производится. Можно как-то сообщения с данным репортом в отдельный топик вынести? Или тут оставим? Edited December 3, 2022 by keenet07 Quote Link to comment Share on other sites More sharing options...
0 keenet07 Posted December 3, 2022 Share Posted December 3, 2022 (edited) 25 минут назад, eralde сказал: Интересно вот что: при настройке через веб-интерфейс правила, начиная с какой-то версии 2.x, идентифицируются по значению поля index, которое вычисляется по конфигурации правила. В вашем случае значение index должно быть одинаково. Тогда при удалении одного правила в Web-interface удалилось бы и другое? Но этого не происходит. В конфиге два одинаковых правила. Edited December 3, 2022 by keenet07 Quote Link to comment Share on other sites More sharing options...
0 eralde Posted December 3, 2022 Share Posted December 3, 2022 5 минут назад, keenet07 сказал: Тогда при удалении одного правила в Web-interface удалилось бы и другое? Но этого не происходит. В конфиге два одинаковых правила. В конфиге этот идентификатор не видно, к сожалению. Попробую на своём устройстве воспроизвести и посмотрю. Насколько я понимаю, должны удаляться оба, конечно. И включаться/выключаться тоже. Quote Link to comment Share on other sites More sharing options...
0 eralde Posted December 3, 2022 Share Posted December 3, 2022 @keenet07 вы правы, вашим способом можно создать два одинаковых правила (первое и третье по счету): [ { "acl": "_WEBADMIN_Guest", "index": "87c78140366d42aa2c4261507412b607", "action": "permit", "protocol": "ip", "source": "0.0.0.0", "source-mask": "0.0.0.0", "destination": "1.2.3.4", "destination-mask": "255.255.255.255", "disable": true }, { "acl": "_WEBADMIN_Guest", "index": "af28a9fd6944a5948276e658cc4fa551", "action": "deny", "protocol": "ip", "source": "0.0.0.0", "source-mask": "0.0.0.0", "destination": "87.250.250.242", "destination-mask": "255.255.255.255", "disable": true }, { "acl": "_WEBADMIN_Guest", "index": "87c78140366d42aa2c4261507412b607", "action": "permit", "protocol": "ip", "source": "0.0.0.0", "source-mask": "0.0.0.0", "destination": "1.2.3.4", "destination-mask": "255.255.255.255", "disable": true }, { "acl": "_WEBADMIN_Guest", "auto-delete": true } ] На мой взгляд, это выглядит как ошибка. Надо будет попросить коллег, которые занимаются прошивкой, посмотреть внимательнее. Общую идею про создание "почти такого же" правила я услышал. Передам её руководству. Спасибо за обсуждение 4 1 Quote Link to comment Share on other sites More sharing options...
Question
S-fim
А почему не реализовали копирование правил в одном интерфейсе? Можно скопировать только на любой другой.
Это же реально нужно. К тому же, я так понимаю, реализуется просто (ибо практически всё уже сделано)
UPD: Смысл в клонировании и незначительной правке уже существующего правила.
Edited by S-fimLink to comment
Share on other sites
13 answers to this question
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.
Note: Your post will require moderator approval before it will be visible.