dnsmasq, запускающийся прежде eth0, готов и поэтому не обязателен

У меня есть установка dnsmasq на человечности 14.04. dnsmasq часть хорошо работает. Однако на начальной загрузке, dnsmasq работает, ПРЕЖДЕ ЧЕМ eth0 произошел. Это заставляет dnsmasq не отвечать на запросы на eth0. В системном журнале я вижу, что dnsmasq запуститься и приблизительно 3 секунды спустя eth0 подходит.

Если я просто перезапускаю dnsmasq, все в порядке.

Я попытался переместить порядок dnsmasq вокруг в rd2.d. Я могу стать ближе, но это все еще работает сначала.

Есть ли способ вынудить это ожидать eth0, чтобы произойти или там способ вызвать 10-секундную задержку, прежде чем dnsmasq запустится. Возможно, существует скрипт, который я могу запустить в rc2.d для остановки целого процесса init в течение нескольких секунд? (Это - сервер, который редко снижается, я не забочусь, требуется ли несколько дополнительных секунд для перезапуска),

(как примечание стороны: системный журнал также говорит мне, что что-либо, чему нужен DNS во время начальной загрузки, также раздражается, что dnsmasq не работает),

1
задан 14 October 2014 в 05:21

3 ответа

Я зафиксировал это, не изменяя книжный порядок. Просто добавьте:

After=network-online.target
Wants=network-online.target

к [Unit] раздел /lib/systemd/system/dnsmasq.service

https://bugs.launchpad.net/ubuntu / + source/dnsmasq / + ошибка/1531184

1
ответ дан 11 November 2019 в 12:33

См. http://smallbusiness.chron.com/change-start-order-processes-linux-61730.html для получения информации об изменяющемся порядке процессов во время начальной загрузки.

процесс, который запускает eth0, должен быть "сетью", таким образом, я ожидаю, что в Вашем/etc/rc3.d или/etc/rc5.d каталогах, сеть установлена запустить после dnsmasq.

0
ответ дан 11 November 2019 в 12:33

Не напрямую для Ubuntu, но у меня есть это для ОС raspberry pi, и ЕДИНСТВЕННЫЙ способ заставить это работать — поместить его в crontab,

Итак: отключить его при запуске:

sudo update-rc.d dnsmasq disable

открыть crontab. ЕСЛИ это первый раз, выберите nano по умолчанию

crontab -e

добавьте:

@reboot sudo service dnsmasq start

сохраните и выйдите. Я использовал nano so

ctrl + o

ctrl + x

Наконец заработало через 3 часа.

0
ответ дан 11 February 2021 в 23:15

Другие вопросы по тегам:

Похожие вопросы: