Jump to content
  • 2

Копирование правил фаервола в пределах одного интерфейса


S-fim

Question

А почему не реализовали копирование правил в одном интерфейсе? Можно скопировать только на любой другой.

Это же реально нужно. К тому же, я так понимаю, реализуется просто (ибо практически всё уже сделано)

 

UPD: Смысл в клонировании и незначительной правке уже существующего правила.

Edited by S-fim
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0
3 часа назад, S-fim сказал:

А почему не реализовали копирование правил в одном интерфейсе? Можно скопировать только на любой другой.

Это же реально нужно. К тому же, я так понимаю, реализуется просто (ибо практически всё уже сделано)

Расскажите, пожалуйста, зачем это нужно?

Добавить два одинаковых правила в один список правил прошивка не позволяет. В этом легко убедиться, если попробовать создать правило дважды, не меняя ничего в редакторе настроек правила. Что должно происходить при создании копии правила в том же самом списке?

Link to comment
Share on other sites

  • 0
2 часа назад, eralde сказал:

Расскажите, пожалуйста, зачем это нужно?

Добавить два одинаковых правила в один список правил прошивка не позволяет. В этом легко убедиться, если попробовать создать правило дважды, не меняя ничего в редакторе настроек правила. Что должно происходить при создании копии правила в том же самом списке?

Это можно было бы сделать и иначе. Я когда-то уже предлагал подобное.

Иногда возникает необходимость создания нескольких правил отличающихся друг от друга одним-двумя параметрами (IP адрес или порт).

Первый вариант:

Создаем первое правило и сохраняем его. Снова заходим в это правило и помимо кнопки "Удалить правило" видим там ещё что-то вроде "Создать новое на основе текущего" или "Клонировать правило". Открывается окно создания нового правила, но уже заполненное параметрами исходного правила. Кнопка "Сохранить" неактивна пока в правило не будут внесены какие-либо изменения в основных параметрах. И никаких коллизий не будет. Редактируем, сохраняем.

Другой вариант:

Создаем первое правило и сохраняем его. Снова заходим в это правило и помимо кнопки "Удалить правило" видим там ещё что-то вроде "Создать новое на основе текущего" или "Клонировать правило". Данная кнопка не активна, пока не будут изменены ключевые параметры открытого правила. Редактируем то, что необходимо, кнопка становится активной. Нажимаем её, создаётся новое правило, кнопка снова становится неактивной. Если необходимо, снова что-то редактируем, нажимаем, создается ещё одно новое правило. Закончили, закрываем исходное правило и видим в списке все недавно созданные правила.

А на данный момент, чтоб избавить себя от однотипного ручного ввода, можно только скопировать нужное правило в другую вкладку. Отредактировать его там. А затем переместить обратно в исходную. Тоже много действий, но хотя бы  копипастить или запоминать не нужно. 

Edited by keenet07
  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

  • 0

Ну да, предыдущий оратор правильно выразил мою мысль )
Смысл в клонировании и незначительном изменении.

Как вариант, чтобы не заморачиваться со всякими новыми кнопками, можно использовать существующую схему - добавить в список копируемых интерфейсов текущий и, при копировании правила в него, пусть открывается форма редактирования с заполненными полями на основе копируемого. Ну а далее по нажатию кнопки "Сохранить", если правило не изменилось, то выдать окно "Такое правило уже существует" и остаться в форме редактирования, пока юзер либо не изменит какие-либо параметры, либо не нажмет отмену

 

Хотя... Копировать можно же несколько правил. Тогда, наверное, кнопка "Клонировать" при редактировании существующего правила будет разумнее.

Edited by S-fim
Link to comment
Share on other sites

  • 0
7 минут назад, S-fim сказал:

Как вариант, чтобы не заморачиваться со всякими новыми кнопками, можно использовать существующую схему - добавить в список копируемых интерфейсов текущий и, при копировании правила в него, пусть открывается диалог с заполненными полями на основе копируемого. Ну а далее по нажатию кнопки "Сохранить", если правило не изменилось, то выдать окно "Такое правило уже существует" и остаться в форме редактирования, пока юзер либо не изменит какие-либо параметры, либо не нажмет отмену

