verzia 0.1
Cieľom je, aby administrátori počítačov v kolejnete boli rýchlo schopní nájsť a vyriešiť najbežnejšie problémy, resp. schopní napísať report o závade, ktorý ukazuje, kde je problém. Nie je tu podrobný popis protokolov 802.1x, DHCP, atď., pretože by sa to sem za a) nevošlo b) bolo by to zbytočne zložité, hlavne pre ľudí, ktorí neštudujú informatiku. Prípadné faktické chyby v texte, doplnenie textu oznámte na webmaster /zavinac/ www.kolej.mff.cuni.cz, ale tu vám nepomôžu riešiť konkrétny problém s pripojením, na to je netadm /zavinac/ kolej.mff.cuni.cz.
Problémy sú radené od najbežnejších až po tie obskurnejšie, v každom prípade tu nie sú všetky možné situácie, ktoré by mohli nastať. Zo skúseností údajne aspoň 90% problémov vyrieši už krok 1.
Zatiaľ je tu návod pre Linux (posledné jadrá 2.4.x, 2.6.x, IMHO aj na niekoľko rokov starom systéme by to malo fungovať) a pre Windows XP SP2. Pre *BSD systémy a MAC OS X by to malo byť veľmi podobné, akurát treba vymeniť príkazy na incializáciu/vypnutie sieťového interfacu. Prípadne doplňte pre váš OS. Text je vo viacerých stĺpcoch, stĺpec pre daný OS, niektoré veci sú spoločné a preto je pre všetky OS v tabuľke len jedna spoločná bunka. Zrovna pri multiplatformých nástrojoch sa to bude líšiť max. okrajmi okien a nejakými drobnosťami vo fontoch, atď.
Implicitne je zobrazený návod pre Windows XP SP2 aj pre Linux, rozdielny postup je rozdelený do stĺpcov, spoločné časti sú v jednom stĺpci. Ak chcete vidieť len časť špecifickú pre váš OS, vyberte si (je treba mať zapnutý javascript, aby skrývanie fungovalo):
Vzhľadom na to, že toto HOWTO bude najužitočnejšie keď vám net nepôjde, je lepšie ho uložiť na disk (vrátane obrázkov) a mať ho po ruke offline. Preto je dobré si stiahnuť aj potrebné nástroje (netreba hneď inštalovať). Dokonca je vysoká pravdepodobnosť, že tieto nástroje nikdy nebudete potrebovať, pretože väčšina problémov s pripojením je triviálnych, viz krok 1 nižšie. Nástroje:
| Windows XP | Linux |
| WinDump.exe, WinPcap a Wireshark s WinPcap. Ak najprv nainštalujete Wireshark, potom netreba osobitne inštalovať WinPcap, pretože Wireshark tú knižnicu už obsahuje, ale pre správnu funkčnosť WinDump je treba mať WinPcap nainštalované - je ale jedno, či je to tá z Wiresharku alebo osobitne nainštalovaná WinPcap. WinDump sa neinštaluje, spúšťa sa priamo napísaním WinDump a parametrov, skopírujte si ho napr. do c:\util (prípadne iného adresára vášho vkusu) | Wireshark (pôvodný názov ethereal) z www.wireshark.org, tcpdump a libpcap z www.tcpdump.org. Oba nástroje sú priamo vo všetkých desktopových distribúciách, najjednoduchšie je ich nainštalovať cez váš balíčkovací systém. |
Keď sa bude písať o príkazovom riadku, resp. shelli vo Windows, myslí sa tým: vybereme Start->Spustit a napíšeme cmd, Enter a zbytok príkazov určených pre príkazový riadok píšeme sem. V Linuxe sa predpokladá, že máte sieťovku pod označením eth0 (inak zamienať v príkazoch).
Krok 1 nevyžaduje žiadne extrémne technické znalosti, len poznať váš operačný systém. Kroky 2-4 už trocha ano, ale znalosť protokolov 802.1x, DHCP, DNS, atď nie je nutná, základ je zistiť "posiela váš počítač vôbec niečo a dostáva niečo späť"?
|
||
| Windows XP | Linux | |
v príkazovom riadku zadáme
ipconfig /all
a hľadáme riadok obsahujúci "Fyzická adresa: 01-88-DE-AD-BE-EF" (vaša MAC adresa samozrejme bude iná)
|
v shelli (ako root)
ifconfig eth0
Hneď prvý riadok výstupu:
eth0 Link encap:Ethernet 01:88:DE:AD:BE:EF
|
|
|
||
| Windows XP | Linux | |
|
Ak je počet prijatých paketov 0 aj po dlhšej dobe (cca minúta-5 minút), pravdepodobne je problém s káblom alebo neaktivovaným portom na switchi. |
V shelli ako root: tcpdump, po minúte dvoch zakillujeme cez Ctrl+C
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel
|
|
Inak povedané - stalo sa, riešenie je jednoduché, ale občas sa ťažko hľadá:
|
Potrebujete zistiť 3 veci:
|
||
| Windows XP | Linux | |
Start->Nastavení->Síťová připojení->pravý klik na pripojenie ku kolejnetu (väčšinou sa nazýva Připojení k místní síti) a dajte Zakázat. Vytiahneme sieťový kábel a povolíme pripojenie. Do príkazového zadáme príkazy (predpoklad je, že WinDump máte v c:\util, inak zmeňte adresár)
c:
cd \util
WinDump.exe -s 0 -w output.dump
Zapojíme sieťový kábel naspäť, OS zistí pripojenie kábla (uplink) a začne autentizáciu. Počkáme, kým Windows neohlási "Ověřování se nezdařilo" (trvá cca 10-30 sekúnd) a v príkazovom riadku stlačíme Ctrl+C, čo zastaví ten WinDump a v adresári c:\util nám pribudne súbor output.dump. |
V shelli ako root:
ifconfig eth0 down
ifconfig eth0 up
tcpdump -s 0 -w output.dump
Vo vedľajšom shelli pustíme autentizáciu - tu závisí, ako to máte spravené, buď pustite /etc/init.d/net.eth0 start, ifup eth0, wpa_supplicant -C config_file, xsupplicant -c config_file, atď. tcpdump po čase zakillujeme, keď wpa_supplicant/xsupplicant zahlási neúspech (supplicanti majú možnosť zapnúť debugovacie hlášky, viz manuál, z debugovacích hlášok sa dá možno vyčítať viac než z etherealu). V prípade úspechu 802.1x klienta pustíme ešte aj DHCP klienta (pre ďalší krok), nech máme všetky pakety v jednom dumpe a tcpdump zakillujeme až potom. |
|
| Poznámka: ak máte viac sieťových interfacov (sieťoviek), tcpdump aj WinDump má parameter -i, kde je možné špecifikovať presne sieťovku. | ||
|
Spustíme Wireshark (ethereal) a otvoríme v ňom ten súbor output.dump, ktorý vytvoril tcpdump/WinDump. Wireshark zásadne spúšťame pod neprivilegovaným účtom (tj. nie root, nie Administrator), z bezpečnostných dôvodov. Wireshark má implicitne nastavené dekódovanie MAC adries podľa výrobcu, vypnúť sa to dá v menu zrušením View->Name Resolution->Enable for MAC layer a zmačknutím Ctrl+R (inak miesto MAC 00:0d:87:ab:cd:ef budete vidieť "dekódovanú MAC" Elitegro_ab:cd:ef). |
||
|
|
||
|
Ako prvé do políčka Filter (5) dáme "eapol" a potvrdíme Enterom. To odfiltruje len 802.1x autentizáciu. Prezrieme pakety, či sa tam nachádza niekde Failure/Success (2 alebo 6). Pozrieme sa, či vôbec počítač odosiela 802.1x pakety a či dostáva 802.1x pakety (3 a 4), kto je odosielateľ zistíte podľa stĺpca "Source" porovnaním s vašou MAC adresou. Ak sa po odfiltrovaní cez "eapol" filter nič neobjaví, tak počítač ani nič neodosiela, ani nedostáva. Ak počítač neodosiela 802.1x pakety, tak je chyba na vašej strane a zrejme je niekde chyba v nastavení 802.1x klienta. Ak počítač 802.1x pakety odosiela, ale nič nedostáva, je chyba na strane switchu, resp. serveru obstarávajúceho autentizáciu (treba poslať hlásenie a uviesť tento fakt tiež s tým, či máte uplink). Ak je výsledok Failure, tak je zrejme problém v nastavení username/hesla/autentizačnej metódy (alebo nezaplateným netom/prekročeným limitom odchozích dát, ale to by ste sa mali dozvedieť už v predchádzajúcom kroku pri kontrole NET IS). Skontrolujte a keď je z vašej strany všetko v poriadku, tak zrejme ide o problém s autentizačným serverom a treba poslať hlásenie a uviesť tento fakt. Ak je výsledok Success, ale napriek tomu nefunguje net, ideme na ďalší krok - overenie adresy pridelenej od DHCP. |
||
Vo Wiresharku do políčka na filter dáme "bootp" a potvrdíme Enterom. To odfiltruje len DHCP/BOOTP protokol (dôležité sú popisy paketov, viz 8 v nasledovnom obrázku). Nebudeme popisovať kompletný DHCP protokol, len nástrel - základ je zistiť "posiela váš počítač požiadavky a vidíte v zachytenom dumpe nejakú odpoveď?". Zameráme sa na otázky:
|
||
![]() Obrázok 3: úspešné pridelenie IP adresy od DHCP serveru |
||
| Nakoniec skontrolujeme, či počítač "zobral na vedomie" pridelenú IP adresu, vo Windows cez ipconfig /all, v Linuxe cez ifconfig eth0. Ak by ste tam uvideli inú adresu než pridelenú, tak je problém niekde v konfigurácii OS/siete. |
| Keď ste sa dostali až sem a net poriadne nejde, znamená to, že 802.1x autentizácia prešla a máte pridelenú správnu IP adresu. Problém môže byť ešte v DNS alebo v odrezaní koleje od zbytku sveta. Urobíme najprv z príkazového riadku (shellu) ping na gateway, potom "von do sveta" a nakoniec otestujeme DNS nasledovne: | ||
| Windows XP | Linux | |
prípad neúspechu:
ping 195.113.24.1
Príkaz PING na 195.113.24.1 s délkou 32 bajtu:
Cílovy hostitel není dostupny.
Cílovy hostitel není dostupny.
Cílovy hostitel není dostupny.
Cílovy hostitel není dostupny.
Statistika ping pro 195.113.24.1:
Pakety: Odeslané = 4, Prijaté = 0, Ztracené = 4 (ztráta 100%)
prípad úspechu:
ping 195.113.24.1
Príkaz PING na 195.113.24.1 s délkou 32 bajtu:
Odpoved od 195.113.24.1: bajty=32 cas=3ms TTL=64
Odpoved od 195.113.24.1: bajty=32 cas < 1ms TTL=64
Odpoved od 195.113.24.1: bajty=32 cas < 1ms TTL=64
Odpoved od 195.113.24.1: bajty=32 cas < 1ms TTL=64
Statistika ping pro 195.113.24.1:
Pakety: Odeslané = 4, Prijaté = 4, Ztracené = 0 (ztráta 0%),
Priblizná doba do prijetí odezvy v milisekundách:
Minimum = 0ms, Maximum = 3ms, Prumer = 0ms
|
$ ping -n -c 4 195.113.24.1
PING 195.113.24.1 (195.113.24.1) 56(84) bytes of data.
64 bytes from 195.113.24.1: icmp_seq=1 ttl=64 time=0.265 ms
64 bytes from 195.113.24.1: icmp_seq=2 ttl=64 time=0.215 ms
64 bytes from 195.113.24.1: icmp_seq=3 ttl=64 time=0.323 ms
64 bytes from 195.113.24.1: icmp_seq=4 ttl=64 time=0.276 ms
--- 195.113.24.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.215/0.269/0.323/0.043 ms
|
|
| Pingneme počítač vonku na internete, vyskúšajte tieto adresy miesto 195.113.24.1: 64.233.187.99, 64.233.167.99, 72.14.207.99, 194.228.32.3 (google, seznam), neviem ale na 100%, či budú rovnaké aj o mesiac. Strata paketov znamená problém - 100%-ná strata znamená, že je niekde odrezaný kábel, resp. iná HW/SW závada, menej než 100% ale viac než 0% indikuje tiež problém (zriedkavo je pôvodcom sama sieťovka, ale môže sa stať), treba napísať report o závade. | ||
| Otestujeme DNS na nejaké "dobre známe názvy": www.kolej.mff.cuni.cz, google.com, seznam.cz, kernel.org, atď. V úspešnom prípade by mal výstup vyzerať asi takto: | ||
| Windows XP | Linux | |
V príkazovom riadku dáme príkaz nslookup google.com, resp. nahradíme google.com za iné meno.
Server: ns.kolej.mff.cuni.cz
Address: 195.113.24.1
Name: google.com
Address: 64.233.187.99
|
V shelli host google.com:
google.com has address 64.233.167.99
google.com has address 72.14.207.99
google.com has address 64.233.187.99
google.com mail is handled by 10 smtp1.google.com.
google.com mail is handled by 10 smtp2.google.com.
google.com mail is handled by 10 smtp3.google.com.
google.com mail is handled by 10 smtp4.google.com.
|
|
| Pri probléme s DNS najprv skontrolujeme, či máme nastavenú automatickú konfiguráciu DNS (viz spomenutý návod). V prípade, že to máme nastavené správne a DNS odmieta fungovať, treba poslať hlásenie o závade. | ||