isc-dhcp-server не запускается автоматически

isc-dhcp-server не запускается автоматически

Работая на Astra Linux 1.3, моя служба dhcp (isc-dhcp-server) теперь хорошо настроена и работает так, как и ожидалось, с небольшим нюансом — она работает только тогда, когда запущена, но система не запускает ее при старте. Это sudo update-rc.d isc-dhcp-server defaultsне помогает. Другие службы можно добавлять (и удалять) в автозапуск таким образом, поскольку это является родным для этой системы на основе SysV. Что мне нужно сделать, чтобы она запустилась? Спасибо.

PS uname -aдает

3.2.0-27-общий

Сразу после перезагрузки sudo service --status-allвыдает

[ - ] isc-dhcp-сервер

решение1

Я использую Ubuntu Server 18.04и столкнулся с похожей проблемой: isc-dhcp-serverне запускается автоматически. Для меня, как оказалось, проблема была в том, что служба была отключена; выполнение sudo systemctl enable isc-dhcp-serverисправило ее для меня.

решение2

Как сказал ivanivan, демон не запустился, потому что все сетевые интерфейсы были отключены. Поэтому я решил снова вызвать скрипт запуска после их запуска. Моя система использует wicd в качестве сетевого менеджера, и он может вызывать некоторые скрипты при изменении состояния сети.

Хак, но работает. Я поместил скрипт в /etc/wicd/scripts/postconnect :

sleep 60
/etc/init.d/isc-dhcp-server start

и вуаля, демон запускается как положено.

Примечание: sleep 60требуется, поскольку сеть начинает работать ровно через 60 секунд после вызова скрипта.

решение3

Ни один из приведенных выше ответов мне не помог, поэтому я прибегнул к хитрости — отредактировал /etc/init.d/isc-dhcp-serverи добавил a sleep 20в начало команды startв скрипте, изменив его так, чтобы он выглядел следующим образом:

case "$1" in
    start)
        sleep 20         # <--- added this line (without the comment)
        test_config
        log_daemon_msg "Starting $DESC" "$NAME"
        start-stop-daemon --start --quiet --pidfile "$DHCPD_PID" \
            --exec /usr/sbin/dhcpd -- \
            -q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID" $INTERFACES
        sleep 2

        if check_status -q; then
            log_end_msg 0
        else
            log_failure_msg "check syslog for diagnostics."
            log_end_msg 1
            exit 1
        fi
        ;;

Теперь это работает (конечно, после первоначальной задержки в 20 секунд).

решение4

У меня та же проблема. Решено добавление network.target в required.
Обратите внимание, что isc-dhcp-server.serviceнастроено требование только network-online.target. Я видел очень запутанное объяснение по man systemd.specialэтому поводу...
Так что я просто добавил опцию, перезагрузил systemd systemctl daemon-reloadи перезагрузил свой Linux, все начало работать нормально...

# Provides:          isc-dhcp-server
# Required-Start:    $remote_fs $network $syslog network.target
# Required-Stop:     $remote_fs $network $syslog network.target
#

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