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.
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
-
192.168/16
( subnetz192.168.0.0
, Netzmaske255.255.0.0
) -
172.16/12
( subnetz172.16.0.0
, Netzmaske255.240.0.0
) -
10/8
( für große Netzwerke; subnetz10.0.0.0
, Netzmaske255.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