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

Shorewall в Rosa Linux. Периоды действия правил

Добавлено: 25 окт 2023, 22:31
ДонВенчензо
День добрый.
Я делаю приложение работающее с на базе shorewall. В официальной документацию к shorewall (https://shorewall.org/manpages/shorewall-rules.html) указано, что действие правил можно ограничивать периодами времени TIME (по дням недели, временем начала действия правила и его окончания). Также написано что требуется поддержка этой возможности в ядре и iptables.(Requires time match support in your kernel and iptables.)
Я пробовал создавать правила с данной возможностью. Конкретно по часам timestart=hh:mm&timestop=hh:mm, по дате datestart=2023-10-25T21:00&datestop=2023-10-25T21:30. Проверка shorewall не находит ошибок, но правило не работает.

Применение этой возможности существенно расширяет возможности программы.

Вопрос: поддерживает у нас ядро и iptables эту возможность? Может я что ни так прописываю. Подскажите

Screenshot_20231025_222843.png

Shorewall в Rosa Linux. Периоды действия правил

Добавлено: 26 окт 2023, 07:30
irton
CONFIG_NETFILTER_XT_MATCH_TIME=m
больше в конфиге ядра не нашел, модуль ядра может предварительно подгрузить надо.

в iptables вроде ничего не регулируется, наша версия поддерживает timestart и прочее

[Решено] Shorewall в Rosa Linux. Периоды действия правил

Добавлено: 27 окт 2023, 22:02
ДонВенчензо
Опытным путем выяснил, что с опциями timestart и timestop необходимо указывать опциию kerneltz, если у вас время не utc и опцию utc (или ничего не указывать), если у вас время utc. После этого все заработало.

Shorewall в Rosa Linux. Периоды действия правил

Добавлено: 31 окт 2023, 21:57
ДонВенчензо
Продолжаю тему.
Если использовать время utc, то всё работает без нареканий. Но если использовать время с часовыми поясами kerneltz (kernel timezone), то в Росе наблюдается следующее поведение: сначала правило не срабатывает, но если зайти в настройки плазмы и поменять настройки времени с "Часового пояса" на utc, а потом вернуть на "часовой пояс", то правило, в котором используется время с часовыми поясами kerneltz начинает работать. Предполагаю, что Роса какую-то переменную игнорирует при старте и записывает в неё значение при смене настроек. О том, что большенство дистрибутивов Linux игнорируют kernel timezone, написано в описании iptables. Вот и вопрос, может я могу при старте программы записывать эту переменную или другое нужно решение? Что подскажут знатаки?

П.С.
Если выставить в системе использовать время utc, то неудобств не будет, но те кто используют часовые пояса должны будут переводить время ПК в utc, что неудобно и не наглядно, иначе они будут получать неработающее правило