So installieren Sie einen DHCP-Server in CentOS, RHEL und Fedora
DHCP (Dynamic Host Configuration Protocol) ist ein Netzwerkprotokoll, das es einem Server ermöglicht, einem Client in einem Netzwerk automatisch eine IP-Adresse zuzuweisen und andere zugehörige Netzwerkkonfigurationsparameter bereitzustellen ein vordefinierter IP-Pool.
Das bedeutet, dass ein Client (der mit dem Netzwerk verbunden ist) jedes Mal, wenn er hochfährt, eine „dynamische“ IP-Adresse erhält, im Gegensatz zu einer „statischen“ IP-Adresse, die sich nie ändert. Die vom DHCP-Server dem DHCP-Client zugewiesene IP-Adresse ist „geleast“. Die Lease-Zeit kann variieren, je nachdem, wie lange ein Client die Verbindung oder DHCP-Konfiguration voraussichtlich benötigen wird.
In diesem Tutorial erfahren Sie, wie Sie einen DHCP-Server in CentOS/RHEL- und Fedora-Distributionen installieren und konfigurieren.
Einrichtung der Testumgebung
Wir werden für dieses Setup die folgende Testumgebung verwenden.
DHCP Server - CentOS 7
DHCP Clients - Fedora 25 and Ubuntu 16.04
Wie funktioniert DHCP?
Bevor wir fortfahren, erklären wir kurz, wie DHCP funktioniert:
- Wenn ein Client-Computer (für die Verwendung von DHCP konfiguriert) und mit einem Netzwerk verbunden ist, eingeschaltet wird, leitet er eine DHCPDISCOVER-Nachricht an den DHCP-Server weiter.
- Und nachdem der DHCP-Server die Anforderungsnachricht DHCPDISCOVER erhalten hat, antwortet er mit einer Nachricht DHCPOFFER.
- Dann empfängt der Client die DHCPOFFER-Nachricht und sendet eine DHCPREQUEST-Nachricht an den Server, die angibt, dass er bereit ist, die in der DHCPOFFER-Nachricht angebotene Netzwerkkonfiguration zu erhalten. starke> Nachricht.
- Zu guter Letzt empfängt der DHCP-Server die DHCPREQUEST-Nachricht vom Client und sendet die DHCPACK-Nachricht, die zeigt, dass der Client nun die ihm zugewiesene IP-Adresse verwenden darf .
Schritt 1: DHCP-Server in CentOS installieren
1. Die Installation von DCHP ist ganz einfach. Führen Sie einfach den folgenden Befehl aus.
yum -y install dhcp
Wichtig: Angenommen, dass mehr als eine Netzwerkschnittstelle an das System angeschlossen ist, Sie aber möchten, dass der DHCP-Server nur auf einer der Schnittstellen gestartet wird, legen Sie den DHCP-Server fest um nur auf dieser Schnittstelle wie folgt zu starten.
2. Öffnen Sie die Datei /etc/sysconfig/dhcpd und fügen Sie den Namen der spezifischen Schnittstelle zur Liste von DHCPDARGS hinzu, z. B. wenn Schnittstelle ist eth0
, dann fügen Sie hinzu:
DHCPDARGS=eth0
Speichern Sie die Datei und beenden Sie den Vorgang.
Schritt 2: Konfigurieren des DHCP-Servers in CentOS
3. Um einen DHCP-Server einzurichten, besteht der erste Schritt darin, die Konfigurationsdatei dhcpd.conf
zu erstellen. Die Haupt-DHCP-Konfigurationsdatei lautet normalerweise / etc/dhcp/dhcpd.conf (standardmäßig leer) speichert alle an Clients gesendeten Netzwerkinformationen.
Es gibt jedoch eine Beispielkonfigurationsdatei /usr/share/doc/dhcp*/dhcpd.conf.sample, die einen guten Ausgangspunkt für die Konfiguration eines DHCP-Servers darstellt.
Und es gibt zwei Arten von Anweisungen, die in der DHCP-Konfigurationsdatei definiert sind:
- Parameter – geben an, wie eine Aufgabe ausgeführt werden soll, ob eine Aufgabe ausgeführt werden soll oder welche Netzwerkkonfigurationsoptionen an den DHCP-Client gesendet werden sollen.
- Deklarationen – geben Sie die Netzwerktopologie an, definieren Sie die Clients, bieten Sie Adressen für die Clients an oder wenden Sie eine Gruppe von Parametern auf eine Gruppe von Deklarationen an.
Beginnen Sie daher damit, die Beispielkonfigurationsdatei wie folgt als Hauptkonfigurationsdatei zu kopieren:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
4. Öffnen Sie nun die Hauptkonfigurationsdatei und definieren Sie Ihre DHCP-Serveroptionen:
vi /etc/dhcp/dhcpd.conf
Legen Sie zunächst oben in der Datei die folgenden globalen Parameter fest, die für alle Subnetzwerke gelten (geben Sie Werte an, die für Ihr Szenario gelten):
option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
5. Definieren Sie nun ein Subnetzwerk. In diesem Beispiel konfigurieren wir DHCP für das LAN-Netzwerk 192.168.56.0/24 (denken Sie daran, Parameter zu verwenden, die für Ihr Szenario gelten):
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.1;
option subnet-mask 255.255.255.0;
option domain-search "tecmint.lan";
option domain-name-servers 192.168.56.1;
range 192.168.56.10 192.168.56.100;
range 192.168.56.120 192.168.56.200;
}
Schritt 3: Weisen Sie dem DHCP-Client eine statische IP zu
Sie können einem bestimmten Client-Computer im Netzwerk eine statische IP-Adresse zuweisen. Definieren Sie dazu einfach den Abschnitt unten in der Datei /etc/dhcp/dhcpd.conf, in dem Sie dessen MAC-Adressen und die feste IP-Adresse explizit angeben müssen Zu vergebende IP:
host ubuntu-node {
hardware ethernet 00:f0:m4:6y:89:0g;
fixed-address 192.168.56.105;
}
host fedora-node {
hardware ethernet 00:4g:8h:13:8h:3a;
fixed-address 192.168.56.110;
}
Speichern Sie die Datei und schließen Sie sie.
Hinweis: Sie können die Linux-MAC-Adresse mit dem folgenden Befehl herausfinden oder anzeigen.
ifconfig -a eth0 | grep HWaddr
6. Starten Sie nun vorübergehend den DHCP-Dienst und aktivieren Sie ihn so, dass er beim nächsten Systemstart automatisch startet, indem Sie die folgenden Befehle verwenden:
---------- On CentOS/RHEL 7 ----------
systemctl start dhcpd
systemctl enable dhcpd
---------- On CentOS/RHEL 6 ----------
service dhcpd start
chkconfig dhcpd on
7. Vergessen Sie als Nächstes nicht, den DHCP-Dienst (DHCPD-Daemon überwacht Port 67/UDP) wie folgt zuzulassen:
---------- On CentOS/RHEL 7 ----------
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
service iptables save
Schritt 4: DHCP-Clients konfigurieren
8. Jetzt können Sie Ihre Clients im Netzwerk so konfigurieren, dass sie automatisch IP-Adressen vom DHCP-Server erhalten. Melden Sie sich beim Client-Computer an und ändern Sie die Konfigurationsdatei der Ethernet-Schnittstelle wie folgt (berücksichtigen Sie dabei nicht den Namen/die Nummer der Schnittstelle):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Fügen Sie die folgenden Optionen hinzu:
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes
Speichern Sie die Datei und beenden Sie den Vorgang.
9. Sie können die Einstellungen auch über die GUI auf einem Desktop-Computer vornehmen. Stellen Sie die Methode auf Automatisch (DHCP) ein, wie im Screenshot unten gezeigt (Ubuntu 16.04-Desktop).
10. Starten Sie dann die Netzwerkdienste wie folgt neu (möglicherweise können Sie das System neu starten):
---------- On CentOS/RHEL 7 ----------
systemctl restart network
---------- On CentOS/RHEL 6 ----------
service network restart
Wenn alle Einstellungen korrekt waren, sollten Ihre Clients zu diesem Zeitpunkt automatisch IP-Adressen vom DHCP-Server erhalten.
Sie können auch lesen:
- So installieren und konfigurieren Sie den Multihomed ISC DHCP-Server unter Debian Linux
- 10 nützliche „IP“-Befehle zum Konfigurieren von Netzwerkschnittstellen
In diesem Tutorial haben wir Ihnen gezeigt, wie Sie einen DHCP-Server in RHEL/CentOS einrichten. Verwenden Sie das Kommentarformular unten, um uns zu schreiben. In einem kommenden Artikel zeigen wir Ihnen, wie Sie einen DHCP-Server in Debian/Ubuntu einrichten. Bis dahin bleiben Sie immer mit TecMint verbunden.