DHCP-Server antwortet nicht - (no client match) => Discard

Forum zu aktuellen Geräten der LANCOM Router/Gateway Serie

Moderator: Lancom-Systems Moderatoren

Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

DHCP-Server antwortet nicht - (no client match) => Discard

Beitrag von Jirka »

Hallo zusammen,

kann mir jemand sagen, warum der DHCP-Server im LANCOM auf das DHCPDISCOVER des Clients nicht antwortet?
Was bedeutet "no client match" (als Ergebnis des ARP-Replys) genau? Was könnte die Ursache dafür sein, dass das kommt? In welchem Fall sollte es normalerweise kommen?
Firmware ist 9.24.0231.

Code: Alles auswählen

[DHCP] 2017/04/16 16:53:15,590
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete

...

[DHCP] 2017/04/16 17:51:45,441
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 0018BF8C | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/04/16 17:51:45,442
DHCP: ARP-Reply for 10.10.10.10
 (no client match) => Discard

[DHCP] 2017/04/16 17:51:55,598
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00DB5AD9 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option:  92 | Len = 126 | Para: 4e de 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 de 89
Bad options => frame discard
 (ARP in progress) => Discard

[DHCP] 2017/04/16 17:52:15,590
DHCP Aging 
DHCP Aging complete

[DHCP] 2017/04/16 17:53:15,590
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete
Die eigentliche Frage ist hier zu Ende. Nachfolgend noch ein paar Hintergründe.
Ich habe ab und an, ganz sporadisch und an verschiedenen Standorten, eigenartige DHCP-Probleme. Aufgrund dessen monitore ich seit kurzem mit PRTG auch den DHCP-Server vom LANCOM. Seitdem sehe ich ab und an die obigen Ausfälle (Server bekommt keine IP zugewiesen). Selten, aber für ein schnurgebundenes lokales Netz irgendwie zu häufig. Um der Sache auf den Grund zu gehen, habe ich jetzt einen DHCP-Trace laufen. Seit gestern auch noch um den ARP-Trace ergänzt.

Normal läuft es so:

Code: Alles auswählen

[DHCP] 2017/04/16 18:51:45,583
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 000736C6 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 232 | Len = 101 | Para: 91 ec 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 eb 10 24
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/04/16 18:51:45,585
DHCP: ARP-Reply for 10.10.10.10
 => Tx DHCPOFFER

[DHCP] 2017/04/16 18:51:45,585
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 000736C6 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
TCP-WD:      0
NBNS-Server: (none)
Leasetime:   86400
Renewal:     43200
Rebind:      64800
Option  42:  10.10.10.1
Da der Client (in dem Fall ja der Server mit PRTG!) das DHCPOFFER nicht mit einem DHCPREQUEST "bestätigt", müsste hier an der Stelle im Trace eigentlich ein "DHCP Aging - 10.10.10.10: mark as BOOTP" kommen, kommt aber nicht, müsste auch irgendwie ein Fehler sein. Warum das so ist, keine Ahnung. Als nächstes sieht der Ablauf daher etwas anders aus (es steht ja durch den Fehler eine Adresszuteilung (DHCP-Lease) in der DHCP-Status-Tabelle):

Code: Alles auswählen

[DHCP] 2017/04/16 19:51:45,741
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 0007465D | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 189 | Len = 174 | Para: 19 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 fc 30
Bad options => frame discard
 => Tx DHCPOFFER

[DHCP] 2017/04/16 19:51:45,742
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 0007465D | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
TCP-WD:      0
NBNS-Server: (none)
Leasetime:   86400
Renewal:     43200
Rebind:      64800
Option  42:  10.10.10.1

...

[DHCP] 2017/04/16 19:53:15,590
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete
Wenn man sich das Ganze über 3 Tage anschaut (PRTG prüft jede Stunde einmal den DHCP-Server auf Erreichbarkeit), dann stellt man fest, dass das hier oben aufgezeigte Muster, also einmal ohne "mark as BOOTP" und der darauffolgende Versuch wieder mit "mark as BOOTP" konsequent eingehalten wird. Irgendwie läuft das nicht sauber. Mir ist unklar, wieso mal mit "mark as BOOTP" und mal ohne - PRTG macht jede Stunde nur ein DHCPDISCOVER (bzw. zwei, wenn auf das erste keine Antwort kommt, wie man ja ganz oben sieht).

Vielen Dank und viele Grüße,
Jirka
Zuletzt geändert von Jirka am 18 Apr 2017, 12:04, insgesamt 1-mal geändert.
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo,

so, hier jetzt mit ARP-Trace zusammen (was die Sache aber leider auch nicht wirklich erklärt):

Code: Alles auswählen

[DHCP] 2017/04/18 09:41:10,470
DHCP Aging 
DHCP Aging complete

[DHCP] 2017/04/18 09:41:48,848
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00ACDC6B | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[ARP] 2017/04/18 09:41:48,848
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10

[ARP] 2017/04/18 09:41:48,849
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/04/18 09:41:48,849
DHCP: ARP-Reply for 10.10.10.10
 (no client match) => Discard

[ARP] 2017/04/18 09:41:56,848
ARP RX (LAN-1, INTRANET): ARP-REQ
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.6 @ 00:00:00:00:00:00 (Xerox 00:00:00)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  Response discarded

[DHCP] 2017/04/18 09:41:59,020
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 002D0C7E | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option:  17 | Len =  25 | Para: e5 ea 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bad options => frame discard
 (ARP in progress) => Discard

[DHCP] 2017/04/18 09:42:10,470
DHCP Aging 
DHCP Aging complete

[ARP] 2017/04/18 09:42:59,855
ARP RX (LAN-1, INTRANET): ARP-REQ
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.33 @ 00:00:00:00:00:00 (Xerox 00:00:00)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  Response discarded

[ARP] 2017/04/18 09:43:01,856
ARP RX (LAN-1, INTRANET): ARP-REQ
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.78 @ 00:00:00:00:00:00 (Xerox 00:00:00)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  Response discarded

[DHCP] 2017/04/18 09:43:10,470
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete
Das Problem, dass auf das DHCPDISCOVER, wie hier zu sehen, keine Antwort kommt, tritt mit einer Wahrscheinlichkeit von ca. 2 % auf (die beiden DHCPDISCOVER, die hier zu sehen sind, als ein Vorgang betrachtet). Das ist mir aber zu viel. Das kann nicht sein.

Der ARP-Trace sieht hier übrigens nicht anders aus, als im funktionierenden Fall.

Vielen Dank und viele Grüße,
Jirka
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka,

