Warum kann ich isc-dhcp-server nach der Installation nicht starten?

13

Ich folge diesem Tutorial, um Linux auf einem System zu installieren, das weder über einen CD-Reader noch über USB-Startfunktionen verfügt. Schließlich erreichte ich den Punkt, an dem ich installieren musste, isc-dhcp-serverund ich tat es irgendwie.

Aptsagt mir, dass es ein teilweise installiertes Paket gibt. Ich laufe sudo apt-get install -fund bekomme folgendes:

Job for isc-dhcp-server.service failed. See 'systemctl status isc-dhcp server.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
dpkg: error processing package isc-dhcp-server (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
isc-dhcp-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Wenn ich das tue, /etc/init.d/isc-dhcp-server startbesteht die Eingabeaufforderung aus den ersten beiden Zeilen derselben Nachricht.

Ausgabe von sudo systemctl status isc-dhcp-server:

● isc-dhcp-server.service - LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server)
   Active: failed (Result: exit-code) since Fri 2014-12-12 13:19:25 CST; 2min 43s ago
  Process: 1677 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)

Dec 12 13:19:23 semplice dhcpd[1684]: you want, please write a subnet declaration
Dec 12 13:19:23 semplice dhcpd[1684]: in your dhcpd.conf file for the network segment
Dec 12 13:19:23 semplice dhcpd[1684]: to which interface eth0 is attached. **
Dec 12 13:19:23 semplice dhcpd[1684]: 
Dec 12 13:19:23 semplice dhcpd[1684]: 
Dec 12 13:19:25 semplice isc-dhcp-server[1677]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
Dec 12 13:19:25 semplice isc-dhcp-server[1677]: failed!
Dec 12 13:19:25 semplice systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
Dec 12 13:19:25 semplice systemd[1]: Failed to start LSB: DHCP server.
Dec 12 13:19:25 semplice systemd[1]: Unit isc-dhcp-server.service entered failed state.

Ausgabe von sudo journalctl -xn:

-- Logs begin at Fri 2014-12-12 12:57:16 CST, end at Fri 2014-12-12 13:32:01 CST. --
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   lease time 86400
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 13:31:58 semplice NetworkManager[505]: <info>   domain name 'lan'
Dec 12 13:31:58 semplice dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.ser
Dec 12 13:31:58 semplice dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 13:31:58 semplice nm-dispatcher[2194]: Dispatching action 'dhcp4-change' for wlan0
Dec 12 13:31:58 semplice dhclient[616]: bound to 192.168.1.65 -- renewal in 45 seconds.
Dec 12 13:31:58 semplice NetworkManager[505]: bound to 192.168.1.65 -- renewal in 45 seconds.
Dec 12 13:32:01 semplice sudo[2197]: alejandro : TTY=pts/0 ; PWD=/home/alejandro ; USER=root ; COMMAND=/bin/journalctl -xn
Dec 12 13:32:01 semplice sudo[2197]: pam_unix(sudo:session): session opened for user root by alejandro(uid=0)

Dies ist meine /etc/dhcp/dhcpd.configDatei, die nur eine Kopie des oben erwähnten Beispiels ist.

Ausgabe von /var/log/syslogread sofort nach dem Ausführenapt-get install -f

