День добрый.
Я делаю приложение работающее с на базе shorewall. В официальной документацию к shorewall (https://shorewall.org/manpages/shorewall-rules.html) указано, что действие правил можно ограничивать периодами времени TIME (по дням недели, временем начала действия правила и его окончания). Также написано что требуется поддержка этой возможности в ядре и iptables.(Requires time match support in your kernel and iptables.)
Я пробовал создавать правила с данной возможностью. Конкретно по часам timestart=hh:mm×top=hh:mm, по дате datestart=2023-10-25T21:00&datestop=2023-10-25T21:30. Проверка shorewall не находит ошибок, но правило не работает.
Применение этой возможности существенно расширяет возможности программы.
Вопрос: поддерживает у нас ядро и iptables эту возможность? Может я что ни так прописываю. Подскажите
Shorewall в Rosa Linux. Периоды действия правил
- ДонВенчензо
- Сообщения: 305
- Зарегистрирован: 18 янв 2020, 20:54
- Контактная информация:
Shorewall в Rosa Linux. Периоды действия правил
Последний раз редактировалось ДонВенчензо 31 окт 2023, 21:42, всего редактировалось 2 раза.
Shorewall в Rosa Linux. Периоды действия правил
CONFIG_NETFILTER_XT_MATCH_TIME=m
больше в конфиге ядра не нашел, модуль ядра может предварительно подгрузить надо.
в iptables вроде ничего не регулируется, наша версия поддерживает timestart и прочее
больше в конфиге ядра не нашел, модуль ядра может предварительно подгрузить надо.
в iptables вроде ничего не регулируется, наша версия поддерживает timestart и прочее
- ДонВенчензо
- Сообщения: 305
- Зарегистрирован: 18 янв 2020, 20:54
- Контактная информация:
[Решено] Shorewall в Rosa Linux. Периоды действия правил
Опытным путем выяснил, что с опциями timestart и timestop необходимо указывать опциию kerneltz, если у вас время не utc и опцию utc (или ничего не указывать), если у вас время utc. После этого все заработало.
- ДонВенчензо
- Сообщения: 305
- Зарегистрирован: 18 янв 2020, 20:54
- Контактная информация:
Shorewall в Rosa Linux. Периоды действия правил
Продолжаю тему.
Если использовать время utc, то всё работает без нареканий. Но если использовать время с часовыми поясами kerneltz (kernel timezone), то в Росе наблюдается следующее поведение: сначала правило не срабатывает, но если зайти в настройки плазмы и поменять настройки времени с "Часового пояса" на utc, а потом вернуть на "часовой пояс", то правило, в котором используется время с часовыми поясами kerneltz начинает работать. Предполагаю, что Роса какую-то переменную игнорирует при старте и записывает в неё значение при смене настроек. О том, что большенство дистрибутивов Linux игнорируют kernel timezone, написано в описании iptables. Вот и вопрос, может я могу при старте программы записывать эту переменную или другое нужно решение? Что подскажут знатаки?
П.С.
Если выставить в системе использовать время utc, то неудобств не будет, но те кто используют часовые пояса должны будут переводить время ПК в utc, что неудобно и не наглядно, иначе они будут получать неработающее правило
Если использовать время utc, то всё работает без нареканий. Но если использовать время с часовыми поясами kerneltz (kernel timezone), то в Росе наблюдается следующее поведение: сначала правило не срабатывает, но если зайти в настройки плазмы и поменять настройки времени с "Часового пояса" на utc, а потом вернуть на "часовой пояс", то правило, в котором используется время с часовыми поясами kerneltz начинает работать. Предполагаю, что Роса какую-то переменную игнорирует при старте и записывает в неё значение при смене настроек. О том, что большенство дистрибутивов Linux игнорируют kernel timezone, написано в описании iptables. Вот и вопрос, может я могу при старте программы записывать эту переменную или другое нужно решение? Что подскажут знатаки?
П.С.
Если выставить в системе использовать время utc, то неудобств не будет, но те кто используют часовые пояса должны будут переводить время ПК в utc, что неудобно и не наглядно, иначе они будут получать неработающее правило