hier wäre es hilfreich, den "Übergang" zwischen funktionierend und nicht funktionierend zu sehen - leider hast du hier nur Traces, die entweder das eine oder das andere Zeigen. "no client" kommt (bzw. sollte nur kommen), wenn der Server einen Request des Clients gesehen hat, der an einen anderen Server ging - also die Server-ID in den Optionen ungleich der eigenen IP-Adresse ist. Hast du ggf. zwei DHCP-Server in deinem Netz laufen?

Danach passiert dann offensichtlich noch ein Fehler, der dazu führt, daß der Eintrag als Zombie übrig bleibt und weitere Anfragen mit "ARP in progress" ignoriert werden...

Gruß
Backslash
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo Backslash,

erst mal vielen Dank.
backslash hat geschrieben:hier wäre es hilfreich, den "Übergang" zwischen funktionierend und nicht funktionierend zu sehen - leider hast du hier nur Traces, die entweder das eine oder das andere Zeigen.
Es gibt keinen Übergang oder ich weiß nicht, was Du damit meinst.

Die Situation hier unterscheidet sich sicher von dem Verhalten eines normalen (DHCP-)Clients. Das sollte meiner Ansicht nach aber kein Problem darstellen, der DHCP-Server im LANCOM sollte auch damit klar kommen.
PRTG macht, wie man sieht, jede Stunde (oder je nachdem wie konfiguriert) nichts anderes, als ein DHCPDISCOVER zu senden und erwartet dann ein DHCPOFFER, was es nach Lease-Time, Antwortzeit auswertet und die DHCP-Server-IP sowie die zugewiesene IP prüft. Mehr nicht. Es folgt kein DHCPREQUEST oder so. Der Server selber (auf dem PRTG läuft) hat eine feste IP, könnte aber auch seine IP per DHCP beziehen und würde dann die gleiche bekommen (BOOTP-Eintrag im LANCOM).
Dadurch, dass ein DHCPREQUEST seitens PRTG ausbleibt, müsste das "DHCP Aging - 10.10.10.10: mark as BOOTP" nach meinem ersten Verständnis eigentlich immer kommen, es kommt aber nur genau (!) jedes zweite Mal. Andererseits weiß ich, dass wenn der LANCOM-DHCP-Server vor der Zuteilung einer Adresse einen ARP-Request durchführt (um zu prüfen, ob diese frei ist) und da "jemand" unter der IP antwortet, dass der DHCP-Server in der Status-Tabelle dann einen Eintrag vornimmt und so quasi in der DHCP-Status-Tabelle diese IP "sperrt". Wie im Falle eines BOOTP-Eintrages verfahren wird, weiß ich nicht.
Doch - gerade merke ich, dass ich mir jetzt selber das System erklärt habe. Das Alternieren erklärt sich wie folgt: Kommt auf den ARP-Request eine Antwort, erfolgt ein Eintrag in der DHCP-Status-Tabelle, mit unknown und der maximal zulässigen Lease-Time. Erfolgt aus diesem Zustand heraus ein DHCPOFFER, was letztlich offen (im Sinne von unbeantwortet) bleibt, erfolgt keine Freigabe ("mark as BOOTP") und auch kein Rückfall in den vorherigen Zustand mit unknown und der maximalen Lease-Time (was der ursprünglichen Absicht, per ARP-Request als nicht frei identifizierte IPs in der DHCP-Status-Tabelle zu kennzeichnen, näher kommen würde). Deswegen bleibt der Eintrag mit new gekennzeichnet. Das ist ein Fehler. Kommt nun eine Stunde später die nächste Anfrage (DHCPDISCOVER), steht der Eintrag noch mit new in der Tabelle, das Timeout (in dem Fall die Standard-Lease-Time abzüglich der einen Stunde, die seit dem letzten DHCPOFFER vergangen ist) ist noch nicht abgelaufen und so wird der ARP-Request jetzt eingespart. Aus diesem Zustand heraus erfolgt nun auf das unbeantwortete DHCPOFFER eine Freigabe ("mark as BOOTP"), weil auf das new ein new folgt.

Ok, da hätten wir einen Fehler. Das erklärt aber leider immer noch nicht, wieso selten aber regelmäßig auf das beantwortete ARP-Request ein "no client match" kommt.
backslash hat geschrieben:"no client" kommt (bzw. sollte nur kommen), wenn der Server einen Request des Clients gesehen hat, der an einen anderen Server ging - also die Server-ID in den Optionen ungleich der eigenen IP-Adresse ist.
Wenn der Server einen Request des Clients gesehen haben soll, der an einen anderen Server ging, dann müsste dieser ja wohl auch im Trace zu sehen sein, oder nicht?!
backslash hat geschrieben:Hast du ggf. zwei DHCP-Server in deinem Netz laufen?
Nein, habe ich nicht.
backslash hat geschrieben:Danach passiert dann offensichtlich noch ein Fehler, der dazu führt, daß der Eintrag als Zombie übrig bleibt und weitere Anfragen mit "ARP in progress" ignoriert werden...
Aha, dann bitte fixen.

Vielen Dank und viele Grüße,
Jirka
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka,

das sollte mit der nächsten Build behoben sein (> 9.24.0237)

Gruß
Backslash
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo Backslash,

es sieht jetzt (9.24.0244) diesbezüglich besser aus:

Code: Alles auswählen

[DHCP] 2017/05/08 21:46:43,466
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 008F79CD | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 195 | Len = 216 | Para: 6c 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 53 4e
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[ARP] 2017/05/08 21:46:43,467
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10

[ARP] 2017/05/08 21:46:43,468
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/05/08 21:46:43,468
DHCP: ARP-Reply for 10.10.10.10
 => Tx DHCPOFFER

[DHCP] 2017/05/08 21:46:43,468
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 008F79CD | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1

[...]

[DHCP] 2017/05/08 21:47:28,090
DHCP Aging 
DHCP Aging complete

[...]

[DHCP] 2017/05/08 21:48:28,090
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete
Das läuft jetzt jedes Mal so (also nicht abwechselnd wie vorher). Am Ende kommt immer das "mark as BOOTP" und in der Tabelle sieht es dann so aus:

Code: Alles auswählen

IP-Address  MAC-Address  Timeout Hostname Type  LAN-Ifc Ethernet-Port VLAN-ID Network-name Assignment         
============--------------------------------------------------------------------------------------------------
10.10.10.10 94de80235993 0       Server   BOOTP LAN-1   unknown       0       INTRANET     05/08/2017 21:46:43

Timeout ist also auf 0.

Gut.

Aber ich habe noch ein anderes Problem. Ab und an werden falsche Lease-Times zugewiesen. Das muss damit zusammenhängen, was der DHCP-Server als letztes gemacht hat.

Unter /Setup/DHCP sind bei mir folgende Werte definiert:

Code: Alles auswählen

