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
Username: vyos
Password: vyos
install image
Schnittstellen konfigurieren
configure
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 eth0 description 'VOGEL_DHCP_RELAY'
set protocols static route 0.0.0.0/0 next-hop 192.168.1.1
set nat source rule 100 outbound-interface name '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 name 'eth0'
set nat source rule 101 source address '192.168.2.64/26'
set nat source rule 101 translation address masquerade
commit
save
Debian-Server (Ubuntu)
Überprüfen der aktuellen Netzwerkkonfiguration: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, einschließlich ens33 und ens35. Zu diesem Zeitpunkt ist ens35 wahrscheinlich noch unkonfiguriert und hat keine zugewiesene IP-Adresse.sehen.
ip a
Konfigurieren der Netzwerkschnittstelle ens35:
Um
mit einer statischen IP-Adresse zu konfigurieren, bearbeiten Sie die Netplan-Konfigurationsdatei mit einem Texteditor Ihrer Wahl, wie z.B. nano.ens35ens33
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: true
ens35:
dhcp4: no
addresses: [192.168.1.1/2/26]
routes:
- to: default
via: 192.168.1.1
version: 2
Anwenden der Netzwerkkonfiguration:
Nachdem Sie diesen Befehl ausgeführt haben, wird
mit der statischen IP-Adresse konfiguriert sein, die Sie in der Netplan-Konfigurationsdatei angegeben haben.ens35ens33
sudo netplan apply
Überprüfen der neuen Konfiguration:
Um sicherzustellen, dass ens35 korrekt konfiguriert wurde, führen Sie erneut ip a aus. Sie sollten jetzt sehen, dass ens35 mit der statischen IP-Adresse, die Sie zugewiesen haben, aufgeführt ist.
ip a
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. Nehmen wir als Beispiel einen Windows-Server:
-
Vor der Konfiguration:
Öffnen Sie die Eingabeaufforderung auf dem Windows-Server und führen Sie
ipconfig
aus, um die aktuelle IP-Konfiguration anzuzeigen. Ohne DHCP sollte keine IP-Adresse aus dem definierten Bereich zugewiesen sein. -
Nach der Konfiguration:
Stellen Sie sicher, dass der Client so eingestellt ist, dass er automatisch eine IP-Adresse über DHCP bezieht. Führen Sie dann erneut
ipconfig
aus oder verwenden Sieipconfig /renew
, um eine neue IP-Adresse vom DHCP-Server anzufordern.
NAT-RoutingErweiterte einrichten
Erstelle ein Bash-Skript mit den benötigten Befehlen. Öffne einen Texteditor deiner Wahl (wie nano oder vim)Konfiguration und erstelleAnalyse
ein
DHCP-Relay neues Skript.Konfiguration
sudoconfiguration
nanoset /usr/local/bin/ip_forward_masquerade.shservice dhcp-relay server 192.168.1.2
set service dhcp-relay upstream-interface eth1
set service dhcp-relay listen-interface eth2
commit
save
Füge
Neues InhaltDHCP hinzu:Subnets erstellen
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
Speichere und schließe die Datei. Mache das Skript ausführbar:
sudo chmod +x /usr/local/bin/ip_forward_masquerade.sh
Erstelle eine systemd-Service-Datei. Dies teilt systemd mit, wie und wann dein Skript ausgeführt werden soll.
sudo nano /etc/systemd/system/ip_forward_masquerade.servicedhcp/dhcpd.conf
Füge folgenden Inhalt hinzu:
[Unit]# Description=Enableminimal IPsample Forwarding/etc/dhcp/dhcpd.conf
anddefault-lease-time set600;
upmax-lease-time MASQUERADE7200;
iptablessubnet rule192.168.1.0 [Service]netmask Type=oneshot255.255.255.192 ExecStart=/usr/local/bin/ip_forward_masquerade.sh{
[Install]range WantedBy=multi-user.target192.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;
}
Aktiviere den Service, sodass er beim Booten gestartet wird. Nachdem du die Service-Datei erstellt hast, kannst du den Service mit systemctl aktivieren:
sudo systemctl enablerestart ip_forward_masquerade.serviceisc-dhcp-server
Starte den Service manuell, um zu testen, ob alles funktioniert, oder starte dein System neu, um den automatischen Start beim Booten zu testen:
sudoDHCP-Relay systemctl start ip_forward_masquerade.service
testen
Um den Status deines Services zu überprüfen,testen kannstob duder folgendenDHCP-Relay Befehlfunktioniert verwenden:habe ich mir gedacht, setzte ich einen neuen Ubuntu server in das DHCP_Relay Netz und schaue ob er die richtige konfiguration bekommt
sudo
systemctl status ip_forward_masquerade.service