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

上面的答案都不適合我,所以我還做了一個 hack - 我編輯/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 的問題。
請注意,isc-dhcp-server.service已配置僅需要 network-online.target。我看到了一個非常令人困惑的解釋man systemd.special...
所以,我只是添加了選項,重新加載了 systemdsystemctl daemon-reload並重新啟動了我的 Linux,開始正常工作...

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

相關內容