Default-Lease-Time-Minutes  VALUE:   1440
Max.-Lease-Time-Minutes     VALUE:   7200
Wenn jetzt ein iPhone daher kommt (Apple fordert gerne hohe Lease-Times an (90 Tage) und macht damit jeden falsch konfigurierten DHCP-Server kaputt), dann wird eine Lease-Time von 5 Tagen (= 7.200 Minuten = 432.000 Sek.) vom LANCOM zugeteilt, soweit alles gut. Anschließend teilt das LANCOM die aber auch einem Client mit, der gar nicht so eine hohe Lease-Time angefordert hat. Wie das im Einzelnen passiert, weiß ich nicht, wenn zwischen dem einen und dem anderen Ereignis gewisse Zeit vergangen ist, dann scheint alles wieder ok zu sein. Aber wenn nicht, dann passiert z. B. Folgendes (erst das iPhone, anschließend der PRTG-DHCP-Client auf dem Server, der die falsche Lease-Time zugewiesen bekommt):

Code: Alles auswählen

[DHCP] 2017/05/08 23:46:06,142
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPREQUEST
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B67D | Secs  = 0000 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00

Option List      1 121 3 6 15 119 252
MsgSize:         1500
Client-ID:       01:98:b8:e3:7f:a7:3d
Req.-IP:         10.10.10.21
Leasetime:       7776000
Hostname:        Eckards-iPhone
 => Tx DHCPACK

[DHCP] 2017/05/08 23:46:06,142
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B67D | Secs  = 0000 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.21
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:98:b8:e3:7f:a7:3d
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Eckards-iPhone
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   432000
Option  42:  10.10.10.1

[...]

[DHCP] 2017/05/08 23:46:28,090
DHCP Aging 
DHCP Aging complete

[DHCP] 2017/05/08 23:46:43,789
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00565237 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[ARP] 2017/05/08 23:46:43,789
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10

[ARP] 2017/05/08 23:46:43,790
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/05/08 23:46:43,790
DHCP: ARP-Reply for 10.10.10.10
 => Tx DHCPOFFER

[DHCP] 2017/05/08 23:46:43,790
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00565237 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   432000
Option  42:  10.10.10.1
Umgekehrt passiert das aber auch. Erst der PRTG-Client, dann das iPhone. Dem iPhone wird anfangs (= DHCPOFFER) sogar noch eine Lease-Time von 432000 Sek. in Aussicht gestellt, aber am Ende (= DHCPACK) ist da keine Rede mehr von, es gibt nur noch die Standard-Lease-Time von 86400 Sek. Der Vollständigkeit halber hier der Trace ab PRTG-Client, weil das ja Einflüsse auf die Lease-Time zu nehmen scheint:

Code: Alles auswählen

[DHCP] 2017/05/08 20:46:43,308
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00660B47 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 192 | Len =  67 | Para: 2b b8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b7 23 98
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[ARP] 2017/05/08 20:46:43,308
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10

[ARP] 2017/05/08 20:46:43,309
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/05/08 20:46:43,309
DHCP: ARP-Reply for 10.10.10.10
 => Tx DHCPOFFER

[DHCP] 2017/05/08 20:46:43,310
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00660B47 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1

[...]

[DHCP] 2017/05/08 20:47:28,090
DHCP Aging 
DHCP Aging complete

[...]

[DHCP] 2017/05/08 20:48:28,090
DHCP Aging 
  10.10.10.10: mark as BOOTP
DHCP Aging complete

[...]

[DHCP] 2017/05/08 20:49:28,090
DHCP Aging 
DHCP Aging complete

[DHCP] 2017/05/08 20:49:40,769
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B66F | Secs  = 0000 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00

Option List      1 121 3 6 15 119 252
MsgSize:         1500
Client-ID:       01:98:b8:e3:7f:a7:3d
Leasetime:       7776000
Hostname:        Eckards-iPhone
 => Tx ARP-Request for 10.10.10.21

[DHCP] 2017/05/08 20:49:42,192
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B66F | Secs  = 0001 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00

Option List      1 121 3 6 15 119 252
MsgSize:         1500
Client-ID:       01:98:b8:e3:7f:a7:3d
Leasetime:       7776000
Hostname:        Eckards-iPhone
 (ARP in progress) => Discard

[DHCP] 2017/05/08 20:49:43,269
DHCP: ARP-Timeout for 10.10.10.21
 => Tx DHCPOFFER

[DHCP] 2017/05/08 20:49:43,269
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B66F | Secs  = 0001 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.21
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:98:b8:e3:7f:a7:3d
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Eckards-iPhone
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   432000
Option  42:  10.10.10.1

[DHCP] 2017/05/08 20:49:44,331
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPREQUEST
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B66F | Secs  = 0003 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00

Option List      1 121 3 6 15 119 252
MsgSize:         1500
Client-ID:       01:98:b8:e3:7f:a7:3d
Req.-IP:         10.10.10.21
Server-ID:       10.10.10.1
Hostname:        Eckards-iPhone
 => Tx DHCPACK

[DHCP] 2017/05/08 20:49:44,331
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E4F0B66F | Secs  = 0003 | Flags = 0000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.21
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 98 b8 e3 7f a7 3d 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:98:b8:e3:7f:a7:3d
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Eckards-iPhone
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1
Des Weiteren hat der LANCOM-Router in der Vergangenheit öfter Lease-Times von 771.764.400 Sek. verteilt. Die Traces, die ich davon seinerzeit hatte, es trat das letzte Mal am 12.04. auf, habe ich leider überschrieben gehabt, weil ich dachte, ich bräuchte die nicht mehr... Vielleicht fällt Dir ja dazu was ein, ansonsten beobachte ich das. Ich vermute mal, dass das schon gefixt ist, denn seinerzeit trat es mind. einmal täglich auf.

Vielen Dank und viele Grüße,
Jirka
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka,

was soll ich dazu sagen... Beim PRTG-Client als zweitem ist der Trace im Discover irgendwie aus dem Tritt gekommen ("Bad options => frame discard" - auch wenn das mit dem "discard" offensichtlich nicht stimmt), daher ist nicht zu sehen, was im Dioscover gefordert wurde - wenn das aber größer war als die Max-Lease, dann ist das so OK. Leider hast du den Trace da abgeschnitten, so das nicht zu sehen ist, was im Offer und im ACK steht.

Wenn das iPhone als zweites kommt, fordert es im Discover seine riesige Leasetime an, und bekommt die Maximale angeboten. Im Request fehlt die geforderte Leasetime aber und somit fällt das LANCOM im ACK auf die Default-Time zurück, was aus meiner Sicht vollkommen OK ist. Denn das Offer sagt erstmal rein gar nichts. Einzig ausschlaggebend ist das, was im ACK steht.

