Benutzer-Werkzeuge

Webseiten-Werkzeuge


dhcp_server

DHCP-Server

Installation

Die Installation erfolgt wie gewohnt mit dem apt-get install-Kommando. Jedoch darf man sich bei der Installation nicht erschrecken, da Debian versucht gleich den Dienst zu starten und schlägt dabei fehl, weil der Dienst nicht konfiguriert ist:

user@host:~#

apt-get install isc-dhcp-server
--------------------------------------------------------------------
[...]
Setting up libirs-export141 (1:9.10.3.dfsg.P4-12.3+deb9u4) ...
Setting up isc-dhcp-server (4.3.5-3) ...
Generating /etc/default/isc-dhcp-server...
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
● isc-dhcp-server.service - LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2018-02-15 20:40:22 UTC; 44ms ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8686 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)

Feb 15 20:40:20 bananapim2plus systemd[1]: Starting LSB: DHCP server...
Feb 15 20:40:20 bananapim2plus isc-dhcp-server[8686]: Launching both IPv4 and IPv6 servers (please configure INTERFACES in /etc/default/isc-dhcp-server if you only want one or the other).
Feb 15 20:40:20 bananapim2plus dhcpd[8697]: Wrote 0 leases to leases file.
Feb 15 20:40:22 bananapim2plus isc-dhcp-server[8686]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Feb 15 20:40:22 bananapim2plus isc-dhcp-server[8686]:  failed!
Feb 15 20:40:22 bananapim2plus systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Feb 15 20:40:22 bananapim2plus systemd[1]: Failed to start LSB: DHCP server.
Feb 15 20:40:22 bananapim2plus systemd[1]: isc-dhcp-server.service: Unit entered failed state.
Feb 15 20:40:22 bananapim2plus systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Processing triggers for systemd (232-25+deb9u1) ...

Konfiguration

Beim DHCP-Server müssen drei Dinge konfiguriert werden:

  • /etc/dhcp/dhcpd.conf: Die Subnetze, die mit IPs versorgt werden
  • /etc/default/isc-dhcp-server: Das Interface, auf dem auf DHCP-Anfragen von frisch zugeschalteten Rechnern gehorcht wird

/etc/dhcp/dhcpd.conf

Hier werden global, oder je Subnetz die Parameter für die Vergabe von IP-Adressen festgelegt. Recht weit oben lege man netzübergreifend fest, wie die Domäne heißt und die Namen der zu ihr gehörenden DNS-Server:

/etc/dhcp/dhcpd.conf

[...]
# option definitions common to all supported networks...
option domain-name "netlab.local";
option domain-name-servers 10.0.1.10;

default-lease-time 600;
max-lease-time 7200;
[...]
Weiter unten beschreibe man das Subnetz, welches bedient wird:

/etc/dhdp/dhcpd.conf

[...]
# A slightly different configuration for an internal subnet.
subnet 10.0.100.0 netmask 255.255.255.0 {
  range 10.0.100.20 10.0.100.100;
  option routers 10.0.100.1;
  option broadcast-address 10.0.100.255;
  default-lease-time 600;
  max-lease-time 7200;
}
[...]
Hier wurden Festgelegt:

  • Adressbereich: von 10.0.100.20 bis 10.0.100.100
  • Router: 10.0.100.1 (gerne auch mehrere, kommagetrennt)
  • Broadcast-Adresse
  • Die Lease-Zeiten in Sekunden

/etc/default/isc-dhcp-server

Hier werden die Interfaces festgelegt, auf denen der DHCP-Dienst lauscht. Dabei muss man bei Maschinen mit mehreren Netzwerk-Interfaces aufpassen, da man den Dienst sonst auf einem falschen Interface startet und damit das falsche Netz mit IPs versorgt. Das kann dazu führen, dass man Dienste aus anderen Netzen durcheinanderbringt und damit im schlimmsten Fall die Infrastruktur lahmlegt.

/etc/default/isc-dhcp-server

[...]
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="eth0"
INTERFACESv6=""

Dienst starten & prüfen

Man starte den Dienst …

user@host:~#

systemctl start isc-dhcp-server
Nun verbinde man einen weiteren Client mit dem Netz oder restarte das Netzwerkinterface einen anderen Clients und schaue in die resolv.conf:

user@host2:~$

cat /etc/resolv.conf
--------------------------------------------------------------
nameserver 10.0.100.11
nameserver 10.0.100.12
nameserver 10.0.100.13
search netlab.local
Hier sollten dann die (nicht zwingend alle) in der /etc/network/interfaces eingetragenen Nameserver, sowie die search-Direktive mit dem richtigen Domänennamen eingetragen sein

dhcp_server.txt · Zuletzt geändert: 2018/09/05 17:43 von admin