Portál AbcLinuxu, 7. května 2025 05:41
Řešení dotazu:
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -d ::1 -j DROP
Jiného nic neblokuji.
ping6 -c 3 -M do -s 1444 www.google.com
PING www.google.com(prg02s12-in-x11.1e100.net) 1444 data bytes
1452 bytes from prg02s12-in-x11.1e100.net: icmp_seq=1 ttl=57 time=55.9 ms
1452 bytes from prg02s12-in-x11.1e100.net: icmp_seq=2 ttl=57 time=59.8 ms
1452 bytes from prg02s12-in-x11.1e100.net: icmp_seq=3 ttl=57 time=48.9 ms
--- www.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 48.936/54.908/59.828/4.516 ms
Jako výstřel do tmy naslepo bych doporučoval zkusit na tom serveru/routeru následující:
ip6tables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
To zajistí, že ať je MTU v LAN jakákoliv, SYN směrem ven nebude navrhovat celou LAN MTU (což bývá na WiFi třeba 2700 B, na ethernetu většinou 1500 B, nejsou-li tam jumbo pakety, atp.), ale tweakne to na správnou menší hodnotu, aby se žádná ze stran nesnažila poslat paket, který prostě neprojde.
Tohle by mohl být problém s MTU, který jsem už párkrát viděl a který se projevuje naprosto přesně tím, co je napsáno v dotazu — všechno zdánlivě prochází až do té chvíle, než se z jakéhokoliv důvodu (obrázek, kryptografický protokol) začnou generovat pakety o velikosti těsně pasující do MTU nebo (v případě PPPoE) překračující MTU. Protože se IPv6 prostě nefragmentuje (skoro, většinou, až na pár hodně zvláštních překvapení), je jasné, že na tohle doplatí mnohem snáze než IPv4.
A mimochodem, výše uvedený příkaz s iptables
místo ip6tables
se může hodit také pro IPv4 — zlepší totiž throughput i latenci právě v situacích, ve kterých by se jinak fragmentovalo na velké počáteční kusy paketů a malé zbytky.
Protože se IPv6 prostě nefragmentuje (skoro, většinou, až na pár hodně zvláštních překvapení)
Tak tohle jsem si kdysi taky myslel…
A byla to pravda.
To složení fragmentů dohromady proběhne ještě předtím, než to čte Wireshark?
Rozhodně ne. Pokud to tedy někdo neposkládá ještě předtím, než to vůbec přijde na ten stroj (což by se ale u IPv6 stát nemělo).
strace -e network
na případné rozdíly v práci se sítí.
ETHTOOL_OPTS="-K $DEVICE gro off"
proč je offloading vůbec nastavený tak, aby to nefungovaloPáč woe přece ten offloading je hrozně kchůůl, psali to v marketingovym letáku, a ještě k tomu ušetříš asi 0.0000000000023% výkonu CPU a to se hrozně vyplatí!!!
u routeru to zlobíTo je přesně to, co mě zajímá. Popis toho, co se stane jinak, jaké to má důsledky, a proč to neprojde.
router by měl pouze přehazovat pakety mezi rozhraníma a neměl by je nijak upravovat.Třeba na OpenBSD se běžně používá TCP proxying pokud vím. Sice je to technologicky trochu něco jiného, ale taky je to zásah do paketů.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.