Ganz nebenbei scheint der PRTG-Client sich zwischen den Traces geändert zu haben, denn im ersten Trace kommt das "Bad options => frame discard" sofort, während beim zweiten Mal noch eine weitere dem LANCOM unbekannte Option (unknown option: 192 | Len = 67 | ...) ausgedumpt wird.

Die Frage ist, woran verhaspelt sich der Server beim Trace - das könnte zumindest beim PRTG-Client die Ursache für die verschiedenen Leases aufzeigen...

Gruß
Backslash
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka,

ich hab mir mal den DHCP-Parser angeschaut und einen kleinen Fehler gefunden der zu einer fälschlichen Meldung "Bad options => frame discard" führt...
Ab der nächsten Version (>= 9.24.0248) ist der gefixt... vielleicht sieht man dann etwas mehr im Trace...

Gruß
Backslash
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo Backslash,

erst mal danke für Deine erneuten Bemühungen zur Fehlersuche und sorry, dass ich mich erst heute melde.
backslash hat geschrieben:was soll ich dazu sagen... Beim PRTG-Client als zweitem ist der Trace im Discover irgendwie aus dem Tritt gekommen ("Bad options => frame discard" - auch wenn das mit dem "discard" offensichtlich nicht stimmt),
Genau.
backslash hat geschrieben:daher ist nicht zu sehen, was im Dioscover gefordert wurde - wenn das aber größer war als die Max-Lease,
Das nehme ich nicht an, dass PRTG irgendwelche Lease-Times anfordert.
backslash hat geschrieben:dann ist das so OK. Leider hast du den Trace da abgeschnitten, so das nicht zu sehen ist, was im Offer und im ACK steht.
(Du meinst, dass nicht zu sehen ist, was im REQUEST und im ACK steht.) Nein, der Trace ist da (erst mal) zu Ende. Ich habe nichts abgeschnitten. Es kommt bei dem PRTG-Sensor zu keinem REQUEST und ACK, wie ich hier auch schon mehrmals in dem Thread geschrieben habe. Warum das so ist, weiß ich nicht, es ist aber so. Vermutlich soll da nichts durcheinander gebracht werden und am Ende echte Adresszuweisungen erzeugt werden. Daher sendet PRTG ein DHCPDISCOVER aus und erwartet ein DHCPOFFER und wertet dieses aus. Mehr passiert nicht, es kommt dann nicht zu einem DHCPREQUEST oder so. Warum das so gemacht wurde, weiß ich nicht, aber ich nehme an, dass die sich dabei schon was gedacht haben. Wenn im Trace "[...]" zu sehen ist, dann habe ich völlig nebensächliche ARP-Trace-Teile rausgelöscht, die hier nichts zur Sache tun. (Der ARP-Trace ist (nur) auf die IP des (PRTG-)Servers gefiltert, um die ARP-Anfragen aus der DHCP-Adresszuteilung besser nachvollziehen zu können. Da sind dann natürlich auch Sachen zu sehen, die jetzt nichts mit der DHCP-Sache zu tun haben.)
backslash hat geschrieben:Wenn das iPhone als zweites kommt, fordert es im Discover seine riesige Leasetime an, und bekommt die Maximale angeboten.
Genau.
In der RFC 2131 steht dazu im Abschnitt 4.3.1 DHCPDISCOVER message:

Code: Alles auswählen

   The server must also choose an expiration time for the lease, as
   follows:

   o IF the client has not requested a specific lease in the
     DHCPDISCOVER message and the client already has an assigned network
     address, the server returns the lease expiration time previously
     assigned to that address (note that the client must explicitly
     request a specific lease to extend the expiration time on a
     previously assigned address), ELSE

   o IF the client has not requested a specific lease in the
     DHCPDISCOVER message and the client does not have an assigned
     network address, the server assigns a locally configured default
     lease time, ELSE

   o IF the client has requested a specific lease in the DHCPDISCOVER
     message (regardless of whether the client has an assigned network
     address), the server may choose either to return the requested
     lease (if the lease is acceptable to local policy) or select
     another lease.
backslash hat geschrieben:Im Request fehlt die geforderte Leasetime aber und somit fällt das LANCOM im ACK auf die Default-Time zurück, was aus meiner Sicht vollkommen OK ist.
Ich habe da keine Ahnung, ob das so korrekt ist. Nach meinem Bauchgefühl würde ich jetzt eher sagen, dass der DHCP-Server dem DHCP-Client im DHCPACK schon geben muss, was er im DHCPOFFER angeboten hat, selbst wenn der Client im DHCPREQUEST nicht mehr alle Einzelheiten aufführt, der bezieht sich ja letztlich mit Angabe der Server-ID auf das DHCPOFFER und sagt nur noch, ja will ich (so) haben. Schade, dass sowas mal wieder nicht eindeutig in der RFC drin steht. Wenn ich die RFC mal etwas überfliege, dann finde ich allerhöchstens folgenden Satz im Abschnitt 4.3.2 DHCPREQUEST message, der allerdings auch schwammig ist:

Code: Alles auswählen

   Any configuration parameters in the DHCPACK message SHOULD NOT
   conflict with those in the earlier DHCPOFFER message to which the
   client is responding.  The client SHOULD use the parameters in the
   DHCPACK message for configuration.
Eine Aussage darüber, ob der Client, wenn er im DHCPDISCOVER eine gewünschte Lease-Time angegeben hat, die ihm im DHCPOFFER daraufhin angebotene Lease-Time im DHCPREQUEST nochmals aufführen muss, habe ich nirgends gefunden.

Ich würde die Tage noch mal schauen, ob das Verhalten mit einem neueren iPhone ähnlich aussieht und evt. auch, wie sich andere DHCP-Server in diesem Fall verhalten.
backslash hat geschrieben:Denn das Offer sagt erstmal rein gar nichts. Einzig ausschlaggebend ist das, was im ACK steht.
Am Ende ist das sicherlich das, woran sich der Client zu halten hat, das sehe ich auch so. (Siehe auch Code-Feld mit dem RFC-Zitat hier oben.)
backslash hat geschrieben:Ganz nebenbei scheint der PRTG-Client sich zwischen den Traces geändert zu haben, denn im ersten Trace kommt das "Bad options => frame discard" sofort, während beim zweiten Mal noch eine weitere dem LANCOM unbekannte Option (unknown option: 192 | Len = 67 | ...) ausgedumpt wird.
Nö, da hat sich nichts geändert. Wenn man sich das genauer anschaut, was Du natürlich nicht kannst, weil ich hier ja keine seitenlangen Traces poste um das Ganze lesbar zu halten, dann sieht man, dass der PRTG-Client jedes Mal irgendeine andere Option anfordert, wie eine zufällige Zahl, die er da erwürfelt und den DHCP-Server damit "nervt". Ich weiß auch nicht, was es damit auf sich hat, ich habe da jetzt auch keine Doku für gefunden, die das Verhalten genauer beschreibt. Hier noch mal ein paar DHCPDISCOVER vom PRTG mit der 9.24.0244 getraced (einfach hintereinander zusammenkopiert ohne [...] dazwischen):

