Seit einigen Tagen, eventuell Wochen, habe ich immer wieder Probleme, dass Webseiten beim Laden abbrechen. Nach einiger Analyse, scheint es so zu sein, dass das Seiten betrifft, die über cloudflare IPv6 angebunden sind, und sehr “nahe” am O2 Netz dran sind (ping ist 20 ms). Z.B. diese Seite hier, über wget geladen, hat gerade in mehr als 30% der Fälle einen Verbindungsabbruch:
wget --progress=dot -O/dev/null -6 https://understandingwar.org
--2023-07-11 13:41:13-- https://understandingwar.org/
Resolving understandingwar.org (understandingwar.org)... 2606:4700:10::ac43:1963, 2606:4700:10::6816:4e94, 2606:4700:10::6816:4f94
Connecting to understandingwar.org (understandingwar.org)|2606:4700:10::ac43:1963|:443... connected.
GnuTLS: Error in the pull function.
Unable to establish SSL connection.
Wenn ich das mit tcpdump aufzeichne, dann sehe ich, dass der Webserver, nach dem TLS “Client Hello” sofort mit TCP Reset antwortet. Da der Ping sehr kurz ist, sieht das für mich so aus, als wenn da irgendwelche caching proxies innerhalb des O2 Netzes die Verbindung abwürgen. Irgendein falsch konfigurierter DoS Schutz oder sowas.
Die gesamte Verbindung unfasst nur 5 IP Pakete, die laut tcpdump so hier aussehen (habe meine eigene IPv6 Adresse zum Schutz der Privatsphäre teilw. maskiert):
13:41:13.758458 IP6 (flowlabel 0xae106, hlim 64, next-header TCP (6) payload length: 40) 2a01:c23:6201:cdfa:xxxx:xxxx:xxxx:xxxx.51626 > 2606:4700:10::ac43:1963.443: Flags , cksum 0xd15d (correct), seq 1270541620, win 64440, options wmss 1432,sackOK,TS val 253607283 ecr 0,nop,wscale 7], length 0
13:41:13.779305 IP6 (flowlabel 0x3155e, hlim 60, next-header TCP (6) payload length: 40) 2606:4700:10::ac43:1963.443 > 2a01:c23:6201:cdfa:xxxx:xxxx:xxxx:xxxx.51626: Flags :S.], cksum 0xe235 (correct), seq 444079287, ack 1270541621, win 64704, options wmss 1360,sackOK,TS val 3377262036 ecr 253607283,nop,wscale 13], length 0
13:41:13.779416 IP6 (flowlabel 0xae106, hlim 64, next-header TCP (6) payload length: 32) 2a01:c23:6201:cdfa:xxxx:xxxx:xxxx:xxxx.51626 > 2606:4700:10::ac43:1963.443: Flags 4.], cksum 0x0b58 (correct), ack 1, win 504, options ,nop,nop,TS val 253607304 ecr 3377262036], length 0
13:41:13.779987 IP6 (flowlabel 0xae106, hlim 64, next-header TCP (6) payload length: 549) 2a01:c23:6201:cdfa:xxxx:xxxx:xxxx:xxxx.51626 > 2606:4700:10::ac43:1963.443: Flags 4P.], cksum 0x6c52 (correct), seq 1:518, ack 1, win 504, options ,nop,nop,TS val 253607304 ecr 3377262036], length 517
13:41:13.803474 IP6 (flowlabel 0xc032e, hlim 61, next-header TCP (6) payload length: 20) 2606:4700:10::ac43:1963.443 > 2a01:c23:6201:cdfa:xxxx:xxxx:xxxx:xxxx.51626: Flags :r], cksum 0x032b (correct), seq 444079288, win 0, length 0
Das ganze läuft bei mir unter Linux direkt mit einem DSL-Modem, da ist auf meiner Seite kein Router etc. dazwischen, dem man die Schuld in die Schuhe schieben kann.
Die Route zu dem Webserver ist laut traceroute folgende:
traceroute to 2606:4700:10::ac43:1963 (2606:4700:10::ac43:1963), 30 hops max, 80 byte packets
1 2a02:3001::240 (2a02:3001::240) 12.686 ms 12.600 ms 12.638 ms
2 * 2a02:3001::2df (2a02:3001::2df) 10.637 ms *
3 * * *
4 * * *
5 2a02:3001::280 (2a02:3001::280) 21.089 ms 2a02:3001::22d (2a02:3001::22d) 21.389 ms 2a02:3001::3f (2a02:3001::3f) 20.939 ms
6 * 2a02:3040:0:10::39 (2a02:3040:0:10::39) 26.972 ms *
7 2400:cb00:470:3:: (2400:cb00:470:3::) 33.382 ms 2400:cb00:100:1024::ac44:6d1c (2400:cb00:100:1024::ac44:6d1c) 23.924 ms 2400:cb00:100:1024::ac44:6d12 (2400:cb00:100:1024::ac44:6d12) 26.544 ms