Inhaltsverzeichnis
DHCP ISC DHC-Relay ArchLinux
DHCP ISC ist ein DHCP-Server, welcher die IP-Adressverteilung in einem Netzwerk realisieren kann. Der DHCP-Server des ISC (Internet System Consortium) ist einer der meist eingesetzten DHCP-Server weltweit.
Hinweis - Die nachfolgenden Ausführungen erheben keinen Anspruch auf Vollständigkeit, sondern stellen eine „Basiskonfiguration“ eins DHC-Relay-Servers für ein kleines privates Netzwerk dar!!!
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Überblick
Im nachfolgenden soll die Konfiguration
- eines DHC-Relays
welches als internes, nicht nach außen agierender DHC-Relay Konstrukt für ein privates Netzwerk mit drei Netzen durchgeführt werden soll. Nachfolgende Netze werden dabei verwaltet:
- IDMZ - Domain: idmz.tachtler.net - IP-Adressbereich: 192.168.0.0/24
- EDMZ - Domain: edmz.tachtler.net - IP-Adressbereich: 192.168.1.0/24
- Intranet - Domain: intra.tachtler.net - IP-Adressbereich: 192.168.2.0/24
Installation
Um eine DHC-Relay unter Linux, hier im speziellen unter ArchLinux zu realisieren, wird ein Programm mit dem Namen
dhcrelay
benötigt.
Dieses Programm mit dem Namen dhcrelay
befindet sich ebenfalls im Paket
WICHTIG - Die Installation des Paketes dhcp
erfolgt auf dem GATEWAY, welches als Router in z.B. das Netz 192.168.2.0/24 - intra.tachtler.net
fungiert !!!
Mit nachfolgendem Befehl, wird das Pakete dhcp
installiert:
# pacman --noconfirm -S dhcp
Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket dhcp
installiert wurden.
# pacman -Qil dhcp
Dienst/Deamon-Start konfigurieren
Leider gibt es aktuell im Paket dhcp
keine systemd
-Start-Skripte für den Dienst dhcrealy
, so das diese Skripte wie mit nachfolgenden Befehlen selbst erstellt werden müssen.
/usr/lib/tmpfiles.d/dhcrelay.conf
Um später bestimmte Pfade für die PID
-Dateien beim starten nutzen zu können, müssen diese im systemd
zuerst eingerichtet werden, so dass diese auch permanent den systemd
-Start-Skripten zur Verfügung stehen.
Dazu muss eine neue Konfigurationsdatei mit nachfolgendem Befehl und nachfolgendem Inhalt erstellt werden:
# touch /usr/lib/tmpfiles.d/dhcrelay.conf
Der Inhalt der Konfigurationsdatei /usr/lib/tmpfiles.d/dhcrelay.conf
kann dann wie folgt aussehen:
# Configuration to create /run/dhcrelay4 and /run/dhcrelay6 directory # Used as part of systemd's tmpfiles d /run/dhcrelay4 755 dhcp dhcp d /run/dhcrelay6 755 dhcp dhcp
/usr/lib/systemd/system/dhcrelay4.service
Nachfolgender systemd
-Service kann nun unter nachfolgendem Pfad und mit nachfolgendem Namen angelegt werdenn:
/usr/lib/systemd/system/dhcrelay4.service
Der Inhalt des Service kann wie folgt aussehen:
[Unit] Description=IPv4 DHCRELAY server After=network.target network-online.target Wants=network-online.target [Service] Type=forking ExecStart=/usr/bin/dhcrelay -4 -q -pf /run/dhcrelay4/dhcrelay4.pid 192.168.0.20 RuntimeDirectory=dhcrelay4 PIDFile=/run/dhcrelay4/dhcrelay4.pid User=dhcp AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW ProtectSystem=full ProtectHome=on KillSignal=SIGINT # We pull in network-online.target for a configured network connection. # However this is not guaranteed to be the network connection our # networks are configured for. So try to restart on failure with a delay # of two seconds. Rate limiting kicks in after 12 seconds. RestartSec=2s Restart=on-failure StartLimitInterval=12s [Install] WantedBy=multi-user.target
HINWEIS - Wichtig ist hier die IP-Adresse am Ende in nachfolgender Zeile:
ExecStart=/usr/bin/dhcrelay -4 -q -pf /run/dhcrelay4/dhcrelay4.pid 192.168.0.20
Option | Beschreibung |
---|---|
192.168.0.20 | DHCP-Server an den die DHCPREQUEST-Anfragen weitergeleitet werden |
Abschließend muss die systemd
Start Datei noch systemd
bekannt gemacht werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# systemctl --system daemon-reload
/usr/lib/systemd/system/dhcrelay6.service
Nachfolgender systemd
-Service kann nun unter nachfolgendem Pfad und mit nachfolgendem Namen angelegt werdenn:
/usr/lib/systemd/system/dhcrelay6.service
Der Inhalt des Service kann wie folgt aussehen:
[Unit] Description=IPv6 DHCRELAY server After=network.target network-online.target Wants=network-online.target [Service] Type=forking # DHCP-Relay is only necassary when more than one interface is available. ExecStart=/usr/bin/dhcrelay -6 -q -pf /run/dhcrelay6/dhcrelay6.pid -l eth1 -u eth0 RuntimeDirectory=dhcrelay6 PIDFile=/run/dhcrelay6/dhcrelay6.pid User=dhcp AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW ProtectSystem=full ProtectHome=on KillSignal=SIGINT # We pull in network-online.target for a configured network connection. # However this is not guaranteed to be the network connection our # networks are configured for. So try to restart on failure with a delay # of two seconds. Rate limiting kicks in after 12 seconds. RestartSec=2s Restart=on-failure StartLimitInterval=12s [Install] WantedBy=multi-user.target
HINWEIS - Wichtig sind hier am Ende der nachfolgenden Zeile, die Parameter mit den richtigen Interfaces:
ExecStart=/usr/bin/dhcrelay -6 -q -pf /run/dhcrelay6/dhcrelay6.pid -l eth0 -u eth1
Option | Beschreibung |
---|---|
-l eth0 | Lauscht auf DHCPREQUEST auf dem Interface eth0 |
-u eth1 | Weiterleitung der DHCPREQUEST an das Interface eth1 |
Abschließend muss die systemd
Start Datei noch systemd
bekannt gemacht werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# systemctl --system daemon-reload
Dienst/Deamon-Start einrichten
Um die DHC-Relay Dienste, welche als Dienst/Deamon als Hintergrundprozesse laufen, auch nach einem Neustart des Servers zur Verfügung zu haben, sollen die Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehlen realisiert werden kann:
# systemctl enable dhcrelay4.service dhcrelay6.service Created symlink /etc/systemd/system/multi-user.target.wants/dhcrelay4.service → /etc/systemd/system/dhcrelay4.service. Created symlink /etc/systemd/system/multi-user.target.wants/dhcrelay6.service → /etc/systemd/system/dhcrelay6.service.
Eine Überprüfung, ob beim Neustart des Server der dhcrelay4
-Dienst/Deamon und der dhcrelay6
-Dienst/Deamon wirklich mit gestartet werden, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
# systemctl list-unit-files --type=service | grep dhcrelay dhcrelay4.service enabled disabled dhcrelay6.service enabled disabled
bzw.
# systemctl is-enabled dhcrelay4.service dhcrelay6.service enabled enabled
iptables/ip6tables Regeln
Damit der DHC-Relay-Server auch erreichbar ist und nicht die Weitergabe der IP-Address Informationen vom Paketfilter iptables
und ip6tables
blockiert wird, muss nachfolgende Regel zum iptables
bzw. ip6tables
-Regelwerk hinzugefügt werden.
Um die aktuellen iptables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# iptables -nvL --line-numbers Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 6 398 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 5 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 5 prefix "REC-INP Defend " 6 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset 7 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 8 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-proto-unreachable Chain FORWARD (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 5 prefix "REC-FWD Defend " 2 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset 3 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 4 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-proto-unreachable Chain OUTPUT (policy ACCEPT 8 packets, 478 bytes) num pkts bytes target prot opt in out source destination
Nachfolgende Befehle, fügen folgende iptables
-Regeln dem iptables
-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p udp --dport 67 -j ACCEPT
-A OUTPUT -p udp --dport 68 -j ACCEPT
und hier die Befehle:
# iptables -I INPUT 5 -p udp --dport 67 -j ACCEPT # iptables -I OUTPUT 1 -p udp --dport 68 -j ACCEPT
Ein erneute Abfrage des iptables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# iptables -nvL --line-numbers Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 29 15634 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 5 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 6 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 5 prefix "REC-INP Defend " 7 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset 8 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 9 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-proto-unreachable Chain FORWARD (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 5 prefix "REC-FWD Defend " 2 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset 3 0 0 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 4 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-proto-unreachable Chain OUTPUT (policy ACCEPT 38 packets, 4765 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68
Die neuen Zeilen sind an Position 5 (INPUT) und Postition 1 (OUTPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 5 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 ... 1 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68 ...
Um diese iptables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im iptables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/iptables-save > /etc/iptables/iptables.rules
Nachfolgender Befehl kann dazu verwendet werden, um zu überprüfen, ob das iptables
-Regelwerk auch korrekt gespeichert wurde:
# cat /etc/iptables/iptables.rules # Generated by iptables-save v1.8.7 on Mon Jul 12 16:38:03 2021 *mangle :PREROUTING ACCEPT [179:83438] :INPUT ACCEPT [179:83438] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [221:105831] :POSTROUTING ACCEPT [222:105904] COMMIT # Completed on Mon Jul 12 16:38:03 2021 # Generated by iptables-save v1.8.7 on Mon Jul 12 16:38:03 2021 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [221:105831] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p udp -m udp --dport 67 -j ACCEPT -A INPUT -j LOG --log-prefix "REC-INP Defend " --log-level 5 -A INPUT -p tcp -j REJECT --reject-with tcp-reset -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable -A INPUT -j REJECT --reject-with icmp-proto-unreachable -A FORWARD -j LOG --log-prefix "REC-FWD Defend " --log-level 5 -A FORWARD -p tcp -j REJECT --reject-with tcp-reset -A FORWARD -p udp -j REJECT --reject-with icmp-port-unreachable -A FORWARD -j REJECT --reject-with icmp-proto-unreachable -A OUTPUT -p udp -m udp --dport 68 -j ACCEPT COMMIT # Completed on Mon Jul 12 16:38:03 2021 # Generated by iptables-save v1.8.7 on Mon Jul 12 16:38:03 2021 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [33:2171] :POSTROUTING ACCEPT [33:2171] COMMIT # Completed on Mon Jul 12 16:38:03 2021
Um die aktuellen ip6tables
-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# ip6tables -nvL --line-numbers Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all * * ::/0 ::/0 ctstate RELATED,ESTABLISHED 2 0 0 ACCEPT icmp * * ::/0 ::/0 3 0 0 ACCEPT all lo * ::/0 ::/0 4 0 0 ACCEPT tcp * * ::/0 ::/0 tcp dpt:22 5 0 0 LOG all * * ::/0 ::/0 LOG flags 0 level 5 prefix "REC-INP Defend " 6 0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset 7 0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable 8 0 0 REJECT all * * ::/0 ::/0 reject-with icmp6-addr-unreachable Chain FORWARD (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 LOG all * * ::/0 ::/0 LOG flags 0 level 5 prefix "REC-FWD Defend " 2 0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset 3 0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable 4 0 0 REJECT all * * ::/0 ::/0 reject-with icmp6-addr-unreachable Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination
Nachfolgende Befehle, fügen folgende ip6tables
-Regeln dem ip6tables
-Regelwerk nach der Position 4 hinzu, ohne das der Paketfilter angehalten werden muss:
-A INPUT -p udp --dport 547 -j ACCEPT
-A OUTPUT -p udp --dport 546 -j ACCEPT
und hier die Befehle:
# ip6tables -I INPUT 5 -p udp --dport 547 -j ACCEPT # ip6tables -I OUTPUT 1 -p udp --dport 546 -j ACCEPT
Ein erneute Abfrage des ip6tables
-Regelwerts, sollte dann nachfolgend dargestellte Ausgabe ergeben, was mit folgendem Befehl durchgeführt werden kann:
# ip6tables -nvL --line-numbers Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all * * ::/0 ::/0 ctstate RELATED,ESTABLISHED 2 0 0 ACCEPT icmp * * ::/0 ::/0 3 0 0 ACCEPT all lo * ::/0 ::/0 4 0 0 ACCEPT tcp * * ::/0 ::/0 tcp dpt:22 5 0 0 ACCEPT udp * * ::/0 ::/0 udp dpt:547 6 0 0 LOG all * * ::/0 ::/0 LOG flags 0 level 5 prefix "REC-INP Defend " 7 0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset 8 0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable 9 0 0 REJECT all * * ::/0 ::/0 reject-with icmp6-addr-unreachable Chain FORWARD (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 LOG all * * ::/0 ::/0 LOG flags 0 level 5 prefix "REC-FWD Defend " 2 0 0 REJECT tcp * * ::/0 ::/0 reject-with tcp-reset 3 0 0 REJECT udp * * ::/0 ::/0 reject-with icmp6-port-unreachable 4 0 0 REJECT all * * ::/0 ::/0 reject-with icmp6-addr-unreachable Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT udp * * ::/0 ::/0 udp dpt:546
Die neuen Zeilen sind an Position 5 (INPUT) und Postition 1 (OUTPUT) zu sehen, hier nachfolgend zur Verdeutlichung noch einmal dargestellt (nur relevanter Ausschnitt):
... 5 0 0 ACCEPT udp * * ::/0 ::/0 udp dpt:547 ... 1 0 0 ACCEPT udp * * ::/0 ::/0 udp dpt:546 ...
Um diese ip6tables
-Regel dauerhaft, auch nach einem Neustart des Server, weiterhin im ip6tables
-Regelwerk zu speichern, muss nachfolgend dargestellter Befehl abschließend noch ausgeführt werden:
# /usr/sbin/ip6tables-save > /etc/iptables/ip6tables.rules
Nachfolgender Befehl kann dazu verwendet werden, um zu überprüfen, ob das ip6tables
-Regelwerk auch korrekt gespeichert wurde:
# cat /etc/iptables/ip6tables.rules # Generated by ip6tables-save v1.8.7 on Mon Jul 12 16:48:38 2021 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Mon Jul 12 16:48:38 2021 # Generated by ip6tables-save v1.8.7 on Mon Jul 12 16:48:38 2021 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p udp -m udp --dport 547 -j ACCEPT -A INPUT -j LOG --log-prefix "REC-INP Defend " --log-level 5 -A INPUT -p tcp -j REJECT --reject-with tcp-reset -A INPUT -p udp -j REJECT --reject-with icmp6-port-unreachable -A INPUT -j REJECT --reject-with icmp6-addr-unreachable -A FORWARD -j LOG --log-prefix "REC-FWD Defend " --log-level 5 -A FORWARD -p tcp -j REJECT --reject-with tcp-reset -A FORWARD -p udp -j REJECT --reject-with icmp6-port-unreachable -A FORWARD -j REJECT --reject-with icmp6-addr-unreachable -A OUTPUT -p udp -m udp --dport 546 -j ACCEPT COMMIT # Completed on Mon Jul 12 16:48:38 2021 # Generated by ip6tables-save v1.8.7 on Mon Jul 12 16:48:38 2021 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Mon Jul 12 16:48:38 2021
DHC-Relay starten
Falls alle voranstehenden Schritte wie beschrieben durchgeführt wurden, Installation, iptables/ip6tables, sollte dem ersten Start nichts im Wege stehen und dies mit nachfolgendem Befehl durchgeführt werden:
# systemctl start dhcrelay4.service dhcrelay6.service
DHC-Relay Überprüfung
Ob der DHC-Relay-Server, sprich der dhcrelay4
-Dienst/Deamon und der dhcrelay6
-Dienst/Deamon auch tatsächlich als Hintergrundprozesse laufen, kann mit nachfolgendem Befehl überprüft werden (Es sollte eine Ausgabe wie nachfolgend dargestellt, erfolgen - es kommt auf die zweite und dritte Zeile an!):
# ps auxwf | grep dhcrelay root 64385 0.0 0.1 6736 2432 pts/1 S+ 16:53 0:00 \_ grep dhcrelay dhcp 64381 0.0 0.1 5872 3496 ? Ss 16:50 0:00 /usr/bin/dhcrelay -4 -q -pf /run/dhcrelay4/dhcrelay4.pid 10.0.0.20 dhcp 64382 0.0 0.1 6168 3788 ? Ss 16:50 0:00 /usr/bin/dhcrelay -6 -q -pf /run/dhcrelay6/dhcrelay6.pid -l net1 -u net0
Eine weitere Überprüfung, ob der erste Start erfolgreich war, kann durch Einsicht in das
systemd-journal
durchgeführt werden.
Die Ausgabe des systemd-journald
kann mit nachfolgendem Befehl erfolgen, die Ausgabe sollte wie nachfolgend dargestellt aussehen:
# journalctl -u dhcrelay?.service Jul 12 16:59:15 vml010 systemd[1]: Starting IPv4 DHCRELAY server... Jul 12 16:59:15 vml010 systemd[1]: Starting IPv6 DHCRELAY server... Jul 12 16:59:15 vml010 dhcrelay[64601]: Bound to *:547 Jul 12 16:59:15 vml010 systemd[1]: Started IPv6 DHCRELAY server. Jul 12 16:59:15 vml010 systemd[1]: Started IPv4 DHCRELAY server.
Interface Überprüfung
Ob und an welchen Interfaces das DHC-Relay „lauscht“, bzw. DHCP-Requests weitergeleitet werden, kann mit nachfolgendem Befehl überprüft werden:
# ss -taub | grep -E 'bootps|dhcpv6-server' udp UNCONN 0 0 0.0.0.0:bootps 0.0.0.0:* udp UNCONN 0 0 *:dhcpv6-server *:*
HINWEIS - Auch bei der Konfiguration nur ein Netzwerk-Interface für eingehende Broadcast-Anfragen zu nutzen, wird immer 0.0.0.0:67
als „Listener“ IP-Adresse angezeigt.
IP-Adressanfragen Überprüfung
Um die Anfrage einer IP-Adresse zu überprüfen, kann ein Blick in das systemd-journald
geworfen werden, was mit nachfolgendem Befehl durchgeführt werden kann (nur relevanter Auszug):