Мой сервер OpenVPN не может выполнить скрипт python, настроенный как --learn-address
когда демон запускается как служба systemd. Он отлично работает при запуске вручную с правами root. Я обнаружил, что он также работает как служба systemd, если я прокомментирую следующую строку в /etc/systemd/system/openvpn@.service
:
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_AUDIT_WRITE
Итак, я думаю, моя проблема связана с отсутствующим Capability
. Как я могу отладить это, чтобы узнать, чего не хватает? Журнал OpenVPN просто скажи WARNING: Failed running command (--learn-address): external program exited with error status: 1
. В системном журнале я тоже ничего по этому поводу не нахожу.
Сценарий изучения адреса используется для применения настраиваемых правил брандмауэра в зависимости от того, кто подключается. Сценарий выполняет поиск членства в группах (с помощью команды / usr / bin / id) и добавляет правила / цепочку с помощью команды iptable (с помощью sudo). После дальнейшей отладки, я думаю, может произойти сбой при попытке вызвать iptables. Команда завершается с кодом 3.
Он уже работал какое-то время, интересно, не перестал ли работать после обновления системы.