Code: Alles auswählen

[DHCP] 2017/05/14 03:41:36,487
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 009E133C | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 197 | Len =   5 | Para: dc e9 00 00 00
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 04:41:34,609
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00596D61 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 129 | Len =  92 | Para: c9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70 3a 48
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 05:41:34,793
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 007B32F7 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 100 | Len = 242 | Para: 72 dd 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 36 ef 7c
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 06:41:34,923
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00E68C0A | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 106 | Len = 239 | Para: 2f b4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 29 0d
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 07:41:35,039
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00C5FDE6 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 106 | Len = 231 | Para: c4 cf 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d 65 5a
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 08:41:35,190
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 008165CB | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option:  67 | Len =   4 | Para: 1b 64 00 00
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 09:41:35,366
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00975668 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 106 | Len =  30 | Para: 0b ea 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 10:41:35,551
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00BC141D | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 183 | Len =  27 | Para: a7 ab 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 11:41:35,716
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 003F7E07 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option:  58 | Len = 232 | Para: 2e b2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 df d2
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 12:41:35,894
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00F4CBE4 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 111 | Len =  64 | Para: c4 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 37 22 2c
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 13:41:36,063
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00DB0FB4 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option:  46 | Len =  30 | Para: c9 94 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10

[DHCP] 2017/05/14 14:41:36,231
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00C7B461 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 192 | Len = 124 | Para: f0 b1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 5f cb
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10
Die RFC sagt dazu, dass der DHCP-Server im DHCPOFFER dem Client zurückantworten MUSS:

Code: Alles auswählen

   o Parameters requested by the client, according to the following
     rules:

        -- IF the server has been explicitly configured with a default
           value for the parameter, the server MUST include that value
           in an appropriate option in the 'option' field, ELSE

        -- IF the server recognizes the parameter as a parameter
           defined in the Host Requirements Document, the server MUST
           include the default value for that parameter as given in the
           Host Requirements Document in an appropriate option in the
           'option' field, ELSE

        -- The server MUST NOT return a value for that parameter
Daraus schließe ich jetzt, dass der Server sich nicht durch die verschiedensten Options-Anforderungen des Clients aus der Ruhe bringen darf. Kennt er diesen Wert nicht, muss er keinen Wert zurückgeben - fertig. So wird es ja bisher denke ich auch grundsätzlich gemacht.
backslash hat geschrieben:ich hab mir mal den DHCP-Parser angeschaut und einen kleinen Fehler gefunden der zu einer fälschlichen Meldung "Bad options => frame discard" führt...
Ab der nächsten Version (>= 9.24.0248) ist der gefixt... vielleicht sieht man dann etwas mehr im Trace...
Super, danke. Ich melde mich, wenn ich eine derartige Firmware habe und 2..3 Tage vergangen sind.

Vielen Dank und viele Grüße,
Jirka
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Ich mache mal noch ein zweites Posting, ich hoffe, das ist ok, so von der Länge und der Zeit...
Ist auch DHCP, aber jetzt als Client: L-322-R2 mit 9.24.0244 und ohne Config wird erst an Strom angeschlossen und dann an LAN, ich mache mal zwischen dem Trace ein paar Bemerkungen, der Trace geht aber im nächsten Feld dann nahtlos weiter.

Code: Alles auswählen

[DHCP] 1900/01/01 00:00:04,770
Starting autodetection phase

[DHCP] 1900/01/01 00:00:04,770
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 04732D62 | Secs  = 0000 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:00:05,770
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 04732D62 | Secs  = 0001 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:00:06,770
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 04732D62 | Secs  = 0002 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:00:10,770
Autodetect timout =>  DHCP-Server enabled for INTRANET
Rechtschreibfehler: timeout ohne e

Code: Alles auswählen

[DHCP] 1900/01/01 00:00:10,770
Pool for INTRANET set to 172.23.56.2 ... 172.23.56.253
Netzwerkkabel angeschlossen (im Netzwerk ist der von oben bekannte DHCP-Server aktiv)

Code: Alles auswählen

[DHCP] 1900/01/01 00:01:01,170
DHCP Aging
DHCP Aging complete

[DHCP] 1900/01/01 00:01:19,020
Starting autodetection phase

[DHCP] 1900/01/01 00:01:19,020
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 3B29121E | Secs  = 0000 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:01:20,020
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 3B29121E | Secs  = 0001 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:01:21,020
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 3B29121E | Secs  = 0002 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10

[DHCP] 1900/01/01 00:01:21,522
DHCP Rx (LAN-1, INTRANET):
DHCP Server Message (reply) from 10.10.10.1: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 3B29121E | Secs  = 0002 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00

 DHCP-Server found at 10.10.10.1 => disable DHCP-Sever on INTRANET
Rechtschreibfehler: Server ohne r

Code: Alles auswählen

