UFW не позволяет загрузить Debian 11

crontab запускает сценарии в среде, отличной от оболочки входа в систему; в частности, PATH может быть другим или неопределенным.

Попробуйте использовать абсолютный путь в командах (lynx, head... )Вы можете получить их с помощью

which <command>

Кроме того, вы должны указать путь к файлу test.log.

1
18.08.2021, 09:25
3 ответа

Существует отчет об ошибкеufwоб отсутствующей зависимости от nftables. Это может быть причиной сбоя :, так как systemdне было сказано о зависимости, он может попытаться запустить ufwдо nftables, что, вероятно, завершится ошибкой.

Существует также еще один отчет об ошибке об установке предела времени ожидания для этой службы на случай, если она по какой-либо причине выйдет из строя. Конечно, если служба ufwне запустится, а загрузку будет разрешено продолжить, система запустится без настройки брандмауэра, что может быть проблемой безопасности.

Итак, попробуйте сначала добавить отсутствующую зависимость :запустите systemctl edit ufw.serviceи введите следующие строки:

[Unit]
Requires=nftables.service
After=nftables.service

Поскольку nftables.serviceпо умолчанию запускается перед network-pre.target, а определение ufw.serviceвключает Before=network.target, это должно обеспечить порядокnftables.service->ufw.service-> network.target, что выглядит как разумный порядок. Это может устранить основную причину проблемы.

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

Поскольку в Debian 11 есть файл /lib/systemd/system/ufw.service, редактирование специальной строки комментария Required-Start:в сценарии /etc/init.d/ufw(, как это предлагается в отчете об ошибке, указанном выше ), не будет иметь никакого эффекта, если вы не используете Debian 11 без systemd... и в этом случае nftablesне имеет соответствующего сценария запуска SysVinit -, поэтому без дальнейших изменений зависимость в любом случае будет обречена на сбой в случае, отличном от -systemd.


Если и только если вы можете принять запуск системы без установленного брандмауэра, вы также можете добавить следующие строки во время работыsystemctl edit ufw.service:

[Service]
TimeoutStartSec=20
TimeoutStartFailureMode=kill
TimeoutStopSec=10

Это добавит тайм-аут к ufw.serviceпроцедурам запуска и остановки. Вы можете настроить значения времени ожидания в соответствии с вашими потребностями.

0
29.08.2021, 17:57

У меня была такая же проблема, но исправить ее было невозможно.

В итоге я заменил ufw на "firewalld" и проблема исчезла.

1
01.11.2021, 09:40

Моя система (Bullseye 5.10.0 -9 )делает это всякий раз, когда я отключаю сетевой кабель. Это сделало то же самое на моей старой установке (buster, обновленной до яблочка ). Текущая установка очень свежая и содержит только qemu/libvirt/ffmpeg/vlc/basic kde. Кроме того, я всегда удаляю все свои пакеты avahi и cups, кроме зависимостей lib. А также удалил kdeconnect.

Проблема определенно связана с каким-то аспектом разрешения хоста или сетевой ссылки (, не )инициализации.

Должна быть добавлена ​​некоторая логика для фоновой последовательности запуска, добавления прослушивателя при инициализации dhcp и последующего возобновления. Хотя это также может представлять угрозу безопасности между моментом, когда DHCP назначает IP-адрес и инициализируется ufw. Возможно, если бы все пакеты были зациклены на lo и отброшены до тех пор, пока ufw не сможет загрузить правила.

Похоже, это может превратиться в сложное решение. Честно говоря, я мало что знаю о ядре, только мои наблюдения.

0
03.11.2021, 03:08

Теги

Похожие вопросы