Dec 12 16:42:40 localhost dhclient: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:42:40 localhost NetworkManager[505]: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:42:40 localhost dhclient: DHCPACK from 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: DHCPACK from 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info> (wlan0): DHCPv4 state changed renew -> renew
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   address 192.168.1.65
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   plen 24 (255.255.255.0)
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   gateway 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   server identifier 192.168.1.254
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   lease time 86400
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 16:42:40 localhost NetworkManager[505]: <info>   domain name 'lan'
Dec 12 16:42:40 localhost dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Dec 12 16:42:40 localhost dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 16:42:40 localhost nm-dispatcher: Dispatching action 'dhcp4-change' for wlan0
Dec 12 16:42:41 localhost dhclient: bound to 192.168.1.65 -- renewal in 52 seconds.
Dec 12 16:42:41 localhost NetworkManager[505]: bound to 192.168.1.65 -- renewal in 52 seconds.
Dec 12 16:43:32 localhost dhclient: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:43:32 localhost NetworkManager[505]: DHCPREQUEST on wlan0 to 192.168.1.254 port 67
Dec 12 16:43:32 localhost dhclient: DHCPACK from 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: DHCPACK from 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info> (wlan0): DHCPv4 state changed renew -> renew
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   address 192.168.1.65
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   plen 24 (255.255.255.0)
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   gateway 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   server identifier 192.168.1.254
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   lease time 86400
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   nameserver '192.168.1.254'
Dec 12 16:43:32 localhost NetworkManager[505]: <info>   domain name 'lan'
Dec 12 16:43:32 localhost dbus[518]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Dec 12 16:43:32 localhost dbus[518]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 12 16:43:32 localhost nm-dispatcher: Dispatching action 'dhcp4-change' for wlan0
Dec 12 16:43:33 localhost dhclient: bound to 192.168.1.65 -- renewal in 54 seconds.
Dec 12 16:43:33 localhost NetworkManager[505]: bound to 192.168.1.65 -- renewal in 54 seconds.
Dec 12 16:43:40 localhost dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 12 16:43:40 localhost dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 12 16:43:40 localhost dhcpd: All rights reserved.
Dec 12 16:43:40 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 12 16:43:40 localhost dhcpd: Internet Systems Consortium DHCP Server 4.3.1
Dec 12 16:43:40 localhost dhcpd: Copyright 2004-2014 Internet Systems Consortium.
Dec 12 16:43:40 localhost dhcpd: All rights reserved.
Dec 12 16:43:40 localhost dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Dec 12 16:43:40 localhost dhcpd: Wrote 0 deleted host decls to leases file.
Dec 12 16:43:40 localhost dhcpd: Wrote 0 new dynamic host decls to leases file.
Dec 12 16:43:40 localhost dhcpd: Wrote 0 leases to leases file.
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: No subnet declaration for eth0 (no IPv4 addresses).
Dec 12 16:43:40 localhost dhcpd: ** Ignoring requests on eth0.  If this is not what
Dec 12 16:43:40 localhost dhcpd:    you want, please write a subnet declaration
Dec 12 16:43:40 localhost dhcpd:    in your dhcpd.conf file for the network segment
Dec 12 16:43:40 localhost dhcpd:    to which interface eth0 is attached. **
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: Not configured to listen on any interfaces!
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: If you think you have received this message due to a bug rather
Dec 12 16:43:40 localhost dhcpd: than a configuration issue please read the section on submitting
Dec 12 16:43:40 localhost dhcpd: bugs on either our web page at www.isc.org or in the README file
Dec 12 16:43:40 localhost dhcpd: before submitting a bug.  These pages explain the proper
Dec 12 16:43:40 localhost dhcpd: process and the information we find helpful for debugging..
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: exiting.
Dec 12 16:43:42 localhost isc-dhcp-server[5729]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed!
Dec 12 16:43:42 localhost isc-dhcp-server[5729]: failed!
Dec 12 16:43:42 localhost systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
Dec 12 16:43:42 localhost systemd[1]: Failed to start LSB: DHCP server.
Dec 12 16:43:42 localhost systemd[1]: Unit isc-dhcp-server.service entered failed state.

Soll ich meine IP-Adresse verstecken?

Mario Gil
quelle
1
Hast du was mit diesen beiden Zeilen gemacht, also systemclt ausführen und das Tagebuch anschauen? Bitte senden Sie die Ausgabe von journalctl -xnerzeugt (könnte es sudo haben) , während Sie wieder laufen zu lassen versuchenapt-get install -f
Anthon
1
Das fängt dhcpdalso nicht an und wir bekommen hier nur das Ende seiner Nachrichten. Sieht so aus, als würde es sich beschweren dhcpd.conf, dass einige erforderliche Informationen fehlen. Sie müssen in den Systemprotokollen etwas weiter zurückgehen, um die ganze Reihe von Nachrichten von zu sehen dhcpd. Auf einem herkömmlichen System sollten sich die Protokolle in befinden /var/log/syslog. Ich weiß nicht, ob systemd dies vermasselt.
Gilles 'SO- hör auf böse zu sein'

Antworten:

5

Es scheint, dass Ihre Netzwerkkonfiguration nicht mit Ihrer Subnetzdeklaration in der dhcp.conf übereinstimmt. Stellen Sie sicher, dass Sie eine IP-Adresse aus dem Subnetz 10.10.1.0/24 konfiguriert haben. Sie können dies überprüfen mit:

ip a

Wenn Sie eine solche IP-Adresse nicht sehen, fügen Sie sie zB zu eth0 hinzu:

ip a a 10.10.1.200/24 dev eth0

Versuchen Sie danach erneut, das Paket zu reparieren:

apt-get install -f

Wenn ich richtig liege, sollte das Paket installiert und der DHCP-Daemon gestartet werden. Möglicherweise möchten Sie diese IP-Adresse in / etc / network / interfaces beibehalten

