статус ufw проблема (завершено)

Вопрос или проблема

У меня проблема с программой ufw (firewall), которая работает, но статус “Active: active (exited) since Wed 2019-02-13 14:56:25 +0330; 31min ago”. Может кто-нибудь помочь мне понять причину?

Вообще:

Сервисы, объявленные как oneshot, должны выполнить некоторое действие и немедленно завершиться (таким образом, это не совсем сервисы, активные процессы не остаются). Общим шаблоном для таких типов сервисов является определение их через действия настройки и завершения.

Источник: ссылка на источник с описанием и примером

Для меня важен один параметр в файле “ufw”:

[Unit]
**Before**=network.target

Так что я предполагаю, что он запускается ТОЛЬКО перед загрузкой сети. После этого он не может быть запущен. И так как это “oneshot” модуль, он работает именно так.

здесь содержимое моего файла ufw systemd на Debian 9.x

Это потому, что служба ufw просто загружает настройки в iptables, поэтому ей не требуется выполнять какие-либо текущие задачи. Вы можете увидеть, что она работает, запустив команду dmesg или, если хотите видеть поток блокировок в реальном времени, watch dmesg

Ответ или решение

У вас возникла проблема с программой ufw, которая отображает статус "Active: active (exited)". Это может вызвать путаницу, если вы не знакомы с механизмом работы сервисов в системе systemd.

Причина такого поведения заключается в том, что ufw на самом деле не является постоянно работающим сервисом. Он сконфигурирован как "oneshot" в systemd. Это означает, что он выполняет свою задачу и завершает работу. Он не предназначен для постоянного выполнения в фоновом режиме, так как его основная функция заключается в применении настроек в iptables или других правилах межсетевого экрана и немедленном завершении работы. Ваша система сообщает, что ufw был активен в указанное время, и сейчас его задачи выполнены.

В ваших настройках указано, что ufw должен запускаться перед целью network.target, то есть до полной загрузки сетевых служб. Это делает его неактивным после инициализации сети. Данный подход оправдан тем, что базовые правила брандмауэра должны быть применимы до появления трафика, чтобы предотвратить несанкционированный доступ.

Если вы хотите убедиться в выполнении задачи брандмауэра, вы можете использовать команду dmesg, которая покажет сообщения ядра, включая события, связанные с сетевыми блокировками, реализованными с помощью ufw. Для динамического контроля за этими событиями выполните watch dmesg для периодического обновления.

Для диагностики и управления правилами ufw можно также использовать такие команды, как ufw status, ufw enable, и ufw disable. Эти команды расскажут о текущем состоянии правил брандмауэра и позволят управлять ими.

Таким образом, текущее поведение ufw — это преднамеренная и корректная работа системы, основанная на ее настройках в конфигурации systemd как "oneshot" сервиса.

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

Оцените материал
Добавить комментарий

Капча загружается...