Рейтинг:0

Почему эта самодельная служба systemd не работает в CentOS 8.3 как «Ошибка с протоколом результата»?

флаг vn

Во-первых, эта проблема становится проблемой только на CentOS8, тогда как на CentOS7 она работает хорошо. Это версия:

# кот /etc/redhat-релиз
Выпуск CentOS Linux 8.3.2011

Я попытался сделать службу для выполнения команд bash для изменения маршрута. Вот исполняемый файл bash /root/route_degrade.sh:

#!/бин/баш
# обеспечить роль маршрутизатора
эхо "1" > /proc/sys/net/ipv4/ip_forward
systemctl запустить firewalld
брандмауэр-cmd --добавить-маскарад
#firewall-cmd --add-port=1194/udp
брандмауэр-cmd --add-service=openvpn

# ухудшить исходный маршрутизатор по умолчанию до маршрутизатора только для локальной сети
cloudroute=$(ip route | grep default | cut -d " " -f 3)
если [[ $cloudroute == 10.* ]]; тогда
  ip route добавить 10.0.0.0/8 через $cloudroute
  ip маршрут по умолчанию
фи
выход 0

Этот исполняемый файл абсолютно в порядке, так как я выполнил его один в корневом каталоге с помощью ./route_degrade.sh.

а вот autoinit.service в /usr/lib/systemd/система:

[Ед. изм]
Description=изменяет маршрут по умолчанию на маршрут в облаке навсегда
После=firewalld.service
#Before=openvpn@Client_d.service


[Оказание услуг]
Тип=уведомить
ExecStart=/root/route_degrade.sh
PrivateTmp=истина

[Установить]
WantedBy=многопользовательская.цель

Но он продолжает давать сбой, даже после того, как я перезагружаю служебные файлы с помощью systemctl демон-перезагрузка и перезапустите его, вот статус системад:

autoinit.service — изменяет маршрут по умолчанию на маршрут в облаке навсегда
   Загружено: загружено (/usr/lib/systemd/system/autoinit.service; отключено; настройка поставщика: отключена)
   Активно: не удалось (Результат: протокол) с субботы 2022-03-26 17:03:18 CST; 17 сек. назад
  Процесс: 6924 ExecStart=/root/route_degrade.sh (код=выход, статус=0/УСПЕХ)
 Основной PID: 6924 (код=выход, статус=0/УСПЕХ)

26 марта 17:03:17 10-13-107-213 systemd[1]: Начальные изменения Маршрут по умолчанию на Маршрут в облаке Постоянно...
26 марта 17:03:17 10-13-107-213 route_degrade.sh[6924]: Предупреждение: ALREADY_ENABLED: маскарад уже включен в «общедоступном»
26 марта 17:03:17 10-13-107-213 route_degrade.sh[6924]: успех
26 марта 17:03:18 10-13-107-213 route_degrade.sh[6924]: Предупреждение: ALREADY_ENABLED: «openvpn» уже в «общедоступном»
26 марта 17:03:18 10-13-107-213 route_degrade.sh[6924]: успех
26 марта 17:03:18 10-13-107-213 systemd[1]: autoinit.service: Ошибка с результатом «протокол».
26 марта, 17:03:18 10-13-107-213 systemd[1]: не удалось запустить. Изменяет маршрут по умолчанию на Маршрут в облаке навсегда.

Я не знаю, где не так, очевидно, он выполнил скрипт bash и брандмауэр-cmd команды выбросил успех и фиксирует код выхода 0. Так что же Ошибка с результатом "протокол" иметь в виду?

George Y avatar
флаг vn
О мой плохой! Я исправил эту строчку в служебном файле: `Type=oneshot` и все заработало!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.