dhcpd

dhcpd ist der DHCP-Server des Internet Systems Consortium. Es ist zum Beispiel auf einer Maschine nützlich, die als Router in einem LAN fungiert.

Hinweis: dhcpd (DHCP (Server) Daemon) ist nicht dasselbe wie dhcpcd (DHCP Client Daemon).

Installation

Installieren Sie das DHCP-Paket.

Verwendung

dhcpd enthält zwei Unit-Dateien dhcpd4.service und dhcpd6.service, mit denen der Dämon gesteuert werden kann. Sie starten den Daemon auf allen Netzwerkschnittstellen für IPv4 bzw. IPv6. Eine Alternative finden Sie unter #Listening on only one interface .

Konfiguration

Weisen Sie der Schnittstelle, die Sie verwenden möchten, eine statische IPv4-Adresse zu (in unseren Beispielen verwenden wir eth0). Die ersten 3 Bytes dieser Adresse können nicht genau mit denen einer anderen Schnittstelle übereinstimmen.

# ip link set up dev eth0# ip addr add 139.96.30.100/24 dev eth0 # arbitrary address
Tipp: Normalerweise wird eines der nächsten drei Subnetze für private Netzwerke verwendet, die speziell reserviert sind und nicht mit einem Host im Internet in Konflikt stehen:

  • 192.168/16 ( subnetz 192.168.0.0, Netzmaske 255.255.0.0)
  • 172.16/12 ( subnetz 172.16.0.0, Netzmaske 255.240.0.0)
  • 10/8 ( für große Netzwerke; subnetz 10.0.0.0, Netzmaske 255.0.0.0)

Siehe auch RFC 1918.

Ihre statische IP-Adresse wird beim Booten zugewiesen, siehe Netzwerkkonfiguration#Statische IP-Adresse.

Der Standardwert dhcpd.conf enthält viele unkommentierte Beispiele, also verlagern Sie ihn:

# cp /etc/dhcpd.conf /etc/dhcpd.conf.example

Die minimale Konfigurationsdatei kann wie folgt aussehen:

/etc/dhcpd.conf
Option Domain-Name-Server 8.8.8.8, 8.8.4.4;Option Subnetzmaske 255.255.255.0;Option Router 139.96.30.100;Subnetz 139.96.30.0 Netzmaske 255.255.255.0 { Bereich 139.96.30.150 139,96,30,250;}

Wenn Sie eine feste IP-Adresse für ein einzelnes bestimmtes Gerät angeben müssen, können Sie Hostblöcke definieren:

/etc/dhcpd.conf
Option Domain-Name-Server 8.8.8.8, 8.8.4.4;Option Subnetzmaske 255.255.255.0;Option Router 139.96.30.100;Subnetz 139.96.30.0 Netzmaske 255.255.255.0 { Bereich 139.96.30.150 139.96.30.250;}host macbookpro{ hardware ethernet 70:56:81:22:33:44; feste Adresse 139.96.30.199;}

domain-name-servers option enthält Adressen von DNS-Servern, die an Clients geliefert werden. In unserem Beispiel verwenden wir die öffentlichen DNS-Server von Google. Wenn Sie einen lokalen DNS-Server kennen (z. B. von Ihrem ISP bereitgestellt), sollten Sie dessen Verwendung in Betracht ziehen. Wenn Sie Ihr eigenes DNS auf einem lokalen Rechner konfiguriert haben, verwenden Sie dessen Adresse in Ihrem Subnetz (z. B. 139.96.30.100 in unserem Beispiel).

subnet-mask und routers definiert eine Subnetzmaske und eine Liste der verfügbaren Router im Subnetz. In den meisten Fällen können Sie für kleine Netzwerke 255.255.255.0 als Maske verwenden und eine IP-Adresse des Computers angeben, auf dem Sie den DHCP-Server als Router konfigurieren.

subnet blocks definiert Optionen für separate Subnetze, die den Netzwerkschnittstellen zugeordnet sind, auf denen dhcpd ausgeführt wird. In unserem Beispiel ist dies ein Subnetz 139.96.30.0/24 für Single interface eth0, für das wir den Bereich der verfügbaren IP-Adressen definiert haben. Adressen aus diesem Bereich werden den verbindenden Clients zugewiesen.

Nur eine Schnittstelle abhören

Wenn Ihr Computer bereits Teil eines oder mehrerer Netzwerke ist, kann es ein Problem sein, wenn Ihr Computer IP-Adressen an Maschinen aus den anderen Netzwerken weitergibt. Dies kann entweder durch Konfigurieren von dhcpd oder durch Starten als Daemon mit systemctl erfolgen.

dhcpd konfigurieren

Um eine Schnittstelle auszuschließen, müssen Sie eine leere Deklaration für das Subnetz erstellen, das auf dieser Schnittstelle konfiguriert wird.

Dies geschieht durch Bearbeiten der Konfigurationsdatei (zum Beispiel):

/etc/dhcpd.conf
# Kein DHCP-Dienst im DMZ-Netzwerk (192.168.2.0/24)Subnetz 192.168.2.0 Netzmaske 255.255.255.0 {}

Servicedatei

Es werden standardmäßig keine Servicedateien bereitgestellt, um dhcpd nur auf einer Schnittstelle zu verwenden. Kopieren Sie zunächst den vorhandenen Dienst:

# cp /usr/lib/systemd/system/dhcpd4.service /etc/systemd/system/[email protected]

Bearbeiten Sie dann die ExecStart-Zeile, um die Schnittstelle einzuschließen:

/etc/systemd/system/[email protected]
......ExecStart=/usr/bin/dhcpd -4 -q -cf /etc/dhcpd.conf -pf /Ausführen/dhcpd4/dhcpd.pid %I...

Dies ist eine Vorlageneinheit, die sie an eine bestimmte Schnittstelle bindet, z. B. [email protected] wobei eth0 eine Schnittstelle ist, die mit ip link angezeigt wird.

Verwendung für PXE

Die PXE-Konfiguration erfolgt mit den folgenden zwei Optionen:

/etc/dhcpd.conf
nächster Server 192.168.0.2;Dateiname "/pxelinux.0";

Dieser Abschnitt kann entweder in einer gesamten subnet oder nur in einer host Definition enthalten sein. next-server ist die IP des TFTP-Servers und filename ist der Dateiname des zu startenden Images. Weitere Informationen finden Sie unter PXE.

Siehe auch

  • ISC DHCP Dokumentation