Website-Suche

So richten Sie einen DHCP-Server und -Client unter CentOS und Ubuntu ein


DHCP (kurz für Dynamic Host Configuration Protocol) ist ein Client/Server-Protokoll, das es einem Server ermöglicht, automatisch eine IP-Adresse und andere zugehörige Konfigurationsparameter (z. B. die Subnetzmaske) zuzuweisen und Standard-Gateway) zu einem Client in einem Netzwerk.

DHCP ist wichtig, da es einen System- oder Netzwerkadministrator daran hindert, IP-Adressen für neue Computer, die dem Netzwerk hinzugefügt werden, oder für Computer, die von einem Subnetz in ein anderes verschoben werden, manuell zu konfigurieren.

Die von einem DHCP-Server einem DHCP-Client zugewiesene IP-Adresse unterliegt einem „Lease“. Die Lease-Dauer variiert normalerweise je nachdem, wie lange ein Der Client-Computer benötigt wahrscheinlich die Verbindung oder die DHCP-Konfiguration.

In diesem Artikel erklären wir, wie Sie einen DHCP-Server in CentOS- und Ubuntu-Linux-Distributionen konfigurieren, um einem Client-Computer automatisch eine IP-Adresse zuzuweisen.

Installieren des DHCP-Servers in CentOS und Ubuntu

Das DCHP-Serverpaket ist in den offiziellen Repositories der Mainstream-Linux-Distributionen verfügbar. Die Installation ist recht einfach. Führen Sie einfach den folgenden Befehl aus.

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

Sobald die Installation abgeschlossen ist, konfigurieren Sie die Schnittstelle, auf der der DHCP-Daemon Anfragen bedienen soll, in der Konfigurationsdatei /etc/default/isc-dhcp-server oder /etc/sysconfig/dhcpd.

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

Wenn Sie beispielsweise möchten, dass der DHCPD-Daemon auf eth0 lauscht, legen Sie dies mit der folgenden Anweisung fest.

DHCPDARGS=”eth0”

Speichern Sie die Datei und beenden Sie den Vorgang.

Konfigurieren des DHCP-Servers in CentOS und Ubuntu

Die Hauptkonfigurationsdatei für DHCP befindet sich unter /etc/dhcp/dhcpd.conf. Sie sollte Einstellungen darüber enthalten, was zu tun ist, wo etwas zu tun ist und alle bereitzustellenden Netzwerkparameter an die Kunden.

Diese Datei besteht im Wesentlichen aus einer Liste von Anweisungen, die in zwei große Kategorien unterteilt sind:

  • Globale Parameter: Geben Sie an, wie eine Aufgabe ausgeführt werden soll, ob eine Aufgabe ausgeführt werden soll oder welche Netzwerkkonfigurationsparameter dem DHCP-Client bereitgestellt werden sollen.
  • Deklarationen: Definieren Sie die Netzwerktopologie, geben Sie den Status eines Clients an, bieten Sie Adressen für die Clients an oder wenden Sie eine Gruppe von Parametern auf eine Gruppe von Deklarationen an.

Öffnen und bearbeiten Sie nun die Konfigurationsdatei, um Ihren DHCP-Server zu konfigurieren.

------------ On CentOS ------------ 
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
sudo vim /etc/dhcp/dhcpd.conf				

Beginnen Sie mit der Definition der globalen Parameter, die für alle unterstützten Netzwerke gelten, oben in der Datei. Sie gelten für alle Erklärungen:

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

Als Nächstes müssen Sie ein Subnetzwerk für ein internes Subnetz definieren, z. B. 192.168.1.0/24, wie gezeigt.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.1.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Beachten Sie, dass Hosts, die spezielle Konfigurationsoptionen erfordern, in Host-Anweisungen aufgeführt werden können (siehe die Manpage dhcpd.conf).

Nachdem Sie nun Ihren DHCP-Server-Daemon konfiguriert haben, müssen Sie den Dienst in der Zwischenzeit starten und ihn so aktivieren, dass er beim nächsten Systemstart automatisch startet, und mit den folgenden Befehlen prüfen, ob er betriebsbereit ist.

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Lassen Sie als Nächstes Anfragen an den DHCP-Daemon auf der Firewall zu, der den Port 67/UDP überwacht, indem Sie ihn ausführen.

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

Konfigurieren von DHCP-Clients

Abschließend müssen Sie testen, ob der DHCP-Server einwandfrei funktioniert. Melden Sie sich bei einigen Client-Rechnern im Netzwerk an und konfigurieren Sie sie so, dass sie automatisch IP-Adressen vom Server erhalten.

Ändern Sie die entsprechende Konfigurationsdatei für die Schnittstelle, über die die Clients automatisch IP-Adressen empfangen.

DHCP-Client-Setup unter CentOS

Unter CentOS befanden sich die Schnittstellenkonfigurationsdateien unter /etc/sysconfig/network-scripts/.

vim /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 starten Sie den Netzwerkdienst neu (oder starten Sie das System neu).

systemctl restart network

DHCP-Client-Setup unter Ubuntu

Unter Ubuntu 16.04 können Sie alle Schnittstellen in der Konfigurationsdatei /etc/network/interfaces konfigurieren.

   
sudo vi /etc/network/interfaces

Fügen Sie diese Zeilen hinzu:

auto  eth0
iface eth0 inet dhcp

Speichern Sie die Datei und starten Sie die Netzwerkdienste neu (oder starten Sie das System neu).

sudo systemctl restart networking

Unter Ubuntu 18.04 wird die Vernetzung durch das Netplan-Programm gesteuert. Sie müssen beispielsweise die entsprechende Datei im Verzeichnis /etc/netplan/ bearbeiten.

sudo vim /etc/netplan/01-netcfg.yaml 

Aktivieren Sie dann dhcp4 unter einer bestimmten Schnittstelle, zum Beispiel unter ethernets, ens0, und kommentieren Sie statische IP-bezogene Konfigurationen aus:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

Speichern Sie die Änderungen und führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen.

sudo netplan apply 

Weitere Informationen finden Sie auf den Manpages dhcpd und dhcpd.conf.

man dhcpd
man dhcpd.conf

In diesem Artikel haben wir erklärt, wie man einen DHCP-Server in den Linux-Distributionen CentOS und Ubuntu konfiguriert. Wenn Sie zu irgendeinem Punkt weitere Erläuterungen benötigen, können Sie über das unten stehende Feedback-Formular eine Frage stellen oder uns einfach Ihre Kommentare mitteilen.