Я пытаюсь создать системный сервис на Debian Jessie. Мне нужно, чтобы начать после network-online.target
достижения.
Проблема в том, что происходит network-online.target
пожар, в то время как network.target
мои интерфейсы еще не настроены, просто запущен запрос DHCP.
Похоже, что эта проблема специфична для Debian, потому что он использует устаревшую конфигурацию сети.
Как обойти эту проблему или как заставить network-online.target
работать?
network-online.target ● └─systemd-networkd-wait-online.service
я уже прочитал эту страницу, я понимаю основную концепцию там, но все же очень странно не иметь определенной точки, где могут запускаться критически важные для сети службы. По крайней мере, он может ждать правильного назначения DHCP.
network-online.target
зависит только от systemd-networkd-wait-online.service
высказывания, что оно готово. Это не зависит от того, что NetworkManager говорит, что он готов, и не проверяет, что ifup
все ссылки были успешно запущены (если вы используете этот метод для настройки сети). Ubuntu, с другой стороны, зависит от ifup
NetworkManager, но не от systemd-networkd-wait-online.
.
/etc/network/interfaces
системные .network
файлы или NetworkManager?
network-online.target
и network.target
срабатывают сразу после ifup
. Я использую Debian по умолчанию, поэтому /etc/network/interfaces
с адресом DHCP. Похоже, что networkd может быть лучшим решением, но это не так просто реализовать.
systemctl list-dependencies network-online.target
? Также обратите внимание, чтоnetwork-online.target
необязательно означает, что есть доступ в Интернет. Смотрите эту страницу для получения дополнительной информации.