Home
Help
Search
Login
Register
OPNsense Forum
»
International Forums
»
German - Deutsch
»
DHCRelay Bug
« previous
next »
Print
Pages: [
1
]
Author
Topic: DHCRelay Bug (Read 1113 times)
Hans Fenner
Newbie
Posts: 4
Karma: 0
DHCRelay Bug
«
on:
May 27, 2024, 01:19:26 pm »
Hallo zusammen,
Ich betreibe einen externen Kea DHCP-Server und benutze auf der OPENsense den DHCRelay Dienst.
Ein Relay sollte eigentlich nur eine Weiterleitung machen, wenn es auf der Broadcast-Adresse angesprochen wird. Z.B. bei einem DHCP-Discovery.
Ist einem Client die DHCP-Adresse des DHCP-Servers einmal bekannt, spricht der Client den Server Unicast direkt an.
Der Fehler bei OPENsense ist, dass auch im letzteren Fall das Relay alle weiteren Mitteilungen wie REQUEST oder RELEASE kopiert und ebenfalls an den Server weiterleitet. Damit kommen alle Anfragen beim Server doppelt an, womit dieser beispielsweise auch 2x einen Lease vergibt.
Die ganze Geschichte mit Beispielen findet man hier und der Bug wurde dort bestätigt:
https://administrator.de/forum/opnsense-dhcp-mit-relay-immer-2x-request-2-ack-und-2-leases-1589798666.html
Logged
dneuhaeuser
Newbie
Posts: 1
Karma: 0
Re: DHCRelay Bug
«
Reply #1 on:
May 28, 2024, 11:36:13 pm »
Am besten auch ein Issue auf Github eröffnen.
Logged
franco
Administrator
Hero Member
Posts: 17657
Karma: 1611
Re: DHCRelay Bug
«
Reply #2 on:
May 29, 2024, 08:49:16 am »
Ok ich habe den Thread gelesen. Ist das jetzt Konsens, dass das ein allgemeines ISC Problem ist? Wenn es vor 24.1.6 auch auftrat dann ist es kein neues Problem seit wir den Fork fron OpenBSD verwenden.
Ein Fix kommt noch in der 24.1.8 heute, aber der ist nur für einen Fehler im Pakethandling und sollte nichts mit Paketduplizierung zu tun haben.
Grüsse
Franco
Logged
Hans Fenner
Newbie
Posts: 4
Karma: 0
Re: DHCRelay Bug
«
Reply #3 on:
June 01, 2024, 04:58:28 pm »
Also ich kann mir nicht vorstellen, dass sich ISCRelay so komisch verhält. Das alles sind sehr alte Protokolle und sollten eigentlich genügend getestet sein. Ich kenne auch kein anderes Gerät, dass sich so verhält.
Mittlerweile hab ich vertieft das Relay auch mit IPv6 getestet und krieg es gar nicht zum Laufen, bzw. es macht verrückte Sachen.
https://administrator.de/forum/opnsense-dhcp-mit-relay-immer-2x-request-2-ack-und-2-leases-1589798666.html?token=100#comment-23250453326
Ich würde vermuten, der Dienst ist falsch an Schnittstellen gebunden. So wie ich gesehen habe, hat DHCRelay keine Konfigurationsdatei, sondern wird nur mit Optionen aufgerufen.
Ich habe diesen Dienst nie selber installiert, da es ausserhalb eines Routers dafür keine Verwendung gibt. Ich kenne ihn also nicht.
Ich würde auch behaupten, dass dieses Problem schon letztes Jahr als ich mit der OPNSense zum ersten Mal angefangen habe, bestanden hat.
Logged
franco
Administrator
Hero Member
Posts: 17657
Karma: 1611
Re: DHCRelay Bug
«
Reply #4 on:
June 03, 2024, 11:37:10 am »
> dass sich ISCRelay so komisch verhält
Halt. Stop.
Noch mal ganz einfach: besteht das problem auf versionen kleiner als 24.1.6 ist es ein reines ISC Problem. Das OpenBSD dhcrealy ist letztlich auch nur eine Kopie von ISC, auch wenn diese lang zurückliegt.
> Ich würde vermuten, der Dienst ist falsch an Schnittstellen gebunden.
Auch hier fehlen mir die relevanten technischen Sachverhalte und die Gegenprobe auf z.B. 23.7.
> Ich würde auch behaupten, dass dieses Problem schon letztes Jahr als ich mit der OPNSense zum ersten Mal angefangen habe, bestanden hat.
Ja, meine Rede...
Grüsse
Franco
Logged
Hans Fenner
Newbie
Posts: 4
Karma: 0
Re: DHCRelay Bug
«
Reply #5 on:
June 03, 2024, 04:52:23 pm »
Ich hab nie behauptet, dass der Fehler bei OPNsense liegt.
Ich stelle nur fest, dass die Relay Funktion fehlerhaft ist, bzw. bei IPv6 gar nicht geht.
Ich hab heute mal folgendes gemacht:
1. Alle DHCRelay Dienste (IPv4) auf der OPNsense deaktiviert. Mit
ps -auxw | grep dhcp
kontrolliert. Läuft nichts mehr.
2. Auf der Konsole den Dienst manuell mit
/usr/local/sbin/dhcrelay -d -i vlan0.1.5 192.168.50.56
aufgerufen.
Jetzt sieht man auf der Konsole Meldungen vom Relay. Und da sind zumindest keine doppelten Einträge zu sehen. Das Log kann natürlich aber auch lügen
Mit tcpdump sieht man aber trotzdem den unlogischen Verkehr mit den mehrfachen Messages.
Danach hab ich noch einen weiteren Test gemacht:
Eine weitere VM im VLAN10 aufgesetzt und isc-dhcp-relay installiert. Danach funktioniert im VLAN10 alles einwandfrei. Keine doppelten Anfragen und Requests mehr.
Bloss dieser Test ist gar nicht relevant. Mein selber aufgesetztes Relay bekommt nur 1x etwas zu arbeiten, nämlich wenn meine Testclient-VM im VLAN10 bootet. Nur dann sendet sie ein DISCOVER auf die Broadcastadresse. Und nur dann nimmt das Relay auf der anderen VM im VLAN10 die Anfrage überhaupt entgegen und leitet sie auch weiter.
Alle anderen Renewal Requests vom Client sind unicast. Sie gehen direkt vom Client an den Server. Das Relay bekommt davon gar nichts mit.
Ich denke, genau da liegt der Hund begraben. Warum wird eine Unicast Anfrage auf der OPNsense vom Relay empfangen und beantwortet?
«
Last Edit: June 03, 2024, 04:55:02 pm by Hans Fenner
»
Logged
Hans Fenner
Newbie
Posts: 4
Karma: 0
Re: DHCRelay Bug
«
Reply #6 on:
June 03, 2024, 08:33:22 pm »
Also ich hab nun noch ein paar weitere Tests gemacht und bin zum Schluss gekommen, dass der Fehler wirklich bei dhcrelay liegt.
Der Dienst lässt sich ausschliesslich nur an ein Interface binden. Es fehlt schlichtweg an weiteren Optionen. Dann schnappt er sich alles, was über den Port 68 (DHCP) läuft und leitet es weiter. Damit leitet er auch unicast Mitteilungen weiter, womit es zum bekannten Problem kommt.
Richtig wäre, wenn er nur auf die Broadcast Adresse hören würde. Keine Ahnung, was sich ISC dabei gedacht hat.
Nun ist es aber eh so, dass dhcrelay EOL ist und man sich nach einer Alternative umschauen sollte. ISC bietet aktuell mit Kea kein Relay an und es ist unklar, ob dies je mal kommt.
Hier hab ich auf die Schnelle einen Beitrag zu Alternativen gefunden:
https://vyos.dev/T6256
«
Last Edit: June 03, 2024, 08:48:30 pm by Hans Fenner
»
Logged
Print
Pages: [
1
]
« previous
next »
OPNsense Forum
»
International Forums
»
German - Deutsch
»
DHCRelay Bug