DHCP-Relay-Server DualStack

Aus Xinux Wiki
Version vom 2. Oktober 2024, 11:47 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.