Как заставить зависимости запуска службы system.d для network.target вести себя как network-online.target?

Как заставить зависимости запуска службы system.d для network.target вести себя как network-online.target?

Я использую минимальную установку CentOS8 (8.1.1911) для запуска веб-сервера.

Некоторые услуги, /etc/systemd/system/multi-user.target.wants/такие как

  • httpd.service

  • mariadb.service

  • named.service

  • squid.service

  • sshd.service

  • postfix.service

есть только After=network.targetи нет network-online.target.

Это проблема, потому что при загрузке системы эти службы запускаются до готовности сети и не могут привязаться ни к одному из прослушиваемых портов. К счастью, пара таких служб sshdпродолжает повторять попытки привязаться, и как только сеть подключается, им это удается. Вы можете видеть /var/log/messagesнеудачные попытки привязаться перед тем, как в конечном итоге это удается. Однако не все службы будут повторять попытки и после первой неудачи остаются мертвыми.

Я знаю, что одно из решений — добавить пользовательские параметры для Wants/ Afterдля каждой службы, используя systemctl, т. е. запустить

systemctl edit httpd

и добавить

[Unit]
Wants=network-online.target
After=network-online.target

Это работает, теперь службы будут ждать, пока сеть будет подключена, и успешно подключатся и запустятся при перезагрузке.

Теперь мой вопрос.

Я не хочу вручную редактировать каждую службу для добавления, network-online.targetтак как это создает головную боль обслуживания и вероятность забыть этот шаг для новых служб, установленных в будущем. Я хочу способ установить политику или внести изменения в масштабах всей системы, чтобы любая служба с / Wantsfor Afterвела network.targetсебя так, как будто она ждет network-online.target.

  • Возникнет ли проблема, так как NetworkManagerтакже ждет network.target? Можно ли NetworkManagerизменить, чтобы ждать чего-то другого?
  • Какие еще службы могут выйти из строя, если все network.targetбудут ждать network-online.target?
  • Есть ли еще креативные решения?

Связанный контент