При таком подходе возникает проблема с тем что в текущей реализации могут быть выбраны сразу несколько правил. Представьте к какому результату это должно привести. Здесь придётся прописывать какую-то дополнительную логику, чтоб копировать внутри одной вкладки можно было только при одном выбранном правиле. А всё это сильно сложнее, чем варианты выше.

Link to comment
Share on other sites

  • 0
Только что, keenet07 сказал:

При таком подходе возникает проблема

Да, я уже осознал )
Доп. кнопка в редакторе лучше

  • Upvote 1
Link to comment
Share on other sites

  • 0

Но всё-таки диалог при сохранении дублирующегося правила (о том, что такое правило уже существует) тоже неплохо бы было сделать.
А то сейчас просто втихую "сохраняет" и вываливается в список.

  • Upvote 1
Link to comment
Share on other sites

  • 0
3 часа назад, eralde сказал:

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

Только что попробовал это сделать и создалось два одинаковых правила. И даже они оба легко делаются активными (включенными).

Слетела защита от дублирования?

rules.thumb.jpg.7f2442924cc588c97bbf1b1287813b5d.jpg

Вкладка "Домашняя сеть"

Удаление одного из них, не приводит к удалению и второго.

В конфиге выглядит так:

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 by keenet07
Link to comment
Share on other sites

  • 0
13 минуты назад, keenet07 сказал:

Только что попробовал это сделать и создалось два одинаковых правила. И даже они оба легко делаются активными (включенными).

Слетела защита от дублирования?

rules.thumb.jpg.7f2442924cc588c97bbf1b1287813b5d.jpg

Вкладка "Домашняя сеть"

Удаление одного из них, не приводит к удалению и второго.

Честно говоря, я не знаю, что проверяет прошивка при создании нового правила.
Но известно, что создать, например, два правила "Разрешить всё через TCP" или "Разрешить всё через UDP" нельзя.

Попробовал вручную создать два правила "Разрешать любой IP-трафик до конкретного IP" -- воспроизвести ваш случай не удается. Возможно, действительно, проверка где-то не сработала.


Интересно вот что: при настройке через веб-интерфейс правила, начиная с какой-то версии 2.x, идентифицируются по значению поля index, которое вычисляется по конфигурации правила. В вашем случае значение index должно быть одинаково.

Link to comment
Share on other sites

  • 0
10 минут назад, eralde сказал:

Попробовал вручную создать два правила "Разрешать любой IP-трафик до конкретного IP" -- воспроизвести ваш случай не удается. Возможно, действительно, проверка где-то не сработала.

Да. именно так.

Я когда создавал копию правила сделал это не за один заход, а за два, потому как не запомнил всё сразу. Поэтому у меня второе сначала сохранилось в промежуточной форме, вот так:

912397457_rulezraz.thumb.jpg.1abe3925928e7615c89b8d2f7d46e7a2.jpg

И только потом зашёл в него и поменял протокол на IP. И это без всякой проверки сохранилось создав полный дубликат. Видимо тут проверка уже не производится.

 

Можно как-то сообщения с данным репортом в отдельный топик вынести? Или тут оставим?

Edited by keenet07
Link to comment
Share on other sites

  • 0
25 минут назад, eralde сказал:

Интересно вот что: при настройке через веб-интерфейс правила, начиная с какой-то версии 2.x, идентифицируются по значению поля index, которое вычисляется по конфигурации правила. В вашем случае значение index должно быть одинаково.

Тогда при удалении одного правила в Web-interface удалилось бы и другое? Но этого не происходит. В конфиге два одинаковых правила.

Edited by keenet07
Link to comment
Share on other sites

  • 0
5 минут назад, keenet07 сказал:

Тогда при удалении одного правила в Web-interface удалилось бы и другое? Но этого не происходит. В конфиге два одинаковых правила.

В конфиге этот идентификатор не видно, к сожалению.

Попробую на своём устройстве воспроизвести и посмотрю. Насколько я понимаю, должны удаляться оба, конечно. И включаться/выключаться тоже.

Link to comment
Share on other sites

  • 0

@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
  }
]

 

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


Общую идею про создание "почти такого же" правила я услышал. Передам её руководству. Спасибо за обсуждение :)

  • Thanks 3
Link to comment
Share on other sites

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...