Nahodile vypadky SNATovani behem spojeni (was: Re: Problem nekterych lokaci se stahovanim obrazku z webu)
Vladimir Macek
macek na sandbox.cz
Pondělí Duben 26 00:31:34 CEST 2010
On 25.4.2010 23:44, Pavel Kankovsky wrote:
> On Sun, 25 Apr 2010, Vladimir Macek wrote:
>
>> Wireshark jsem na to pustil, ale protože jsem laik, nic tam
>> nevidím.
> Taky tam nic nevidím.
>
>> Tcpdump na vnějším rozhraní neukazuje žádný ICMP provoz když se to
>> stane. Takže tím to ovlivněno není.
>
> Hm. A co ten ping?
Nedobře jsem vyjádřil: Neukazuje žádný ICMP provoz, když se to stane a
sleduju zrovna tu anomálii pro TCP spojení.
>> K odstřelení z conntracku podle mě nedojde, protože v případě TCP
>> spojení dojde k jednomu výpadku natování a zas se jede v
>> předchozím spojení. Takže záznam tam pořád bude.
>
> Tím bych si nebyl tak jistý. Conntrackový záznam mohly oživit
> acknowledgementy z klienta (i když samozřejmě záleží na nastavení
> iptables, zda to dovolí). Zkuste to zkontrolovat. Nebo ještě lépe
> monitorovat v reálném čase pomocí conntrack -E.
Zkusím.
Nicméně další zjištění, jak se v tom dloubu:
Po zapnutí logování invalid packetů (nenašel jsem pořádnou dokumentaci,
tohle jsem vygooglil):
echo 255 > /proc/sys/net/ipv4/netfilter/ip_conntrack_log_invalid
Se v logu začínají objevovat tyto zprávy právě ve chvílích, kdy na
vnější rozhraní odchází neodNATovaný paket:
(Pro TCP.) nf_ct_tcp: bad TCP checksum IN= OUT= SRC=192.168.100.2
DST=nejaky-klient LEN=1358 TOS=0x00 PREC=0x00 TTL=63 ID=4833 DF
PROTO=TCP SPT=65501 DPT=18818 SEQ=1151179661 ACK=2217077533 WINDOW=108
RES=0x00 ACK URGP=0
(Pro ICMP.) nf_ct_icmp: bad HW ICMP checksum IN= OUT= SRC=192.168.100.2
DST=doma LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=50120 PROTO=ICMP TYPE=0
CODE=0 ID=3568 SEQ=5
A "doma" toto reply pak samozřejmě nevidím.
Zkoušel jsem dál (i když přesnou dokumentaci ani této volby jsem zatím
nenašel):
echo 0 > /proc/sys/net/netfilter/nf_conntrack_checksum
Změna! Od té chvíle se zřejmě SNATuje vše: tcpdump na vnějším rozhraní
přestává vypisovat odchozí pakety se "zapomenutou" adresou 192.168.
Nicméně ping replies domů stále vypadávájí.
Hypotéza: Něco na cestě v těch paketech stále rozpoznává jakousi závadu
a zahazuje je.
Zeptám se klienta z Milevska, jestli pořád nemůže stahovat.
Každý nápad se mi ale stále hodí.
--
\//\/\ : Vladimir Macek : http://macek.sandbox.cz : +420 608 978 164
Další informace o konferenci Linux