[DHCP] 1900/01/01 00:01:21,522
DHCP Tx (LAN, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPREQUEST
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 3B29121E | Secs  = 0002 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Vendor-Class-ID: 2356, LANCOM L-322agn dual Wireless (R2)
Leasetime:       10
Server-ID:       172.23.56.254
Req.-IP:         10.10.10.22
Wieso packt er jetzt hier die 172.23.56.254 in die Server-ID rein? Will er sich selber mitteilen, dass er jetzt eine andere IP hat? Ich kann mir da irgendwie keinen Reim drauf machen, warum hier auf das obige OFFER nicht gleich korrekt geantwortet wird. (Auf der Gegenseite, also dem DHCP-Server, führt das zu einem Discard, und da hatte ich mich gewundert, wo denn jetzt die ganzen Discards alle herkommen.)

Oder ist das ein Paket, was man nicht verhindern kann, weil der DHCP noch im Server-Modus ist und erst auf Cient-Modus (nachfolgender DHCP-State?) umgeschaltet werden muss? Immerhin kommt ja gleich das nächste DISCOVER. Dann cancelt dieses Paket praktisch das vorherige DHCPOFFER (indem der/die DHCP-Server dann am Server-ID-Feld merken, ok, das hat sich erledigt, der hat sich für einen anderen DHCP-Server entschieden).

Code: Alles auswählen

[DHCP] 1900/01/01 00:01:21,522
Set DHCP-state to 3

[DHCP] 1900/01/01 00:01:21,620
DHCP Client Tx (BRG-1, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
MsgSize         : 1400
Client-ID       : 01:00:a0:57:23:20:2a
Hostname        : LANCOM-00a05723202a
Option List     : 1 3 6 15 42 44 43 212
Vendor-Class-ID : LANCOM L-322agn dual Wireless (R2)

[DHCP] 1900/01/01 00:01:21,620
Set DHCP-state to 4

[DHCP] 1900/01/01 00:01:24,122
DHCP Rx (LAN-1, INTRANET):
DHCP Server Message (reply) from 10.10.10.1: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00

 => forwarded to internal DHCP-Client

[DHCP] 1900/01/01 00:01:24,122
DHCP Client Rx (BRG-1, INTRANET):
DHCP Server Message (reply) from 10.10.10.1: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Server-ID       : 10.10.10.1
Client-ID       : 01:00:a0:57:23:20:2a
Netmask         : 255.255.255.0
Gateway         : 10.10.10.1
DNS-Server      : 10.10.10.1
DNS-Domain      : intranet.xyz
Broadcast       : 10.10.10.255
Leasetime       : 86400
Option 42      : 0a 0a 0a 01

[DHCP] 1900/01/01 00:01:24,122
DHCP Client Tx (BRG-1, INTRANET):
DHCP Client Message (request) to 255.255.255.255: DHCPREQUEST
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
MsgSize         : 1400
Client-ID       : 01:00:a0:57:23:20:2a
Server-ID       : 10.10.10.1
ReqIP           : 10.10.10.22
Hostname        : LANCOM-00a05723202a
Option List     : 1 3 6 15 42 44 43 212
Vendor-Class-ID : LANCOM L-322agn dual Wireless (R2)

[DHCP] 1900/01/01 00:01:24,123
Set DHCP-state to 5

[DHCP] 1900/01/01 00:01:24,125
DHCP Rx (LAN-1, INTRANET):
DHCP Server Message (reply) from 10.10.10.1: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00

 => forwarded to internal DHCP-Client

[DHCP] 1900/01/01 00:01:24,125
DHCP Client Rx (BRG-1, INTRANET):
DHCP Server Message (reply) from 10.10.10.1: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Server-ID       : 10.10.10.1
Client-ID       : 01:00:a0:57:23:20:2a
Netmask         : 255.255.255.0
Gateway         : 10.10.10.1
DNS-Server      : 10.10.10.1
DNS-Domain      : intranet.xyz
Broadcast       : 10.10.10.255
Leasetime       : 86400
Option 42      : 0a 0a 0a 01
Warum wird hier die Option 42 nicht richtig dargestellt (also als 10.10.10.1)?

Code: Alles auswählen

[DHCP] 1900/01/01 00:01:24,125
Set DHCP-state to 6

[DHCP] 1900/01/01 00:01:27,621
Pool for INTRANET set to 0.0.0.1 ... 0.0.0.254  (disabled)


[DHCP] 1900/01/01 00:01:27,621
Set DHCP-state to 7
Vielen Dank und viele Grüße,
Jirka
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka
Wieso packt er jetzt hier die 172.23.56.254 in die Server-ID rein? Will er sich selber mitteilen, dass er jetzt eine andere IP hat? Ich kann mir da irgendwie keinen Reim drauf machen, warum hier auf das obige OFFER nicht gleich korrekt geantwortet wird. (Auf der Gegenseite, also dem DHCP-Server, führt das zu einem Discard, und da hatte ich mich gewundert, wo denn jetzt die ganzen Discards alle herkommen.)
Das ist eine Spezialität des Auto-Modes. Es geht darum, allen anderen DHCP-Servern im Netz mitzuteilen, daß sie eine etwaig angelegte Lease wieder entfernen sollen. Dazu setzt der DHCP-Server im Auto-Mode seine eigene IP-Adresse als "selected server" ein....
Oder ist das ein Paket, was man nicht verhindern kann, weil der DHCP noch im Server-Modus ist und erst auf Cient-Modus (nachfolgender DHCP-State?) umgeschaltet werden muss? Immerhin kommt ja gleich das nächste DISCOVER. Dann cancelt dieses Paket praktisch das vorherige DHCPOFFER (indem der/die DHCP-Server dann am Server-ID-Feld merken, ok, das hat sich erledigt, der hat sich für einen anderen DHCP-Server entschieden).
genau das ist der Grund...
Warum wird hier die Option 42 nicht richtig dargestellt (also als 10.10.10.1)?
weil das LANCOM die Option 42 nicht kennt und daher nicht weiss, daß es eine IP-Adresse ist. Daher wird diese Option als Hexdump ausgegeben.

BTW: die Rechtschreibfehler sind ab der nächsten Build behoben

Gruß
Backslash
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo Backslash,

danke.
backslash hat geschrieben:weil das LANCOM die Option 42 nicht kennt und daher nicht weiss, daß es eine IP-Adresse ist. Daher wird diese Option als Hexdump ausgegeben.
Und warum fordert es dann die Option 42 an, wenn es die nicht mal kennt?! (Trace von Server-Seite aus, ab dem Moment, wo der L-322-R2 im DHCP-Client-Mode ist):

Code: Alles auswählen

[DHCP] 2017/05/18 12:24:10,713
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00

MsgSize:         1400
Client-ID:       01:00:a0:57:23:20:2a
Hostname:        LANCOM-00a05723202a
Option List      1 3 6 15 42 44 43 212
Vendor-Class-ID: LANCOM L-322agn dual Wireless (R2)
 => Tx ARP-Request for 10.10.10.22

[ARP] 2017/05/18 12:24:10,714
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.22

[DHCP] 2017/05/18 12:24:13,214
DHCP: ARP-Timeout for 10.10.10.22
 => Tx DHCPOFFER

[DHCP] 2017/05/18 12:24:13,214
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:00:a0:57:23:20:2a
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1

[DHCP] 2017/05/18 12:24:13,216
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 0.0.0.0: DHCPREQUEST
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00

MsgSize:         1400
Client-ID:       01:00:a0:57:23:20:2a
Server-ID:       10.10.10.1
Req.-IP:         10.10.10.22
Hostname:        LANCOM-00a05723202a
Option List      1 3 6 15 42 44 43 212
Vendor-Class-ID: LANCOM L-322agn dual Wireless (R2)
 => Tx DHCPACK

[DHCP] 2017/05/18 12:24:13,216
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = E372C7A7 | Secs  = 0050 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.22
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 00 a0 57 23 20 2a 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:00:a0:57:23:20:2a
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1
Vielen Dank und viele Grüße,
Jirka
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirka,
Und warum fordert es dann die Option 42 an, wenn es die nicht mal kennt?! (Trace von Server-Seite aus, ab dem Moment, wo der L-322-R2 im DHCP-Client-Mode ist):
frag mich das nicht... Irgendwer hat die Option vor fast 10 Jahren in die Request-Liste aufgenommen, obwohl das LANCOM das gar nicht auswertet..

Gruß
Backslash
Benutzeravatar
Jirka
Beiträge: 5288
Registriert: 03 Jan 2005, 13:39
Wohnort: Ex-OPAL-Gebiet
Kontaktdaten:

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von Jirka »

Hallo Backslash,

bevor ich hier auf die 9.24.0252 umsteige (woanders habe ich die überall schon), will ich noch mit der 9.24.0244 bzw. sogar einer älteren 9.24.0191 (vom 01.02.2017 mit der ich nochmal getestet habe) abschließen und möchte an der Stelle nochmal ein paar Fragen stellen, danke schon mal fürs Lesen.

Ab und an bekomme ich in PRTG auch eine Warnung, dass die DHCP-Adresszuweisung erst im zweiten Anlauf geklappt hat. Das ist normal keine Störung, wird auch nicht als solche ausgegeben, der Sensor geht für die 10 Sek. nur in den Status Warnung und im Protokoll kann man dies später noch einsehen. Ich habe trotzdem mal gedacht, kannst ja mal schauen, was da denn war/ist, wo ich den Trace nun schon da habe. Nachfolgend ein Trace mit der 9.24.0244. Ich nehme nichts raus, der Trace ist also fortlaufend, ich mache zwischendurch nur meine Bemerkungen. Im Gegenteil, ich fange sogar recht früh an, weil ich nicht weiß, ob die Vorgeschichte Einflüsse auf das (Fehl-?)Verhalten hat.

Code: Alles auswählen

[ARP] 2017/05/12 08:41:09,213
ARP RX (LAN-1, INTRANET): ARP-REQ
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  Response Fwd to LAN-1, INTRANET

[ARP] 2017/05/12 08:41:10,541
ARP Aging 
 -10.10.10.10.
 -10.10.10.15.
 -10.10.10.33.
 -31.17.200.254.
complete
Wie jetzt? Vor einer Sekunde gecacht und jetzt gleich gelöscht? Was soll das?

Code: Alles auswählen

[ARP] 2017/05/12 08:41:10,747
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10
Und da kommt dann auch schon die Frage auf, wie nochmal die MAC-Adresse war...

Code: Alles auswählen

[ARP] 2017/05/12 08:41:10,748
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[ARP] 2017/05/12 08:41:12,247
ARP RX (LAN-1, INTRANET): ARP-REQ
  SrcIp=10.10.10.14 @ 2c:59:e5:75:a6:c4
  DstIp=10.10.10.10 @ 00:00:00:00:00:00 (Xerox 00:00:00)
Response discarded

[DHCP] 2017/05/12 08:41:14,800
DHCP Aging 
DHCP Aging complete

[DHCP] 2017/05/12 08:41:35,685
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 004FBA42 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10
Hier haben wir das (erste) DHCPDISCOVER von PRTG.

Code: Alles auswählen

[ARP] 2017/05/12 08:41:35,685
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10
Vor 25 Sek. bereits gefragt, aber ok, nehmen wir den aktuellen Stand der Dinge.

Code: Alles auswählen

[ARP] 2017/05/12 08:41:35,686
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/05/12 08:41:35,686
DHCP: ARP-Reply for 10.10.10.10
 (no client match) => Discard
So, hier das Problem. Was ist da los? Wieso "no client match"?
(Oder meinst Du, es könnte sein, dass das "Bad options => frame discard" von weiter oben, bis hierhin Auswirkungen hat? Wie ich inzwischen rausgefunden habe, nachdem ich mal Wireshark angemacht habe, ist PRTG nämlich wohl auch nicht ganz sauber. Ich würde da weiter unten noch drauf eingehen.)

Code: Alles auswählen

[DHCP] 2017/05/12 08:41:45,826
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 004FB89D | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 245 | Len =  80 | Para: cb a4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 f6 19
Bad options => frame discard
 => Tx ARP-Request for 10.10.10.10
So, hier dann nach 10 Sek. das zweite DISCOVER.

Code: Alles auswählen

[ARP] 2017/05/12 08:41:45,827
ARP : LAN-TX (LAN-1, INTRANET): ARP REQ for 10.10.10.10

[ARP] 2017/05/12 08:41:45,828
ARP RX (LAN-1, INTRANET): ARP-RESP
  SrcIp=10.10.10.10 @ 94:de:80:23:59:93
  DstIp=10.10.10.1 @ 00:a0:57:22:aa:2d (LANCOM 22:aa:2d)

  Cache-10.10.10.10 @ 94:de:80:23:59:93
  done

[DHCP] 2017/05/12 08:41:45,828
DHCP: ARP-Reply for 10.10.10.10
 => Tx DHCPOFFER
Und was war nun anders?! Wenn ich noch irgendwie was anders tracen soll, einfach Bescheid geben...

Code: Alles auswählen

[DHCP] 2017/05/12 08:41:45,828
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPOFFER
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 004FB89D | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.10
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    Server
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1
So, das war's erst mal hierzu.

Jetzt noch kurz zur 9.24.0191, die seinerzeit bei mir sehr lange im Februar lief und die haufenweise Lease-Time-Fehler produziert hat (zugewiesene Lease-Time von 771764400 Sek.), die mir damals aber gewissermaßen durch die Lappen gegangen sind, weil ich für die Lease-Time in PRTG keine Werte hinterlegt hatte für "gut und schlecht". Der Sensor lief ein wenig unbeobachtet vor sich her, weil ich ihn erst mal nur so mit den Standardeinstellungen hinzugefügt hatte. Seit zwei, fast drei Tagen habe ich die Firmware hier laufen, ohne dass das Phänomen mal wieder auftreten würde. PRTG unverändert, LCOS wie damals, aber das Problem tritt nicht auf. Vermutlich fehlen äußere Umstände, die damals zu dem Verhalten geführt haben. Ich habe das Syslog mal an Tagen durchgeschaut, wo 80 % der Messungen fehlerhaft waren, aber ich konnte da jetzt nichts erkennen, was nicht heute auch irgendwo ist. Ein iPhone drehte seinerzeit ziemlich durch und obwohl lange Lease-Time holte sich das Ding alle paar Minuten ein neues Lease. Wen das interessiert: https://www.net.princeton.edu/apple-ios ... often.html Ist nicht mehr so taufrisch der Artikel, aber wenn ich in Hotels einen DHCP-Trace laufen habe, dann scheinen noch einige iPhones unterwegs zu sein, die derartig das WLAN zumüllen. Aber zurück zum Thema: Ich konnte das Phänomen nicht sichten, aber was ich gesehen habe ist, dass seinerzeit der DHCP noch anders geantwortet hat, nämlich neben der Leasetime mit Renewal und Rebind (siehe nachfolgender Trace). Warum ist das Verhalten geändert worden? Und wieso findet sich das nicht in den Release-Notes? Oder ist die Änderung des Verhaltens gar nicht beabsichtigt und somit ein Bug?

Hier ein ACK mit mit der 9.24.0191:

Code: Alles auswählen

[DHCP] 2017/05/22 08:29:30,032
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 564DEF6A | Secs  = 0000 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.11
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 8c 70 5a d2 3c e0 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:8c:70:5a:d2:3c:e0
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    ThinkPad
Domain:      intranet.xyz
Broadcast:   10.10.10.255
TCP-WD:      0
NBNS-Server: (none)
Leasetime:   86400
Renewal:     43200
Rebind:      64800
Option  42:  10.10.10.1
Und hier das Gleiche mit der 9.24.0244:

Code: Alles auswählen

[DHCP] 2017/05/19 09:48:56,570
DHCP Tx (LAN-1, INTRANET): 
DHCP Server Message (reply) to 255.255.255.255: DHCPACK
  Op    = 02       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = D83F1F58 | Secs  = 0000 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =      10.10.10.11
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 8c 70 5a d2 3c e0 00 00 00 00 00 00 00 00 00 00
Server-ID:   10.10.10.1
Client-ID:   01:8c:70:5a:d2:3c:e0
Netmask:     255.255.255.0
Gateway:     10.10.10.1
DNS-Server:  10.10.10.1
Hostname:    ThinkPad
Domain:      intranet.xyz
Broadcast:   10.10.10.255
NBNS-Server: (none)
Leasetime:   86400
Option  42:  10.10.10.1
So, jetzt noch mal ein paar Bemerkungen zum DHCPDISCOVER von PRTG mit "Bad options => frame discard", wie oben schon angekündigt. Irgendwie könnte ich mich ohrfeigen, nicht schon mal früher Wireshark angeschaltet zu haben. Das lag aber auch daran, dass ich anfangs irgendwie auf die Lease-Time fixiert war und alles andere gar nicht in Frage gestellt habe. Irgendwie scheinen ja trotzdem einige Fehlerbereinigungen bei raus gekommen zu sein. Insofern dann hier vielleicht die Auflösung? Ich weiß es nicht, es ist jedenfalls aufschlussreicher als vermutet.

Nachfolgend ein DHCPDISCOVER von PRTG (wie bisher von mir eingesetzt) im DHCP-Trace (LCOS 9.24.0191) und Wireshark-Trace (auf dem Server):

Code: Alles auswählen

[DHCP] 2017/05/22 22:41:34,741
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.10: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 0053B406 | Secs  = FF00 | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 94 de 80 23 59 93 00 00 00 00 00 00 00 00 00 00

unknown option: 218 | Len =  53 | Para: 4a 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 c2 0f
Bad options => frame discard
 => Tx DHCPOFFER
2017-05-22 23_31_08-RDP-Server.png
Muss ich noch was dazu sagen? Ich glaube nicht... Vielleicht so viel, die Option 53 ist markiert, sieht man auch unten, danach kommen nur noch Nullen.

Nachfolgend ein DHCPDISCOVER von PRTG (neuere Version) im DHCP-Trace (LCOS 9.24.0191) und Wireshark-Trace (auf dem Server):

Code: Alles auswählen

[DHCP] 2017/05/22 22:43:16,737
DHCP Rx (LAN-1, INTRANET): 
DHCP Client Message (request) from 10.10.10.22: DHCPDISCOVER
  Op    = 01       | HType = 01   | HLen  = 06   | Hops  = 00
  XId   = 00E7925A | Secs  = 00FF | Flags = 8000
  CIAdr =          0.0.0.0 | YIAdr =          0.0.0.0
  SIAdr =          0.0.0.0 | GIAdr =          0.0.0.0
  CHAdr = 1c 4b d6 1e ea 88 00 00 00 00 00 00 00 00 00 00

 => Tx DHCPOFFER
2017-05-22 23_41_45-RDP-Server.png
Vielen Dank und viele Grüße,
Jirka
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
backslash
Moderator
Moderator
Beiträge: 7131
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DHCP-Server antwortet nicht - (no client match) => Disca

Beitrag von backslash »

Hi Jirla
Wie jetzt? Vor einer Sekunde gecacht und jetzt gleich gelöscht? Was soll das?
sicherlich nicht schön, aber auch kein Problem... Da wird dann halt beim nächsten Mal, wenn die Adresse gebraucht wird, neu nachgefragt:
Und da kommt dann auch schon die Frage auf, wie nochmal die MAC-Adresse war...
BTW: einer per ARP-Request gelernten Adresse sollte eigentlich eh nicht vertraut werden...
Vor 25 Sek. bereits gefragt, aber ok, nehmen wir den aktuellen Stand der Dinge.
dieser ARP-Request wird vom DHCP-Server angetriggert und hat nichts mit dem ARP zur Addreßauflösung zu tun.
Aber zurück zum Thema: Ich konnte das Phänomen nicht sichten, aber was ich gesehen habe ist, dass seinerzeit der DHCP noch anders geantwortet hat, nämlich neben der Leasetime mit Renewal und Rebind (siehe nachfolgender Trace). Warum ist das Verhalten geändert worden?
Zum einen, weil Renew und Rebind überflüssig sind (Reewn = 50% Lease, Rebind = 75% Lease), zum anderen anderen gab Probleme mit den Werten nachdem ("extra für dich" am Anfang diesews Threads) das Timeoutverhalten geändert wurde (Timeout wird esrt mit dem versenden das ACKs gestartet)
Und wieso findet sich das nicht in den Release-Notes
keine Ahnung, aber vermutlich weil diese Änderung relativ irrelevant ist... (wenn jede geänderte Codezeile in den Release-Notes auftauchen würde, dann würde die sich niemad ducrhlesen)
So, hier das Problem. Was ist da los? Wieso "no client match"?
"no client match" kommt, wenn der Client entweder nicht gefunden wurde, oder eine Server-ID-Option im Paket war, über die ein anderer Server ausgewählt wird.
(Oder meinst Du, es könnte sein, dass das "Bad options => frame discard" von weiter oben, bis hierhin Auswirkungen hat? Wie ich inzwischen rausgefunden habe, nachdem ich mal Wireshark angemacht habe, ist PRTG nämlich wohl auch nicht ganz sauber. Ich würde da weiter unten noch drauf eingehen.)
genau hier kommt vermutlich das "bad options" ins Spiel ... Da PRTG das Paket offenbar nicht mit einer "END-Option" abschließt, liest das LANCOM im Ernstfall über das Ziel hinaus und wertet ggf. zufälligen Müll hinter dem Nullen aus - das kann dann ggf. mal als "unknown option 245" (wie im nächsten Paket) oder auch als "server id option" interpretiert werden - oder halt als irgendwas anderes... (ich hab aber shcon

Gruß
Backslash
Antworten