Stránka 1 z 1

V noci prestal fungovat DHCP server: bad IP checksums

Napsal: 03 čer 2021, 12:18
od rnbw
O 3. hodine rano prestal fungovat DHCP server na linuxovom serveri.
Z pohladu servera klient posle DHCPDISCOVER, server mu odpovie DHCPOFFER, ale dalej klient nepokracuje (ziadny DHCPREQUEST):

Kód: Vybrat vše

Jun  3 10:07:02 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:02 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:05 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:05 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:11 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:11 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:21 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:21 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:34 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:34 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:44 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:44 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:59 main dhcpd: DHCPDISCOVER from aa:bb:cc:dd:ee:ff via eth1
Jun  3 10:07:59 main dhcpd: DHCPOFFER on 192.168.0.100 to aa:bb:cc:dd:ee:ff via eth1

Z pohladu klienta neprijde ziadny (platny) DHCPOFFER, zjavne kvoli chybnemu checksumu:

Kód: Vybrat vše

Jun  3 10:07:02 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 3
Jun  3 10:07:05 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 6
Jun  3 10:07:11 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 10
Jun  3 10:07:21 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 13
Jun  3 10:07:34 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 10
Jun  3 10:07:34 home dhclient[8297]: 5 bad IP checksums seen in 5 packets
Jun  3 10:07:44 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 15
Jun  3 10:07:59 home dhclient[8297]: DHCPDISCOVER on enp0s15 to 255.255.255.255 port 67 interval 4
Jun  3 10:08:03 home dhclient[8297]: No DHCPOFFERS received.
Jun  3 10:08:03 home dhclient[8297]: No working leases in persistent database - sleeping.

Sietovka nepodporuje HW checksum, takze to pocita procesor.

Zaujimave je, ze vsetko ostatne funguje! Server funguje aj ako router a mailovy server. Dokonca aj klient, co mal adresu uz predtym pridelenu, posielal dalej DHCPREQUEST a od servera dostaval korektne DHCPACK...

DHCP server som zatial spustil na vedlajsom serveri (konfiguraciu som skopiroval) a vsetko chodi.

Uz som videl vselico, ale toto som za 20 rokov este nevidel 8O

Vidim to na vymenu sietovky...ale ked funguje?

Napsal: 03 čer 2021, 20:58
od rnbw
Nastupil na scenu tcpdump a wireshark.

Prijate DHCP pakety na klientovi maju skutocne blby checksum v IP hlavicke. Vzdy rovnako blby. Ostatne polozky hlavicky su vporiadku.

Tak som sa presunul na server. V odoslanych paketoch vidiet rovnako blby ckecksum!

Napsal: 03 čer 2021, 21:47
od grrrrrrrr
Jestli ti to nedela sitovka hw offloadem tak by to videl na nejaky bug v kernelu ktery vyresi aktualizace kernelu a reboot

Napsal: 03 čer 2021, 22:01
od rnbw
Je to Gentoo. Jediny server, inak pouzivam zasadne Debian.

Pozeral som do zdrojakov dhcpd - generuje si cele pakety sam, vratane IP hlavicky. Prekompiloval som teda dhcp s DEBUG_CHECKSUM. A zacalo to fungovat... Vyzera to ako bug v gcc.

Napsal: 03 čer 2021, 22:04
od grrrrrrrr
Taky moznost :)

Napsal: 03 čer 2021, 22:44
od rnbw
Je to tak. Prekompiloval som to s -O2 (bez debug) a funguje. Potom zase naspat s -O3 a nechodi. Takze zmenim v CFLAGS -O3 na -O2, aj tak sa mi to tam nepacilo (podla dokumentacie sa to neodporuca)...toto nastavenie som kedysi zdedil.

Stale vsak ostava jedna otazka: Preco to este vcera chodilo?