DHCP installieren und konfigurieren

Ich habe euch die Installation, von einem Windows-DHCP näher gebracht. Da mir aber Linux, ebenso wichtig ist, werde ich mit euch einen Ubuntu-DHCP installieren und konfigurieren. Es ist mittlerweile, meiner Ansicht leichter und schneller, auf Basis von Linux, einen DHCP Server auf die Beine zu stellen.


Inhaltsverzeichnis

  1. Installation
  2. Konfiguration
    1. Schnittstellen binden
    2. DHCP Bereich konfigurieren
  3. System
  4. Troubleshooting
  5. TEST
    1. Lease

Installation

sudo apt update 
sudo apt -y install isc-dhcp-server

Konfiguration

Schnittstellen binden

Währender Installation, wenn man mehrere Netzwerkkarten installiert hat, wird man nach der Netzwerkkarte gefragt von debconf, welche für den DHCP-Server gebunden werden soll.

Manuell sieht die Geschichte so aus. Am besten findet man dies heraus, in dem man in die Netzwerkschnittstelle nach sieht, da es Unterschiede geben kann. Man öffnet die Netzwerkkonfiguration:

ip addr

oder

sudo nano /etc/netplan/00-installer-config.yaml

Nun wissen wir die Bezeichnung der Netzwerkschnittstelle. Damit passen wir die Netzwerkschnittstelle im DHCP Konfigurations-Datei an:

sudo nano /etc/default/isc-dhcp-server

Wir tragen in unserem Fall die “ens160” ein, wenn wir mehrere Interfaces binden möchten, müssen wir nur z.B. “ens160 ens161” ein tragen, getrennt mit einem Leerzeichen.
Ich lasse meist die IPv6 Konfiguration aus, in einem lokalen Netzwerk, da man Sie, in Ausnahme Fälle benötigt, aber niemals deaktivieren, es gibt gewisse Applikationen die IPv6 benötigen.

DHCP Bereich konfigurieren

sudo nano /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.102.255;
option routers 192.168.102.254;
option domain-name-servers 1.1.1.1, 1.0.0.1;
option domain-name "test.local";
ddns-update-style none;
authoritative;
log-facility local7;
#ping true;

Hier füllen wir die allgemeinen Optionen aus, die von allen Netzwerkschnittstellen gebunden sind.

default-lease-time = Ganzzahl, die die Standard-Leasingzeit in Sekunden festlegt.
max-lease-time = Ganzzahl, die die maximale Leasingdauer in Sekunden angibt.
option subnet-mask = Im welchen Bereich der DHCP-Server aktiv ist, damit ist das Subnetting oder auch CIDR gemeint.
option broadcast-address = Die höchste IP-Adresse im Subnet, die wird verwendet, um DHCP-Discover durchzuführen.
option router = Definiert die IP-Adresse Ihres Gateways oder den Netzwerk-Austrittspunkt.
option domain-namensserver = Die IP-Adresse oder Adressen von DNS-Servern, die die Clients verwenden dürfen.
option domain-name = Der Name der Domain, die den Clients die Nutzung ermöglicht.
ddns-update-style = Dies ist in dieser Beschreibung für Vollständigkeit enthalten. Diese Option ist verfügbar, wenn Sie DDNS deaktivieren möchten. Quelle: https://kb.isc.org/docs/aa-01091
log-facility = Protokolle an syslog facility local7 senden. Nähere Informationen: https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcpdconf
authorative = Der Server ist autoritativ, dieser DHCP-Server sollte damit sich nicht ein weiterer DHCP-Server im Netzwerk versteckt.
ping = Wenn true, pingt der Server eine Adresse, bevor er einem Client einen Leasingvertrag über diese Adresse zuweist.

subnet 192.168.102.0 netmask 255.255.255.0 {
  range 192.168.102.50 192.168.102.100;
  option domain-name-servers 1.1.1.1, 1.0.0.1;
  option domain-name "test.local";
  option subnet-mask 255.255.255.0;
  option routers 192.168.102.254;
  option broadcast-address 192.168.102.255;
  get-lease-hostnames true;
  use-host-decl-names true;
  default-lease-time 600;
  max-lease-time 7200;
}

Wir werden nun die Bereichsoptionen anpassen und dementsprechend konfigurieren. Ich werde nicht alle Optionen benutzen und aufführen. Dies würde diesen Beitrag gewaltig sprengen. Es soll einfach nur die notwendigen Einstellungen, damit man ein sauberes Netzwerk bekommt veröffentlichen.


System

sudo systemctl enable isc-dhcp-server
sudo systemctl start isc-dhcp-server
sudo systemctl stop isc-dhcp-server
sudo systemctl status isc-dhcp-server
sudo systemctl restart isc-dhcp-server
sudo systemctl disable isc-dhcp-server

Troubleshooting

Ich habe nun einen Fehler eingebaut, um euch einen einfachen Weg zu zeigen, wie man Konfigurationsfehler findet und behebt. Aus diesem

sudo systemctl status isc-dhcp-server

Befehl wird man nicht wirklich schlau.

Daher werden wir diesen Befehl, benutzen. Dieser Befehl zeigt uns genau, wo der Konfigurationsfehler liegt.

sudo dhcpd -t

Wen die Konfiguration angepasst wurde. Werden wir den ICS-DHCP-Server Neustarten.

sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server

Dann sollte das System sauber laufen.


TEST

Ich habe einen Test, mit einem Virtuellen Windows 10 gemacht. Einfach bei der virtuellen Maschine den Befehl eingegeben.

ipconfig /all


Wie man in diesem Bild sieht, wurden alle konfigurierten Einstellungen dem Windows sauber übergeben.

Lease

Um zu überprüfen, welche Clients sich eine Adresse gemietet haben kann man mit, dem Befehl abfragen.

sudo nano /var/lib/dhcp/dhcpd.leases

Über die MAC-Adresse kann man sehr schön sehen welche Clients sich vom Server eine Adresse gemietet haben, ebenso ist der Hostname aufgeführt.

Da man bei einem DHCP sehr viel einstellen kann, würde es diesen Beitrag extrem Sprengen. Ich empfehle die Manuell Page vom Hersteller aufzusuchen, solltet Ihr Einstellungen benötigen. Dies war nur ein Ausschnitt von einem Standard Netzwerkkonfiguration, damit man ins Internet kommt. Es gibt ja noch die Möglichkeit einer Reservierung, PXE, NTP usw. die dem Client über einen DHCP mitgeteilt werden können.

Quelle: https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcpd

Schreibe einen Kommentar

%d Bloggern gefällt das: