Mein DHCP-Dienst (isc-dhcp-server) läuft unter Astra Linux 1.3 und ist jetzt gut konfiguriert. Er funktioniert wie erwartet, allerdings mit einer kleinen Nuance: Er funktioniert nur, wenn er gestartet wird, aber ein System führt ihn beim Start nicht aus. Das sudo update-rc.d isc-dhcp-server defaults
hilft nicht. Andere Dienste können auf diese Weise zum Autostart hinzugefügt (und daraus entfernt) werden, da dies in diesem SysV-basierten System nativ ist. Was muss ich tun, damit es läuft? Danke.
PS
uname -a
gibt
3.2.0-27-generisch
Direkt nach dem Neustart sudo service --status-all
gibt
[ - ] isc-dhcp-server
Antwort1
Ich verwende Ubuntu Server 18.04
und hatte ein ähnliches Problem: Der Dienst isc-dhcp-server
startet nicht automatisch. Bei mir stellte sich heraus, dass das Problem darin bestand, dass der Dienst deaktiviert war. Durch Ausführen sudo systemctl enable isc-dhcp-server
wurde das Problem für mich behoben.
Antwort2
Wie ivanivan sagte, startete der Daemon nicht, weil alle Netzwerkschnittstellen ausgefallen waren. Daher habe ich beschlossen, das Startskript nach dem Start erneut aufzurufen. Mein System verwendet wicd als Netzwerkmanager und kann einige Skripte aufrufen, wenn sich der Netzwerkstatus ändert.
Eine Art Hack, aber es funktioniert. Ich habe ein Skript in /etc/wicd/scripts/postconnect abgelegt:
sleep 60
/etc/init.d/isc-dhcp-server start
und voilà, der Daemon startet wie erwartet.
Hinweis: sleep 60
ist erforderlich, da das Netzwerk genau 60 Sekunden nach dem Aufruf des Skripts zu arbeiten beginnt.
Antwort3
Keine der obigen Antworten hat bei mir funktioniert, also habe ich einen Hack ausprobiert: Ich habe den Befehl im Skript bearbeitet und am Anfang /etc/init.d/isc-dhcp-server
ein hinzugefügt und ihn so geändert, dass er etwa wie folgt aussieht: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
;;
Jetzt funktioniert es (natürlich nach einer anfänglichen Verzögerung von 20 Sekunden).
Antwort4
Ich habe das gleiche Problem. Gelöst durch Hinzufügen von network.target bei erforderlich.
Beachten Sie, dass die isc-dhcp-server.service
Konfiguration nur network-online.target erfordert. Ich habe eine sehr verwirrende Erklärung man systemd.special
dazu gesehen ...
Also habe ich einfach die Option hinzugefügt, systemd neu geladen systemctl daemon-reload
und mein Linux neu gestartet, und es funktioniert einwandfrei ...
# Provides: isc-dhcp-server
# Required-Start: $remote_fs $network $syslog network.target
# Required-Stop: $remote_fs $network $syslog network.target
#