LINUX.ORG.RU
решено ФорумAdmin

Не срабатывает systemd сервис nftables, если конфиг по симлинку

 , ,


0

1

Может кто-то подтвердить?

root@vps-test:~# uname -a
Linux vps-test 5.10.0-18-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64 GNU/Linux

root@vps-test:~# /usr/sbin/nft -f /etc/nftables.conf ; echo $?
0

root@vps-test:~# systemctl start nftables.service
Job for nftables.service failed because the control process exited with error code.
See "systemctl status nftables.service" and "journalctl -xe" for details.
root@vps-test:~# systemctl status nftables.service
● nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2022-09-19 18:22:24 CEST; 4s ago
       Docs: man:nft(8)
             http://wiki.nftables.org
    Process: 836 ExecStart=/usr/sbin/nft -f /etc/nftables.conf (code=exited, status=1/FAILURE)
   Main PID: 836 (code=exited, status=1/FAILURE)
        CPU: 5ms

Sep 19 18:22:24 vps-test systemd[1]: Starting nftables...
Sep 19 18:22:24 vps-test nft[836]: internal:0:0-0: Error: Could not open file "/etc/nftables.conf": No such file or directory
Sep 19 18:22:24 vps-test systemd[1]: nftables.service: Main process exited, code=exited, status=1/FAILURE
Sep 19 18:22:24 vps-test systemd[1]: nftables.service: Failed with result 'exit-code'.
Sep 19 18:22:24 vps-test systemd[1]: Failed to start nftables.

lrwxrwxrwx 1 root root 44 Sep 19 07:48 /etc/nftables.conf -> ../root/.dotfiles-vps/nftables/nftables.conf

Сервис, насколько я понимаю, рутовый.

root@vps-test:~# systemctl show nftables.service | grep ^User
User=root

Поэтому проблем с доступом быть не должно. Что ему не нравится? Это gnu stow, если что.

Перемещено hobbit из general

Ответ на: комментарий от firkax

Куда симлинк ведёт?

В посте же есть.

Сделай симлинк на соседний файл в той же директории и проверь.

Что имеешь ввиду? Сделать в /root/.dotfiles-vps/nftables/ файл?

root@vps-test:~# touch /root/.dotfiles-vps/nftables/test.conf
root@vps-test:~# rm -f /etc/nftables.conf && ln -s /root/.dotfiles-vps/nftables/test.conf /etc/nftables.conf
root@vps-test:~# systemctl restart nftables
Job for nftables.service failed because the control process exited with error code.
See "systemctl status nftables.service" and "journalctl -xe" for details.

Системд считает, что файла нет.

Entmatix
() автор топика
../root/.dotfiles-vps/nftables/nftables.conf

Симлинк относительный. Сделай вместо него абсолютный, от корня.

squareroot ★★★★
()
Ответ на: комментарий от squareroot
  1. Это не я, это stow.
Stow only creates relative symlinks.
  1. Другие приложения работают с относительной ссылкой (samba, vim, emacs, sysctl, ssh, apache, etc.)

  2. Проблема не в этом (попробовал заменить на абсолютную - та же ошибка).

Entmatix
() автор топика
Ответ на: комментарий от Meyer
root@vps-test:~/.dotfiles-vps/nftables# ln -s /root/.dotfiles-vps/nftables/nftables.conf /etc/nftables.conf

root@vps-test:~/.dotfiles-vps/nftables# ll /etc/nftables.conf 
lrwxrwxrwx 1 root root 42 Sep 19 20:09 /etc/nftables.conf -> /root/.dotfiles-vps/nftables/nftables.conf

root@vps-test:~/.dotfiles-vps/nftables# systemctl restart nftables.service 
Job for nftables.service failed because the control process exited with error code.
See "systemctl status nftables.service" and "journalctl -xe" for details.

Как сделать «нормальный»?

Entmatix
() автор топика
Последнее исправление: Entmatix (всего исправлений: 1)

Поэтому проблем с доступом быть не должно

Ткну пальцем в небо (название и версию дистрибутива ты не привёл), но systemctl show nftables.service | grep Protect?

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Очень точно ткнул 👍

Поменял на read-only. Работает. Благодарю.

P.S. debian 11. В первом посте указано.

Entmatix
() автор топика
Последнее исправление: Entmatix (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.