Не работает автоматический запуск UFW на Ubuntu 18.04 20.04

На одном из VPS столкнулся с тем, что UFW не запускается вместе с системой (Ubuntu 20.04), хотя было выполнено:

ufw enable
Firewall is active and enabled on system startup

А systemd рапортует, что сервис включен, но «вышел»:

systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Tue 2022-09-20 15:58:47 MSK; 44s ago
       Docs: man:ufw(8)
    Process: 315 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
   Main PID: 315 (code=exited, status=0/SUCCESS)

Проверил статус автостарта нужных сервисов:

service --status-all
 [ + ]  netfilter-persistent
 [ + ]  ufw

netfilter-persistent необходим для управления сохранённым состоянием iptables.

Проблема крылась в том, что UFW запускался после netfilter-persistent.

Исправляем:

cd /lib/systemd/system/
sudo cp ufw.service ufw.service.original
cat /lib/systemd/system/ufw.service
[Unit]
Description=Uncomplicated firewall
Documentation=man:ufw(8)
DefaultDependencies=no
Before=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/ufw/ufw-init start quiet
ExecStop=/lib/ufw/ufw-init stop

[Install]
WantedBy=multi-user.target

Добавляем строку After=netfilter-persistent.service в раздел [Unit] файла описания сервиса:

sudo nano /lib/systemd/system/ufw.service
[Unit]
Description=Uncomplicated firewall
Documentation=man:ufw(8)
DefaultDependencies=no
Before=network.target
After=netfilter-persistent.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/ufw/ufw-init start quiet
ExecStop=/lib/ufw/ufw-init stop

[Install]
WantedBy=multi-user.target

Перезагружаемся, проверяем что всё стартовало автоматически sudo ufw status

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика