DHCP-Relay-Server DualStack: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Was ist ein DHCP-Relay? ==
 
== Was ist ein DHCP-Relay? ==
DHCP-Relay ist eine Funktion, um DHCP über Netzgrenzen (Broadcastdomäne) hinaus nutzen zu können. Damit wird die Notwendigkeit der Bereitstellung eines DHCP-Servers in jedem Subnetz, in dem sich DHCP-Clients befinden, vermieden.  
+
DHCP-Relay ist eine Funktion, um DHCP über Netzgrenzen (Broadcastdomäne) hinaus nutzen zu können. Damit wird die Notwendigkeit der Bereitstellung eines DHCP-Servers in jedem Subnetz, in dem sich DHCP-Clients befinden, vermieden.
  
 
Die DHCP-Relay-Funktion wird meist durch den Router oder Server erbracht. Dabei werden client-seitig mittels Broadcast verschickte DHCP-Anfragen durch den DHCP-Relay empfangen und mittels Unicast einem oder mehreren DHCP-Servern zugestellt. Der DHCP-Relay-Agent wird funktional auf der Schnittstelle des Routers oder Servers platziert.
 
Die DHCP-Relay-Funktion wird meist durch den Router oder Server erbracht. Dabei werden client-seitig mittels Broadcast verschickte DHCP-Anfragen durch den DHCP-Relay empfangen und mittels Unicast einem oder mehreren DHCP-Servern zugestellt. Der DHCP-Relay-Agent wird funktional auf der Schnittstelle des Routers oder Servers platziert.
  
 
== Installation ==
 
== Installation ==
 +
=== DHCP-Relay für IPv4 ===
 
  apt install isc-dhcp-relay
 
  apt install isc-dhcp-relay
 +
 +
=== DHCP-Relay für IPv6 ===
 +
apt install wide-dhcpv6-relay
  
 
== Konfiguration ==
 
== Konfiguration ==
=== Eingangs- und Ausgangs-Interfaces eintragen ===
+
=== Konfiguration für IPv4 ===
 
Öffnen Sie die Konfigurationsdatei und tragen Sie die DHCP-Server sowie die verwendeten Interfaces ein:
 
Öffnen Sie die Konfigurationsdatei und tragen Sie die DHCP-Server sowie die verwendeten Interfaces ein:
  
Zeile 14: Zeile 18:
  
 
Beispielkonfiguration:
 
Beispielkonfiguration:
  SERVERS="10.114.214.110 2a02:24d8:71:3036::110"
+
  SERVERS="10.114.214.110"
 
  INTERFACES="enp0s9.21 enp0s9.22"
 
  INTERFACES="enp0s9.21 enp0s9.22"
  OPTIONS="-4 -6"
+
  OPTIONS=""
  
* '''SERVERS''': Die IP-Adresse(n) des DHCP-Servers (IPv4 und IPv6), an den die Anfragen weitergeleitet werden.
+
* '''SERVERS''': Die IPv4-Adresse des DHCP-Servers, an den die Anfragen weitergeleitet werden.
 
* '''INTERFACES''': Die Schnittstellen, auf denen der DHCP-Relay-Agent Anfragen entgegennimmt (`enp0s9.21` für die Clients) und weiterleitet (`enp0s9.22` zum DHCP-Server).
 
* '''INTERFACES''': Die Schnittstellen, auf denen der DHCP-Relay-Agent Anfragen entgegennimmt (`enp0s9.21` für die Clients) und weiterleitet (`enp0s9.22` zum DHCP-Server).
* '''OPTIONS="-4 -6"''': Aktiviert sowohl den DHCPv4- als auch den DHCPv6-Relay-Agenten.
 
  
=== Start des DHCP-Relay-Agenten ===
+
=== Konfiguration für IPv6 ===
 +
Für den DHCPv6-Relay verwenden Sie den `dhcp6relay`. Es gibt keine separate Konfigurationsdatei, daher müssen Sie die Konfiguration direkt beim Start des Dienstes über die Kommandozeile angeben.
 +
 
 +
Starten Sie den `dhcp6relay`-Dienst mit den entsprechenden Optionen:
 +
 
 +
sudo /usr/sbin/dhcp6relay -f -d enp0s9.21 -r enp0s9.22 -s 2a02:24d8:71:3036::101
 +
 
 +
* '''-f''': Führt den Relay-Agenten im Vordergrund aus (nützlich zum Debuggen).
 +
* '''-d''': Aktiviert den Debug-Modus.
 +
* '''enp0s9.21''': Das Interface, auf dem der DHCPv6-Relay-Agent Anfragen entgegennimmt.
 +
* '''-r enp0s9.22''': Das Interface, über das die Anfragen an den DHCPv6-Server weitergeleitet werden.
 +
* '''-s 2a02:24d8:71:3036::101''': Die IPv6-Adresse des DHCPv6-Servers.
 +
 
 +
== Start des DHCP-Relay-Agenten ==
 +
=== Starten des DHCP-Relay für IPv4 ===
 
  systemctl start isc-dhcp-relay
 
  systemctl start isc-dhcp-relay
  
=== Status prüfen ===
+
=== Starten des DHCP-Relay für IPv6 ===
Überprüfen Sie, ob der DHCP-Relay-Agent erfolgreich gestartet wurde:
+
Da es keine direkte Systemd-Unit für `dhcp6relay` gibt, erstellen Sie eine eigene Unit-Datei:
 +
 
 +
sudo nano /etc/systemd/system/dhcp6relay.service
  
 +
Inhalt der Datei:
 +
[Unit]
 +
Description=WIDE DHCPv6 Relay
 +
After=network.target
 +
 +
[Service]
 +
ExecStart=/usr/sbin/dhcp6relay -f enp0s9.21 -r enp0s9.22 -s 2a02:24d8:71:3036::101
 +
Restart=on-failure
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
 +
Speichern und schließen Sie die Datei, dann aktivieren und starten Sie den Dienst:
 +
 +
sudo systemctl daemon-reload
 +
sudo systemctl enable dhcp6relay.service
 +
sudo systemctl start dhcp6relay.service
 +
 +
== Status prüfen ==
 +
=== Status des DHCP-Relay für IPv4 ===
 
  systemctl status isc-dhcp-relay.service
 
  systemctl status isc-dhcp-relay.service
  
Die Ausgabe sollte ähnlich aussehen:
+
=== Status des DHCP-Relay für IPv6 ===
● isc-dhcp-relay.service - LSB: DHCP relay
+
systemctl status dhcp6relay.service
      Loaded: loaded (/etc/init.d/isc-dhcp-relay; generated)
 
      Active: active (running) since Wed 2023-02-15 13:01:20 CET; 29min ago
 
        Docs: man:systemd-sysv-generator(8)
 
    Process: 953 ExecStart=/etc/init.d/isc-dhcp-relay start (code=exited, status=0/SUCCESS)
 
      Tasks: 4 (limit: 2337)
 
      Memory: 3.1M
 
        CPU: 12ms
 
      CGroup: /system.slice/isc-dhcp-relay.service
 
              └─957 /usr/sbin/dhcrelay -q 10.114.214.110 2a02:24d8:71:3036::110
 
  
=== Neustart des DHCP-Relay-Agenten ===
+
== Neustart des DHCP-Relay-Agenten ==
Nach der Anpassung der Konfiguration muss der Relay-Agent neu gestartet werden:
+
Nach der Anpassung der Konfiguration muss der Relay-Agent neu gestartet werden.
  
 +
=== Neustart des DHCP-Relay für IPv4 ===
 
  systemctl restart isc-dhcp-relay
 
  systemctl restart isc-dhcp-relay
 +
 +
=== Neustart des DHCP-Relay für IPv6 ===
 +
systemctl restart dhcp6relay.service
  
 
== Zusammenfassung ==
 
== Zusammenfassung ==
Mit diesen Einstellungen wird der DHCP-Relay-Agent auf dem Linux-System so konfiguriert, dass er sowohl IPv4- als auch IPv6-DHCP-Anfragen vom Netzwerk `enp0s9.21` an den DHCP-Server im Netzwerk `enp0s9.22` weiterleitet.
+
Mit diesen Einstellungen wird der DHCP-Relay-Agent auf dem Linux-System so konfiguriert, dass er sowohl IPv4- als auch IPv6-DHCP-Anfragen vom Netzwerk `enp0s9.21` an den DHCP-Server im Netzwerk `enp0s9.22` weiterleitet. Für IPv4 wird `isc-dhcp-relay` verwendet, und für IPv6 wird `dhcp6relay` direkt über die Kommandozeile konfiguriert und als eigener Systemd-Dienst gestartet.

Aktuelle Version vom 2. Oktober 2024, 11:47 Uhr

Was ist ein DHCP-Relay?

DHCP-Relay ist eine Funktion, um DHCP über Netzgrenzen (Broadcastdomäne) hinaus nutzen zu können. Damit wird die Notwendigkeit der Bereitstellung eines DHCP-Servers in jedem Subnetz, in dem sich DHCP-Clients befinden, vermieden.

Die DHCP-Relay-Funktion wird meist durch den Router oder Server erbracht. Dabei werden client-seitig mittels Broadcast verschickte DHCP-Anfragen durch den DHCP-Relay empfangen und mittels Unicast einem oder mehreren DHCP-Servern zugestellt. Der DHCP-Relay-Agent wird funktional auf der Schnittstelle des Routers oder Servers platziert.

Installation

DHCP-Relay für IPv4

apt install isc-dhcp-relay

DHCP-Relay für IPv6

apt install wide-dhcpv6-relay

Konfiguration

Konfiguration für IPv4

Öffnen Sie die Konfigurationsdatei und tragen Sie die DHCP-Server sowie die verwendeten Interfaces ein:

cat /etc/default/isc-dhcp-relay

Beispielkonfiguration:

SERVERS="10.114.214.110"
INTERFACES="enp0s9.21 enp0s9.22"
OPTIONS=""
  • SERVERS: Die IPv4-Adresse des DHCP-Servers, an den die Anfragen weitergeleitet werden.
  • INTERFACES: Die Schnittstellen, auf denen der DHCP-Relay-Agent Anfragen entgegennimmt (`enp0s9.21` für die Clients) und weiterleitet (`enp0s9.22` zum DHCP-Server).

Konfiguration für IPv6

Für den DHCPv6-Relay verwenden Sie den `dhcp6relay`. Es gibt keine separate Konfigurationsdatei, daher müssen Sie die Konfiguration direkt beim Start des Dienstes über die Kommandozeile angeben.

Starten Sie den `dhcp6relay`-Dienst mit den entsprechenden Optionen:

sudo /usr/sbin/dhcp6relay -f -d enp0s9.21 -r enp0s9.22 -s 2a02:24d8:71:3036::101
  • -f: Führt den Relay-Agenten im Vordergrund aus (nützlich zum Debuggen).
  • -d: Aktiviert den Debug-Modus.
  • enp0s9.21: Das Interface, auf dem der DHCPv6-Relay-Agent Anfragen entgegennimmt.
  • -r enp0s9.22: Das Interface, über das die Anfragen an den DHCPv6-Server weitergeleitet werden.
  • -s 2a02:24d8:71:3036::101: Die IPv6-Adresse des DHCPv6-Servers.

Start des DHCP-Relay-Agenten

Starten des DHCP-Relay für IPv4

systemctl start isc-dhcp-relay

Starten des DHCP-Relay für IPv6

Da es keine direkte Systemd-Unit für `dhcp6relay` gibt, erstellen Sie eine eigene Unit-Datei:

sudo nano /etc/systemd/system/dhcp6relay.service

Inhalt der Datei:

[Unit]
Description=WIDE DHCPv6 Relay
After=network.target

[Service]
ExecStart=/usr/sbin/dhcp6relay -f enp0s9.21 -r enp0s9.22 -s 2a02:24d8:71:3036::101
Restart=on-failure

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei, dann aktivieren und starten Sie den Dienst:

sudo systemctl daemon-reload
sudo systemctl enable dhcp6relay.service
sudo systemctl start dhcp6relay.service

Status prüfen

Status des DHCP-Relay für IPv4

systemctl status isc-dhcp-relay.service

Status des DHCP-Relay für IPv6

systemctl status dhcp6relay.service

Neustart des DHCP-Relay-Agenten

Nach der Anpassung der Konfiguration muss der Relay-Agent neu gestartet werden.

Neustart des DHCP-Relay für IPv4

systemctl restart isc-dhcp-relay

Neustart des DHCP-Relay für IPv6

systemctl restart dhcp6relay.service

Zusammenfassung

Mit diesen Einstellungen wird der DHCP-Relay-Agent auf dem Linux-System so konfiguriert, dass er sowohl IPv4- als auch IPv6-DHCP-Anfragen vom Netzwerk `enp0s9.21` an den DHCP-Server im Netzwerk `enp0s9.22` weiterleitet. Für IPv4 wird `isc-dhcp-relay` verwendet, und für IPv6 wird `dhcp6relay` direkt über die Kommandozeile konfiguriert und als eigener Systemd-Dienst gestartet.