ASCIInaut
quelle
2
Hinweis: ip a asteht fürip address add
mxmlnkn
hatte diesen fehler auf meiner rasp pi und konnte den dienst nicht starten, stellte sich heraus, keine ip-adresse in ip einen befehl auszugeben. Nach dem Hinzufügen der IP-Adresse hat alles funktioniert
Manny265
@ Manny265 Dein Kommentar ergibt keinen Sinn; Der Grund, warum Sie DHCP ausführen, ist, dass es Ihnen automatisch eine IP-Adresse zuweisen sollte.
Tripleee
3

Ihr Problem ist hier:

Dec 12 16:43:40 localhost dhcpd: No subnet declaration for eth0 (no IPv4 addresses).
Dec 12 16:43:40 localhost dhcpd: ** Ignoring requests on eth0.  If this is not what
Dec 12 16:43:40 localhost dhcpd:    you want, please write a subnet declaration
Dec 12 16:43:40 localhost dhcpd:    in your dhcpd.conf file for the network segment
Dec 12 16:43:40 localhost dhcpd:    to which interface eth0 is attached. **
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: Not configured to listen on any interfaces!
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: If you think you have received this message due to a bug rather
Dec 12 16:43:40 localhost dhcpd: than a configuration issue please read the section on submitting
Dec 12 16:43:40 localhost dhcpd: bugs on either our web page at www.isc.org or in the README file
Dec 12 16:43:40 localhost dhcpd: before submitting a bug.  These pages explain the proper
Dec 12 16:43:40 localhost dhcpd: process and the information we find helpful for debugging..
Dec 12 16:43:40 localhost dhcpd: 
Dec 12 16:43:40 localhost dhcpd: exiting.

Sie sollten in Lage sein, die Fehlermeldung zu reproduzieren, indem Sie ausführen dhcpd -t -cf /etc/dhcp/dhcpd.conf.


Ich vermute, dass Sie eine drahtlose Internetverbindung für andere Hosts über Ethernet freigeben möchten, wie im folgenden Topologiediagramm dargestellt.

                            ↑
                            │ Uplink
                            │
               ┌────────────┴────────────┐
               │          wlan0          │
               │     192.168.1.65/24     │
               │                         │
               │        semplice         │
               │                         │
               │       10.10.1.1/24      │
               │          eth0           │
               └────────────┬────────────┘
                            │
     ┌──────────────┬───────┴────────┬──────────────┐
     │              │                │              │
   Host 1         Host 2           Host 3         Host 4
 10.10.1.21     10.10.1.22       10.10.1.23     10.10.1.24

Ich gehe davon aus, dass die Adresse Ihres Servers eth010.10.1.1 ist. Überprüfen Sie dies durch Ausführen ip addr show dev eth0.

Anschließend müssen Sie konfigurieren /etc/dhcp/dhcpd.conf , dass Adressen an der eth0Schnittstelle ausgegeben werden. Out of the box, dhcpdist so konfiguriert , nicht zu reagieren auf allem, weil ein versehentlich läuft Rogue DHCP - Server Chaos in einem Netzwerk durch Austeilen Adressen zu jedem Host, der für eine fragt anrichten würde.

In /etc/dhcp/dhcpd.confbenötigen Sie eine Zeilengruppe wie die folgende:

subnet 10.10.1.0 netmask 255.255.255.0 {
    option subnet-mask        255.255.255.0;
    option broadcast-address  10.10.1.255;
    option routers            10.10.1.1;
    pool {
        range 10.10.1.21 10.10.1.254;
    }
}

… Zusätzlich zu Erklärungen wie authoritative , domain-name, domain-name-servers, und default-lease-time. (Passen Sie die Einstellungen nach Bedarf an. Nur Sie wissen, welche Einstellungen Sie für Ihr Netzwerk benötigen.)

Außerdem müssen Sie für Debian Änderungen vornehmen /etc/default/isc-dhcp-server die Einstellungen

INTERFACES="eth0"

damit der Server den Ethernet-Port abhört. (Sie möchten nicht mithören wlan0. Ihr drahtloser Zugangspunkt ist dafür verantwortlich, Adressen an drahtlose Clients zu verteilen.)

200_erfolg
quelle
2
Sein Problem ist, dass systemd die lsb-Init-Informationen des alten Init-Skripts ignoriert, in denen eindeutig "# Required-Start: $ remote_fs $ network $ syslog" angegeben ist. Anstatt auf die Netzwerkeinheiten zu warten, die gestartet werden, wird dhcpd parallelisiert, damit es auch vorher ausgeführt wird.
Florian Heigl
Zur /etc/dhcp/dhcpd.confBehebung dieses Problems sollte eine gültige Konfigurationsdatei verwendet werden. Der isc-dhcp-serverDienst schlägt mit einer falschen dhcpd.confKonfiguration fehl .
GAD3R