Zkáza: Windows XP a pomalá Samba
14.05.2005
Představte si, že kdybyste chtěli letět do Londýna, počítačový systém by ověřoval, zda-li je možné letět na Severní pól. Zdá se vám to padlé na hlavu? Microsoft pravděpodobně ne, protože jeho systém se přesně takhle chová.
Jak to začalo?
Jednoho krásného letního dne po různých nastaveních serverů došlo ke znatelnému zpomalení přístupu k síťovým diskům. Proto jsem se rozhodl vrátit nazpět konfiguraci serveru Samba (linux démon pro sdílení zdrojů SMB, nebo-li CIFS), ale požadovaný výsledek se nedostavil. Připojování k síťovým diskům bylo stále stejně pomalé a neefektivní.
Jak to pokračovalo?
Následovali stížnosti uživatelů, vedení společnosti a hádky o tom co komu funguje a co ne. Vedení se pokusilo dát příkaz, že vše musí téže den fungovat, logicky se to nedalo splnit, protože jsem stále neměl ani potuchy, proč na nějakých počítačích v nějakou dobu u nějakých dokumentů běží sdílený síťový disk neskutečně pomalu.
Řešení přišlo z čista jasna
Po dvou týdnech usilovného pátrání, nastudování kompletní dokumentace k démonu Samba, pochopení celého protokolu SMB jsem stále nebyl schopen nalézt žádné řešení. Až nakonec jsem se dočetl o záhadné službě WebClient (Webový klient), která ověřuje, zda-li je možno se připojit k serveru na port 80. V tu chvíli se mi velmi rychle vybavila doba, jak jsem na serveru tento port zablokoval, protože všichni naši uživatelé přistupují přes proxy server, a tak neexistoval důvod nechávat jej otevřený.
Bohužel mě nenapadlo, že inteligentní Windows XP budou čekat při přístupu k portům 135-139 na odpověď z portu 80. Proto se pravidlo v IP Tables DROP (zahazuje pakety) ukázalo jako zcela nevhodné. Ano, měl jsem tam rovnou dát pravidlo REJECT (správně ukončuje spojení), ale koho by napadlo, že při přístupu k síťovému disku Windows XP ověřují funkci webového serveru.
Původní pravidlo v IP Tables
iptables –A INPUT –p tcp –dport 80 –j DROP
Správné pravidlo v IP Tables
iptables -A INPUT -p tcp --syn --dport 80 -j REJECT --reject-with tcp-reset
Ověření řešení
Abych svoji teorii ověřil, přidal jsem do IP Tables řádek pro zaznamenávání spojení, a co byste řekli, že jsem se dozvěděl po dnu provozu? Samozřejmě, že počítače s nastaveným proxy serverem se z nějakého neznámého důvodu pokouší připojit na port 80.
[root@db root]# dmesg | tail
IPTABLES INPUT 80 WWW: IN=eth0 OUT= MAC=00:10:dc:4b:d4:88:13:04:61:48:2c:fd:08:20 SRC=192.168.1.15 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=16332 DF PROTO=TCP SPT=1492 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0
IPTABLES INPUT 80 WWW: IN=eth0 OUT= MAC=00:10:dc:4b:d4:88:13:04:61:48:2c:fd:08:20 SRC=192.168.1.15 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=19535 DF PROTO=TCP SPT=1535 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0
…
[root@db root]#
Pozn. autora.: MAC i IP adresy byly změněny.
od Lumir
14.05.2005 #Dobře, že nemáte vámi pochváleného Berdára za šéfa, protože když vedení řekne, že má síť druhý den fungovat OK, tak bude fungovat, i kdyby měl správce sítě zdechnout. A to, že za problém může Microsoft, je sice hezké, ale v danou chvíli naprosto nepodstatné.
od markon
14.05.2005 #2Lumir: a co ma vedeni delat? spravce site zdechne, a vedeni si muze tak leda velet sobe, zas nemej ideu, ze existuje nejaka firma, co te z takhle komplikovanych problemu vytahne a muzes se zbavit spravce site, to takhle snadne neni. Delat spravce site je opravdu odpovednost a vedeni s nim musi jednat trosku jinak nez ze zbytkem zamestnancu, kdyz to resi radikalne, doplati na to.
Videl jsem jednoho podnikatele, co mel vzdy pravdu a pak prisel o 2/3 firmy, protoze si proste myslel, ze muze na pocitace nekoho zaplatit kdo ho z toho dostane, a ono to samozrejme neslo
od markon
14.05.2005 #2Lumir: Berdar je dobry manazer, nikoli sef. A pro tvoji informaci, kdybys neco vedel o managementu, je cca 95% lidi, co lze ridit jen silou a 5% lidi co je samoiniciativnich.
Spravci siti patri do tech 5% lidi co nelze ridit silou, jinak receno dobry spravci.
od markon
14.05.2005 #2Lumir: Navic Berdar sel po odpovednosti top manageru, bezni zamestnanci jaksi taky maji vetsi prostor na chyby. I manazeri mohli udelat chybu, ale tady se bavim o 2 tydnech a Berdar je vyhodil po roce chyb.
od aikon
15.05.2005 #Berdar by te vyhodil (opravdu tebe, a ne tveho vedouciho) jeste ten samy den. Ja bych ti dal k dobru jeden navic a pak by jsi letel taky.
od markon
15.05.2005 #2Aikon: zas nejaky chytroucky manazer, ze
Re: Zkáza: Windows XP a pomalá Samba od Matej
13.03.2007 #Dekuji, dekuji, dekuji, dekuji...mizerny widle - skoro jsem prisel o nervy nez jsem nasel tuto stranku, diky usetril jste mi tak 2 roky zivota o ktere bych jinak diky nermu zajiste prisel
matej
Re: Zkáza: Windows XP a pomalá Samba od Petr
17.08.2007 #Dobré info.
Jinak jestli uvažují všichni manažeři takto (dnes to musí být jinak tě vyhodím) tak to potěš koště. Aby to taky neskončilo, jako v pohádce o 12 měsíčcích. Podmínky umí diktovat každej blb, ale dát to dohromady je jiná.