DHCP-Auftrag
Aufgabenstellung
Aufbau der Laborumgebung
-
Vorbereitung der Maschinen:
- Richten Sie einen Debian Linux-Server ein. Dieser Server wird als DHCP-Server dienen.
- Bereiten Sie eine Windows-Maschine vor, die als DHCP-Client fungieren wird.
-
Netzwerkkonfiguration:
- Konfigurieren Sie auf dem Debian Linux-Server zwei Netzwerk-Interfaces: eines für das interne Netzwerk (intnet) mit der Subnetzmaske 192.168.1.0/26 und eines für den Internet Zugang (DHCP von aussen).
- Stellen Sie sicher, dass der Switch korrekt konfiguriert ist, um beide Netzwerke (intnet und NAT) zu unterstützen und die Kommunikation zwischen dem DHCP-Server und dem DHCP-Client zu ermöglichen.
DHCP-Server Einrichtung und Konfiguration
-
Installation des DHCP-Servers auf Debian Linux:
- Installieren Sie die DHCP-Server-Software (z.B. ISC DHCP Server) auf Ihrem Debian-System.
-
Konfiguration des DHCP-Servers:
- Konfigurieren Sie den DHCP-Server so, dass er feste IP-Adressen basierend auf der MAC-Adresse des Windows-Clients zuweist. Stellen Sie dem Windows-Client eine feste IP-Adresse im intnet-Netzwerk (z.B. 192.168.1.10/26) zu.
-
Überprüfung und Analyse:
- Starten Sie den DHCP-Server und stellen Sie sicher, dass der Windows-Client eine IP-Adresse vom DHCP-Server erhält.
- Verwenden Sie Wireshark, um den DHCP-Kommunikationsprozess zwischen Server und Client aufzuzeichnen und detailliert zu analysieren. Achten Sie insbesondere auf die Übereinstimmung mit der vorgestellten Struktur und den DHCP-Pakettypen, in denen Sie spezifische Konfigurationsoptionen (z.B. Vendor-spezifische Optionen) finden können.
Erweiterte Konfiguration und Analyse
-
DHCP-Relay Konfiguration:
- Experimentieren Sie mit der Einrichtung eines DHCP-Relays in Linux und/oder in einer simulierten Umgebung wie Packet Tracer, um zu verstehen, wie DHCP-Anfragen über verschiedene Netzwerke hinweg weitergeleitet werden.
-
Vergleich verschiedener DHCP-Implementierungen:
- Untersuchen Sie die Unterschiede zwischen verschiedenen DHCP-Server-Implementierungen wie udhcpd und isc-dhcp-server durch praktische Tests und Konfigurationsvergleiche.
-
Fortgeschrittene Server-Optionen:
- Erkunden Sie fortgeschrittene Konfigurationsoptionen des isc-dhcp-Servers, wie das Gruppieren von Geräten basierend auf Vendor-spezifischen Informationen und implementieren Sie einige dieser Optionen in Ihrer Konfiguration.
Theorie
Vorgehen mit Hürden und Lösungsansätze
Aufbau der Laborumgebung
Router (VYOS)
Permanente konfiguration aktivieren
Nachdem Sie sich mit den Zugangsdaten (Username: vyos, Password: vyos) angemeldet haben, starten Sie die Installation der VyOS-Image auf der Festplatte, um eine dauerhafte Installation zu ermöglichen:
install image
Folgen Sie den Anweisungen des Installationsassistenten, um VyOS auf der Festplatte zu installieren. Dies stellt sicher, dass Ihre Konfigurationen über Neustarts hinweg erhalten bleiben.
Schnittstellen konfigurieren
Nach Abschluss der Installation konfigurieren Sie die Netzwerkschnittstellen, Routing-Protokolle und NAT-Regeln wie folgt:
1. Starten Sie den Konfigurationsmodus:
configure
2. Konfigurieren Sie die Netzwerkschnittstellen mit statischen IP-Adressen oder DHCP und geben Sie ihnen eine Beschreibung:
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description 'OUTSIDE'
set interfaces ethernet eth1 address 192.168.1.1/26
set interfaces ethernet eth1 description 'VOGEL_INTNET'
set interfaces ethernet eth2 address 192.168.1.65/26
set interfaces ethernet eth2 description 'VOGEL_DHCP_RELAY'
3. Konfigurieren Sie die statische Route für den Internetzugang:
set protocols static route 0.0.0.0/0 next-hop <Your_Gateway_IP>
Ersetzen Sie <Your_Gateway_IP>
durch die IP-Adresse Ihres Gateways.
4. Richten Sie NAT-Regeln ein, um die Internetverbindung für Ihre internen Netzwerke zu ermöglichen:
set nat source rule 100 outbound-interface 'eth0'
set nat source rule 100 source address '192.168.1.0/26'
set nat source rule 100 translation address masquerade
set nat source rule 101 outbound-interface 'eth0'
set nat source rule 101 source address '192.168.1.64/26'
set nat source rule 101 translation address masquerade
5. Wenden Sie die Konfiguration an und speichern Sie sie:
commit
save
Überprüfung der Konfiguration
Nachdem Sie die Konfiguration gespeichert haben, überprüfen Sie Ihre Einstellungen, um sicherzustellen, dass alles korrekt eingerichtet ist:
1. Überprüfen Sie die Schnittstellenkonfiguration:
show interfaces
Dieser Befehl listet die Konfigurationen aller Schnittstellen auf, einschließlich der zugewiesenen IP-Adressen und Beschreibungen.
2. Testen Sie die Konnektivität und die Routing-Einstellungen:
ping 8.8.8.8
Ein erfolgreicher Ping-Test zur IP-Adresse 8.8.8.8 (Google DNS) bestätigt, dass Ihre statische Route und Internetverbindung korrekt funktionieren.
3. Überprüfen Sie die NAT-Regeln:
show nat source rules
Dies sollte die konfigurierten NAT-Regeln und ihre Details anzeigen, was bestätigt, dass das NAT korrekt eingerichtet ist.
Debian-Server (Ubuntu)
Überprüfen der aktuellen Netzwerkkonfiguration (Normalerweise nicht nötig):
Öffnen Sie ein Terminal auf Ihrem Debian- oder Ubuntu-Server und führen Sie den Befehl ip a
aus, um die aktuellen Netzwerkeinstellungen und -schnittstellen anzuzeigen. Sie sollten eine Liste der Netzwerkschnittstellen sehen.
ip a
Konfigurieren der Netzwerkschnittstelle ens35:
Um ens33
mit einer statischen IP-Adresse zu konfigurieren, bearbeiten Sie die Netplan-Konfigurationsdatei mit einem Texteditor Ihrer Wahl, wie z.B. nano.
nano /etc/netplan/00-installer-config.yaml
Fügen Sie den folgenden Abschnitt in die Datei ein oder aktualisieren Sie die vorhandene Konfiguration. Dabei wird ens33
auf DHCP gesetzt (falls noch nicht geschehen), und ens35
wird eine statische IP-Adresse zugewiesen:
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.2/26]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 1.0.0.1]
version: 2
Anwenden der Netzwerkkonfiguration:
Nachdem Sie diesen Befehl ausgeführt haben, wird ens33
mit der statischen IP-Adresse konfiguriert sein, die Sie in der Netplan-Konfigurationsdatei angegeben haben.
sudo netplan apply
Windows-Server
DHCP-Server Einrichtung und Konfiguration
Installation des ISC-DHCP-Servers:
Öffnen Sie ein Terminal und installieren Sie den ISC-DHCP-Server mit dem folgenden Befehl:
sudo apt install isc-dhcp-server
Konfiguration des DHCP-Servers
Konfigurieren Sie den DHCP-Server, indem Sie die Hauptkonfigurationsdatei dhcpd.conf
bearbeiten. Verwenden Sie einen Texteditor Ihrer Wahl, wie nano:
nano /etc/dhcp/dhcpd.conf
Fügen Sie die folgende minimale Konfiguration in die Datei ein:
# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.192 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option domain-name-servers 1.1.1.1;
}
Diese Konfiguration setzt eine Standard-Lease-Zeit von 600 Sekunden, eine maximale Lease-Zeit von 7200 Sekunden und definiert ein Subnetz mit einem IP-Bereich für DHCP-Clients.
Festlegen der Netzwerkschnittstelle für den DHCP-Dienst:
Konfigurieren Sie die Netzwerkschnittstelle, die der DHCP-Server für die Verteilung der IP-Adressen verwenden soll, indem Sie die isc-dhcp-server
-Konfigurationsdatei bearbeiten:
nano /etc/default/isc-dhcp-server
Setzen Sie die INTERFACES
-Variable auf die Schnittstelle, die der DHCP-Server verwenden soll (in diesem Beispiel ens35
):
Neustarten des DHCP-Servers:
Wenden Sie die Änderungen an, indem Sie den DHCP-Server neu starten:
sudo systemctl restart isc-dhcp-server.service
Überprüfung und Analyse
Um sicherzustellen, dass der DHCP-Server richtig funktioniert, können Sie einen Client im selben Netzwerk testen.
Konfiguration des DHCP-Servers mit Reservation
Konfigurieren Sie den DHCP-Server, indem Sie die Hauptkonfigurationsdatei dhcpd.conf
bearbeiten. Verwenden Sie einen Texteditor Ihrer Wahl, wie nano:
nano /etc/dhcp/dhcpd.conf
Fügen Sie die folgende minimale Konfiguration in die Datei ein:
# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.192 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option domain-name-servers 1.1.1.1;
}
host vogelsrv42010 {
hardware ethernet 00:50:56:9e:c7:d7;
fixed-address 192.168.1.9;
}
In diesem Beispiel wird dem Gerät mit der MAC-Adresse 00:50:56:9e:c7:d7
immer die IP-Adresse 192.168.1.9
zugewiesen, wenn es eine DHCP-Anfrage sendet.
Starten Sie den DHCP-Server neu, um die Änderungen zu übernehmen. Verwenden Sie den folgenden Befehl, um den ISC DHCP-Server neu zu starten:
sudo systemctl restart isc-dhcp-server.service
Erweiterte Konfiguration und Analyse
DHCP-Relay Konfiguration
Um eine DHCP-Relay-Konfiguration auf einem Router (z.B. VyOS) einzurichten, folgen Sie diesen Schritten. Dies ermöglicht es dem Router, DHCP-Anfragen von einem Netzwerksegment (dem "listen-interface") an einen DHCP-Server in einem anderen Netzwerksegment (dem "server") weiterzuleiten, der über das "upstream-interface" erreichbar ist.
1. Starten Sie die Konfiguration:
configure
2. Konfigurieren Sie den DHCP-Relay-Service:
set service dhcp-relay server 192.168.1.2
set service dhcp-relay upstream-interface eth1
set service dhcp-relay listen-interface eth2
commit
save
Diese Befehle konfigurieren den DHCP-Relay, um Anfragen von eth2
zu sammeln und diese über eth1
an den DHCP-Server mit der Adresse 192.168.1.2
weiterzuleiten.
Neues DHCP Subnets erstellen
Um neue DHCP-Subnets auf Ihrem DHCP-Server zu erstellen, bearbeiten Sie die DHCP-Konfigurationsdatei:
1. Öffnen Sie die Datei dhcpd.conf
mit einem Texteditor:
nano /etc/dhcp/dhcpd.conf
2. Fügen Sie die Konfiguration für die neuen Subnets hinzu:
# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.192 {
range 192.168.1.10 192.168.1.50;
option routers 192.168.1.1;
option domain-name-servers 1.1.1.1;
}
subnet 192.168.1.64 netmask 255.255.255.192 {
range 192.168.1.70 192.168.1.110;
option routers 192.168.1.65;
option domain-name-servers 1.1.1.1;
}
3. Speichern Sie die Datei und schließen Sie den Editor.
4. Starten Sie den DHCP-Server neu, um die Änderungen zu übernehmen:
sudo systemctl restart isc-dhcp-server
DHCP-Relay testen
Um zu überprüfen, ob der DHCP-Relay funktioniert, fügen Sie einen neuen Windows-Server in das Netzwerk ein, das über das DHCP-Relay bedient wird, und prüfen Sie, ob der Server eine korrekte IP-Konfiguration vom DHCP-Server erhält.
1. Richten Sie eine neue Windows-VM im Netzwerk ein, das von eth2
bedient wird.
2. Überprüfen Sie nach dem Start der VM, ob sie eine IP-Adresse aus dem entsprechenden DHCP-Bereich erhält (z.B. 192.168.1.70
bis 192.168.1.110
für das Subnet 192.168.1.64/26
).
3. Verwenden Sie auf dem Windows-Server die Befehlszeile (CMD) und führen Sie ipconfig /all
aus, um die erhaltene IP-Konfiguration zu überprüfen. Sie sollten sehen, dass die VM eine IP-Adresse, einen Subnetzmasken, den Standardgateway und die DNS-Serverinformationen korrekt vom DHCP-Server zugewiesen bekommen hat.
Wireshark DHCP testen
Folgend sieht man einen Screenshot wie im Wireshark ipconfig /renew aufgezeichnet wurde. Der Ablauf stimmt überein mit der Grafik auf Wikipedia