← Všechny kurzyZpět do simulátoru →

Když síť nefunguje: hledání závady

Metodika místo hádání: převedení stížnosti na popis závady, rozsah, postup zdola nahoru i shora dolů a půlení problému. Pak vrstva po vrstvě: kabel, port a admin down, access port ve špatné VLANě a trunk bez povolené VLANy, adresa, maska, brána a chybějící routa, test jménem versus adresou, mlčící resolver a stará odpověď v cache, a nakonec výchozí zákaz a stínící pravidlo na firewallu – včetně izolace, dokumentace a eskalace, když nic nepomáhá.

Tohle je textový náhled lekcí pro čtení. Plná verze – interaktivní simulátor s animacemi, úlohami a kvízy – běží v aplikaci.

▶ Spustit interaktivní verzi

Lekce 1: Metoda místo hádání

Co se vlastně stalo

PC-APC-BSWGWFWWEBDNSuživatel hlásí: „nefunguje internet"

Než začneš: tenhle kurz staví na pojmech ze začátečnických kurzů (adresy a maska, brána, VLANy, porty, DNS, firewall) – když ti některý nebude jasný, mrkni napřed do nich. „Nefunguje internet." Tuhle větu uslyšíš jako správce sítě častěji než cokoli jiného – a je to zároveň ta nejméně užitečná informace na světě. Než sáhneš na jediné zařízení, potřebuješ ji převést na popis závady, se kterým se dá pracovat. Ptej se na čtyři věci. Kdo má problém: jeden člověk, jedno oddělení, nebo celá budova? Co přesně nejde: konkrétní aplikace, konkrétní web, nebo úplně všechno? Odkdy to nejde a co se předtím změnilo – nová zásuvka, nové zařízení, nová pravidla, výměna kabelu? A nakonec: fungovalo to někdy? Nová věc, která nikdy nešla, je skoro vždycky chyba nastavení; věc, která šla ještě ráno, je porucha nebo něčí zásah. Rozlišuj přitom symptom (co uživatel vidí – „stránka se nenačte") od dopadu (co to znamená pro provoz – „nikdo nevyfakturuje"). Symptom ti pomůže hledat, dopad ti řekne, jak moc spěchat. A nejdůležitější zvyk hned na začátku: zapisuj si, co jsi zjistil a co jsi zkusil. Za hodinu si nevzpomeneš, jestli jsi ten kabel už přepojil.

Krok za krokem

  1. Začíná to větou, která neříká skoro nic. Tvoje první práce není opravovat, ale zjistit, co se vlastně stalo.
  2. Ptej se na čtyři věci: kdo, co přesně nejde, odkdy a co se předtím změnilo. Teprve to je popis závady.
  3. Nová věc, která nešla nikdy, bývá chyba nastavení. Věc, která šla ještě ráno, bývá porucha nebo něčí zásah.
  4. Odděl symptom od dopadu a všechno si zapisuj. Bez poznámek za hodinu nevíš, co jsi už zkusil.

Rozsah: jeden uživatel, nebo celá síť?

PC-APC-BSWGWFWWEBDNSjen PC-A: hledej u něj (kabel, port, adresa)

Druhá otázka po „co se stalo" je jak daleko to sahá. Rozsah závady je totiž nejlevnější a nejsilnější nástroj, jaký máš: zúží ti podezřelé zařízení dřív, než na cokoli sáhneš. Postupuj jednoduše. Nejde to jednomu uživateli, zatímco kolegovi vedle ano? Pak závada skoro jistě sedí u něj – jeho kabel, jeho port na switchi, jeho nastavení adresy, jeho aplikace. Nemá smysl kontrolovat router; ten by shodil všechny. Nejde to celé jedné skupině (jednomu patru, jedné VLANě, jednomu switchi)? Pak hledej to, co mají společné a ostatní ne – společný switch, společnou VLANu, společnou bránu. Nejde to úplně všem? Pak je závada nahoře, na sdílené cestě: brána, firewall, linka k poskytovateli, DNS. A pozor na past, která chytne skoro každého začátečníka: „nefunguje to všem" ještě neznamená „je rozbitá celá síť". Když vypadne jediný DNS server, jsou postižení všichni, ale sama síť je úplně v pořádku – jen nikdo nepřeloží jméno na adresu. Rozsah ti tedy neukáže vinu, ale směr: dolů k uživateli, nebo nahoru ke sdíleným zařízením.

Krok za krokem

  1. Nejde to jednomu, sousedovi ano? Závada sedí u něj – jeho kabel, jeho port, jeho nastavení. Router je nevinný.
  2. Nejde to celé skupině? Hledej, co mají společné a ostatní ne – jeden switch, jednu VLANu, jednu bránu.
  3. Nejde to všem? Podezřelá je sdílená cesta nahoře: brána, firewall, linka ven. Tam se sbíhá provoz všech.
  4. Past: „nejde to všem" ≠ „je rozbitá síť". Když mlčí DNS, trpí všichni, ale cesty i adresy fungují bez chyby.

Zdola nahoru, shora dolů a půlení

PC-APC-BSWGWFWWEBDNSzdola nahoru: kabel, port, adresa, jméno

Teď to hlavní: jakým pořadím hledat. Bez pořadí se z hledání závady stane hádání a náhodné klikání – a to je nejrychlejší cesta k tomu, aby ses po hodině vrátil na začátek a ještě něco rozbil. Používají se tři postupy. Zdola nahoru: začneš u fyzické vrstvy (kabel, port, stav linky), pak adresy a brána, pak jména, nakonec aplikace a pravidla. Je pomalejší, ale nikdy nepřeskočí tu hloupou příčinu, která bývá nejčastější. Hodí se, když nevíš vůbec nic, nebo když je hlášení „nejde nic". Shora dolů: začneš u aplikace („otevře se aspoň něco jiného?") a sestupuješ. Hodí se, když víš, že síť sama zjevně jede – ostatní lidé pracují, jen jedna služba zlobí. A do třetice technika, kterou budeš používat pořád: půlení problému. Cestu od PC k cíli rozpůlíš a otestuješ prostředek: dostane se paket aspoň k bráně? Když ano, celá spodní půlka je zdravá a ty ji můžeš přestat řešit. Když ne, ta horní tě nezajímá. Každý takový test zahodí polovinu podezřelých, takže i dlouhou cestu proklepneš na pár pokusů. Zlaté pravidlo nakonec: měň vždycky jednu věc a hned ověř, co to udělalo. Tři změny naráz znamenají, že už nevíš, která pomohla – a jestli něco jiného nerozbila.

Krok za krokem

  1. Zdola nahoru: kabel a port, pak adresy a brána, pak jména, nakonec aplikace. Pomalé, ale nepřeskočí hloupou příčinu.
  2. Shora dolů: začni u aplikace a sestupuj. Hodí se, když ostatní lidé normálně pracují a zlobí jen jedna služba.
  3. Půlení: otestuj prostředek cesty. Dojde paket k bráně? Pak je celá spodní půlka zdravá a ty ji můžeš vyškrtnout.
  4. Zlaté pravidlo: měň jednu věc a hned ověř. Po třech změnách naráz nevíš, která pomohla ani co jsi rozbil.

▶ Otevřít v simulátoru

Lekce 2: Fyzická vrstva a spoje

Kabel, port, stav linky

PC-APC-BSWGWFWWEBDNSzdravý spoj: rámce jdou oběma směry

Postup zdola nahoru začíná tam, kde je to nejméně elegantní a nejčastěji to sedí: u fyziky. Statistika je nemilosrdná – obrovská část hlášení „nefunguje síť" končí u vytaženého, uvolněného nebo zlomeného kabelu. Tři pojmy, které je dobré držet oddělené (v této aplikaci je používáme důsledně): kabel je ta fyzická věc mezi zásuvkami; spoj je čára mezi dvěma zařízeními, jak ji vidíš na plátně; a linka jsou parametry toho spoje – rychlost a případný výpadek. Co kontrolovat, a v tomhle pořadí. 1) Je kabel vůbec zapojený na obou koncích? Uživatel odsunul stůl, uklízečka vytáhla zástrčku – to nejsou vtipy, to je čtvrtek. 2) Svítí port? Pokud port hlásí, že spoj běží (link up), fyzická vrstva svou práci odvedla. Pokud hlásí link down, dál nemá cenu nic zkoumat – žádné nastavení VLAN ani žádná routa mrtvý kabel neoživí. 3) Jde provoz oběma směry? Existují i zlomyslné případy, kdy spoj „běží", ale linka je nastavená špatně nebo je poškozená a část rámců se ztrácí – projeví se to jako pomalá a nespolehlivá síť, ne jako úplný výpadek. V simulátoru vidíš stav spoje přímo na plátně a u linky můžeš nastavit rychlost i výpadek – to je tvoje fyzická vrstva.

Krok za krokem

  1. Zdravý stav: kabel je v obou zásuvkách, port hlásí, že spoj běží, a rámce tečou oběma směry.
  2. Nejčastější příčina vůbec: vytažený nebo zlomený kabel. Port hlásí link down a víc řešit nemusíš.
  3. Dokud je link down, nemá smysl zkoumat VLANy, adresy ani routy. Mrtvý kabel neoživí žádné nastavení.
  4. Zlomyslný případ: spoj „běží", ale linka ztrácí část rámců. Projeví se jako pomalá síť, ne jako výpadek.

Vypnutý port a admin down

PC-APC-BSWGWFWWEBDNSvypadá to jako přeříznutý kabel

Existuje závada, která vypadá úplně stejně jako přeříznutý kabel, ale příčina je jinde: port je vypnutý správcem. Odborně se tomu říká administratively down („admin down") a znamená to, že hardware je v pořádku, kabel je zapojený, ale zařízení má pokyn ten port nepoužívat. Proč by to někdo dělal? Důvodů je spousta a většinou jsou legitimní: nepoužívané porty se vypínají záměrně z bezpečnostních důvodů (do vypnuté zásuvky v zasedačce si nikdo nic nepřipojí), port se vypne dočasně při údržbě a někdo ho zapomene vrátit, nebo ho vypne sama ochrana, když na něm zaznamená něco podezřelého. Jak to poznáš od vytaženého kabelu? Podle toho, jak zařízení stav popisuje: přerušený kabel bývá hlášený jako „spoj neběží", zatímco vypnutý port se hlásí jako „vypnuto správcem" – tedy jako rozhodnutí, ne jako porucha. A právě proto to zaslouží samostatný modul: kdybys to považoval za vadný kabel, budeš půl hodiny vyměňovat něco, co je úplně v pořádku. Ještě jedno varování na závěr: než port zapneš, zjisti, proč byl vypnutý. Když ho někdo vypnul kvůli bezpečnostnímu incidentu, tvoje „oprava" ten incident právě obnovila.

Krok za krokem

  1. PC-A je odříznuté a symptom je stejný jako u vadného kabelu. Jenže kabel je zapojený a hardware v pořádku.
  2. Příčina je jinde: port je vypnutý správcem. Zařízení to hlásí jako rozhodnutí, ne jako poruchu spoje.
  3. Vypnuté porty bývají záměr: prázdná zásuvka v zasedačce, údržba, nebo zásah ochrany po podezřelé události.
  4. Zapnutí portu spraví spoj během vteřiny – ale nejdřív zjisti, proč byl vypnutý, ať neobnovíš incident.

Když je vadný jeden spoj

PC-APC-BSWGWFWWEBDNSspoj nespadl, jen ztrácí část rámců

Poslední fyzický případ je nejzáludnější, protože se netváří jako závada sítě. Jeden spoj někde uprostřed cesty je vadný nebo přetížený: neshodí se, ale část rámců po cestě zmizí. Uživatelé to popíšou úplně jinými slovy: „internet je nějaký pomalý", „hovor seká", „stahování se občas přeruší", „stránka se načte až napodruhé". Nikdo neřekne „máme závadu na lince" – a přesně proto se taková věc hledá tak dlouho. Jak na to? Použij rozsah a půlení z první lekce. Vadný spoj postihne všechny, kdo přes něj chodí, a nikoho jiného – takže když si všimneš, že problém mají shodou okolností právě lidé, jejichž provoz vede přes jeden konkrétní úsek, máš podezřelého. Pak testuj po částech: nejdřív k zařízení před podezřelým spojem, potom za ním. Když je bližší cíl v pořádku a ten vzdálenější se chová nespolehlivě, závada leží mezi nimi. A pozor na dvě klasické pasti. Za prvé: ojedinělá ztráta paketu není závada – sítě běžně zahodí kus provozu a vyšší vrstvy ho pošlou znovu; závada je až opakovaná a měřitelná ztráta. Za druhé: než začneš měnit hardware, ověř, že přes ten spoj neteče prostě víc provozu, než unese. Přetížená linka vypadá jako vadná, ale kabel za to nemůže.

Krok za krokem

  1. Vadný spoj se neshodí – jen část rámců zmizí. Uživatelé to hlásí jako „pomalý internet" nebo „sekající hovor".
  2. Rozsah pomáhá: vadný spoj postihne všechny, kdo přes něj chodí, a nikoho jiného. To je tvůj podezřelý úsek.
  3. Testuj po částech: nejdřív cíl před podezřelým spojem, pak za ním. Závada leží mezi posledním dobrým a prvním špatným.
  4. Dvě pasti: ojedinělá ztráta paketu je normální a přetížená linka vypadá jako vadná. Ověř obojí, než měníš hardware.

▶ Otevřít v simulátoru

Lekce 3: L2: VLANy a porty

Access port ve špatné VLANě

PC-APC-BSWGWFWWEBDNSkabel drží, port běží – fyzika je v pořádku

Kabel je v pořádku, port běží – a přesto se PC nikam nedostane. Vítej ve druhé vrstvě, kde se skrývá jedna z nejčastějších a nejzáludnějších závad vůbec: port je ve špatné VLANě. Připomeňme si v jedné větě, o co jde (podrobně to znáš z kurzu Switching a VLANy): VLAN rozdělí jeden fyzický switch na několik oddělených sítí a každý access port patří právě do jedné z nich. Když někdo přehodí port z VLANy 10 do VLANy 20 – ať už omylem při přepojování, nebo automatikou, která zařízení zařadila jinam – počítač se rázem ocitne v úplně jiné síti. A tady je ta zákeřnost: navenek to vypadá naprosto zdravě. Kabel drží, port svítí, zařízení může dokonce dostat adresu (jen z jiného rozsahu, protože ji přidělí jiná síť). Uživatel jen hlásí, že se nedostane na server, na který včera chodil. Poznávací znamení jsou dvě. Za prvé: PC má adresu z jiného rozsahu, než mají jeho kolegové ve stejné kanceláři. Za druhé: PC vidí zařízení, se kterými nemá co dělat, a nevidí ta „svoje". A pozor na past, kterou tahle závada nastražuje: vypadá jako problém adresování a spousta lidí začne ručně přepisovat IP adresu. Tím ale problém jen zamaskuješ – zařízení sedí pořád ve špatné síti a chová se dál divně. Oprava patří na port switche, ne do nastavení počítače.

Krok za krokem

  1. Fyzická vrstva je čistá: kabel drží, port běží. Přesto se PC-A nikam nedostane – hledáme dál nahoře.
  2. Někdo přehodil access port do jiné VLANy. Počítač se rázem ocitl v úplně jiné síti, aniž se cokoli fyzicky změnilo.
  3. Poznávací znamení: PC-A má adresu z jiného rozsahu než kolega ve stejné kanceláři a vidí cizí zařízení.
  4. Past: vypadá to jako problém adres. Ruční přepis IP jen maskuje – oprav zařazení portu na switchi.

Trunk, který nenese, co má

PC-APC-BSWGWFWWEBDNSuvnitř jednoho switche vše funguje

Když jsou VLANy roztažené přes víc switchů, propojuje je trunk – spoj, který mezi zařízeními přenáší provoz několika VLAN naráz a u každého rámce si nese značku, do které VLANy patří. A protože trunk má vlastní seznam povolených VLAN, vzniká tu zvláštní druh závady: trunk běží, spoj je zdravý, rámce po něm tečou – ale zrovna ta tvoje VLANa na něm povolená není, takže se její rámce na druhou stranu nedostanou. Symptom je hodně specifický a stojí za zapamatování: uvnitř jednoho switche všechno funguje, mezi switchi ne, a to jen pro některé skupiny uživatelů, zatímco jiné VLANy si po témže spoji vesele běhají. Kdo hledá naslepo, může tohle honit celý den, protože každé jednotlivé zařízení vypadá správně nastavené. Druhá klasická podoba téže závady je nesouhlas na obou koncích: jeden konec spoje je nastavený jako trunk, druhý jako obyčejný access port. Pak se rámce jedné VLANy dostanou tam, kam nemají, a jiné se ztratí úplně. Postup je proto jednoduchý: nejdřív si ověř, že problém opravdu překračuje hranici mezi switchi (uvnitř jde, ven ne), a teprve pak se dívej na oba konce trunku – jestli jsou oba trunkem a jestli mají povolenou tutéž sadu VLAN.

Krok za krokem

  1. Uvnitř jednoho switche jde všechno. To je důležitá informace: adresy i porty jsou nejspíš v pořádku.
  2. Ven to ale nejde – a to jen pro jednu skupinu. Jiné VLANy po témže spoji běhají bez problémů.
  3. Příčina: trunk běží, ale tvoje VLANa na něm není povolená. Rámce se na druhou stranu prostě nedostanou.
  4. Kontroluj oba konce: jestli jsou oba trunkem a mají povolenou tutéž sadu VLAN. Nesouhlas konců je druhá klasika.

Kde se ztrácí rámec

PC-APC-BSWGWFWWEBDNSkrok 1: vidí se dvě zařízení ve stejné VLANě?

Pojďme si druhou vrstvu shrnout do postupu, který můžeš použít pokaždé, když „fyzika je v pořádku, ale ono to nejde". Zeptej se: kam až se rámec dostane a kde skončí? Odpověď hledej ve třech krocích. 1) Vidí se dvě zařízení ve stejné VLANě navzájem? Pokud ano, přepínání uvnitř funguje a problém je výš (adresy, brána, routy, pravidla). Pokud ne, jsi na správném místě. 2) Jsou opravdu ve stejné VLANě? Zkontroluj zařazení obou portů – ne jen toho, na který si někdo stěžoval. Klasická chyba je opravit port uživatele a nevšimnout si, že přesunutý byl ve skutečnosti port serveru. 3) Musí rámec překročit hranici mezi switchi? Pak se dívej na trunk a na povolené VLANy. Přidej k tomu dvě věci, které se do druhé vrstvy pletou a stojí za rychlou kontrolu: bezpečnostní funkce na portu (ochrana, která port zablokuje, když se za ním objeví neočekávané zařízení – potom se port tváří mrtvě, i když je kabel v pořádku) a už zmíněný nesouhlas nastavení na dvou koncích jednoho spoje. A nakonec pravidlo, které tě ušetří spousty slepých uliček: když se dvě zařízení nevidí ani ve stejné VLANě, nemá vůbec cenu řešit bránu ani routy. Tam nahoru se posuň, teprve až víš, že spodní patro drží.

Krok za krokem

  1. Krok 1: vidí se dvě zařízení ve stejné VLANě? Když ano, druhá vrstva drží a problém je výš.
  2. Krok 2: ověř zařazení obou portů. Častá chyba: opravíš port uživatele, ale přesunutý byl port serveru.
  3. Krok 3: musí rámec překročit hranici mezi switchi? Pak se dívej na trunk a na povolené VLANy.
  4. Pravidlo na závěr: dokud se zařízení nevidí ani ve stejné VLANě, bránu ani routy neřeš. Nahoru až po ověření.

▶ Otevřít v simulátoru

Lekce 4: L3: adresy, brána, cesty

Špatná IP nebo maska

PC-APC-BSWGWFWWEBDNSadresa chybí: zařízení si přidělí náhradní

Třetí vrstva začíná otázkou, jestli má zařízení vůbec rozumnou adresu. Tři případy pokrývají skoro všechno. Adresa chybí úplně – zařízení mělo dostat adresu automaticky, ale nedostalo (nefunguje přidělování, nedosáhne na server, který adresy rozdává). Poznáš to snadno: zařízení si samo přidělí náhradní adresu, se kterou se nikam nedostane. Adresa je z jiného rozsahu, než má být – buď ji někdo napsal ručně špatně, nebo je zařízení ve špatné VLANě (a to už umíš najít z minulé lekce). Maska je špatně – a tohle je ta rafinovaná varianta, kterou stojí za to rozebrat. Maska říká, kterou část adresy tvoří číslo sítě: podle ní se zařízení rozhoduje, jestli je cíl u něj v síti (pošlu rovnou), nebo jinde (pošlu na bránu). Když je maska moc úzká, zařízení považuje své vlastní sousedy za cizince a posílá je zbytečně přes bránu. Když je moc široká, považuje za sousedy i zařízení z jiných sítí, snaží se je oslovit přímo – a odpověď nikdy nepřijde. Výsledek je pokaždé strašidelný: něco funguje a něco ne, bez zjevné logiky. A když u dvou zařízení sedí adresy, ale liší se maska, mohou se navzájem vidět jen jedním směrem. Proto vždycky kontroluj adresu i masku dohromady, nikdy jen adresu.

Krok za krokem

  1. První případ: adresa úplně chybí. Zařízení si přidělí náhradní adresu, se kterou se nedostane nikam.
  2. Druhý případ: adresa je z jiného rozsahu. Buď ji někdo přepsal ručně, nebo je zařízení ve špatné VLANě.
  3. Moc úzká maska: zařízení považuje vlastní sousedy za cizince a posílá je zbytečně přes bránu.
  4. Moc široká maska: zařízení oslovuje cizí síť přímo a odpověď nepřijde. Kontroluj vždy adresu i masku.

Chybějící nebo špatná brána

PC-APC-BSWGWFWWEBDNSve vlastní síti funguje úplně všechno

Tenhle příznak si zapamatuj, protože je naprosto typický: zařízení vidí všechno ve své síti, ale nic mimo ni. Kolega vedle se ozve, sdílená tiskárna funguje, ale server v jiné síti ani internet neexistují. Skoro vždycky za to může výchozí brána (default gateway) – adresa zařízení, kterému počítač předává všechno, co není u něj v síti. Chyba má tři podoby. Brána chybí: počítač nemá kam poslat provoz ven, takže ho prostě nepošle. Brána je špatně napsaná: adresa ukazuje na zařízení, které neexistuje nebo směrovat neumí; provoz odejde a nikdy nedorazí. Brána je mimo vlastní síť: adresa je sice platná, ale podle masky leží v jiné síti – a na tu se počítač neumí obrátit, protože by k ní zase potřeboval bránu. Na číslech: počítač má 192.168.1.20 s maskou /24, takže jeho síť je 192.168.1.0 – jenže jako bránu má napsanou 192.168.2.1, a ta podle téže masky patří do jiné sítě (192.168.2.0). Přímo ji tedy oslovit nemůže a přes bránu taky ne, protože ta brána JE ona. Klasický zacyklený nesmysl, který v konfiguraci vypadá nevinně. Zkoušej to v tomhle pořadí. Nejdřív ověř, že se dostaneš na bránu: když ne, jsi zpátky ve druhé vrstvě (VLANa, port, kabel). Když ano, zkus něco za bránou. A když se dostaneš na bránu, ale ne dál, máš zúženo na dvě možnosti: brána nesměruje, kam má (to je další modul), nebo někde po cestě něco provoz zahazuje (to je poslední lekce). Poznámka na závěr: když má špatnou bránu jeden počítač, chyba je v jeho nastavení; když ji mají všichni, je špatně to, co jim ji rozdává.

Krok za krokem

  1. Typický příznak, část první: ve vlastní síti funguje všechno. Kolega se ozve, tiskárna tiskne.
  2. Část druhá: mimo síť neexistuje nic – server ani internet. Tahle dvojice skoro vždy ukazuje na bránu.
  3. Tři podoby chyby: brána chybí, je špatně napsaná, nebo leží mimo vlastní síť – a je nedosažitelná.
  4. Postup: nejdřív zkus bránu, pak něco za bránou. Když jde brána a dál ne, zbývá routa nebo pravidlo.

Chybějící routa

PC-APC-BSWGWFWWEBDNSna bránu se dostaneš, dál už ne

Dostal ses na bránu, ale dál ne. Teď přichází na řadu routa – záznam v tabulce směrování, který routeru říká „provoz pro tuhle síť posílej tudy". Když routa chybí, router paket nemá kam předat a zahodí ho. A tady je zásadní rozdíl oproti předchozím závadám: chybějící routa nemusí být na tvé straně. Provoz je totiž obousměrný. Tvůj požadavek může doletět k cíli úplně bez problému – ale když cílový router nezná cestu zpět do tvé sítě, odpověď se nikdy nevrátí. Navenek to vypadá, jako by cíl byl mrtvý. Proto si na tenhle vzorec dej pozor: „nedostanu odpověď" neznamená automaticky „požadavek nedorazil". Druhá typická podoba je asymetrie: z jedné sítě to jde, z druhé ne, protože chybí jen jedna půlka dvojice cest. Jak hledat prakticky? Použij půlení. Sleduj, kam až provoz doletí – poslední zařízení, které se ještě ozve, je tvůj ukazatel. Závada leží mezi posledním, které odpoví, a prvním, které mlčí. Na tom zařízení se pak podívej do tabulky směrování: zná cestu do cílové sítě? A zná cíl cestu zpět? V simulátoru máš k tomu velkou výhodu oproti reálné síti – vidíš celou topologii naráz, takže si cestu můžeš doslova obtáhnout prstem a porovnat ji s tím, co jednotlivé routery znají. A od teď to za tebe umí i test průchodu: ve výsledku najdeš blok Trasa (traceroute) – zařízení po zařízení, s klesajícím TTL. Kde se trasa zastaví, tam hledej.

Krok za krokem

  1. Výchozí stav: na bránu se dostaneš, ale dál ne. Teď přichází na řadu tabulka směrování.
  2. Když routa chybí, router nemá kam paket předat a zahodí ho. Cíl je přitom naprosto v pořádku.
  3. Zrada: požadavek doletí, ale protistrana nezná cestu zpět – odpověď se nevrátí a cíl vypadá mrtvě.
  4. Postup: sleduj, kam až provoz doletí. Závada leží mezi posledním, které odpoví, a prvním, které mlčí.

▶ Otevřít v simulátoru

Lekce 5: Funguje IP, nefunguje jméno

Test jménem vs. adresou

PC-APC-BSWGWFWWEBDNSkrok 1: přelož jméno na adresu (DNS)

Existuje jeden test, kterým se dá během deseti vteřin rozseknout obrovská část hlášení „nefunguje internet" – a je tak jednoduchý, že ho začátečníci vynechávají. Zní: zkus to jménem a pak toutéž věcí přes adresu. Připomeňme si proč. Lidé používají jména (napíšeš adresu webu), ale síť zná jen čísla (IP adresy). Překlad zajišťuje DNS. To znamená, že každé „otevři mi stránku" je ve skutečnosti dvě samostatné operace: nejdřív přelož jméno na adresu, teprve pak se na tu adresu připoj. A když jedna z těch dvou selže, uživatel to popíše úplně stejně – „nejde to". Test odhalí, která z nich to byla. Jméno nejde, adresa jde → síť je zdravá, cesty i pravidla fungují, rozbité je překládání jmen. Na sítích už nic nehledej, jdi rovnou na DNS. Nejde ani jedno → problém je v síti, vrať se ke kabelům, VLANám, bráně a routám z předchozích lekcí. Jméno jde, adresa ne → to je vzácnost, ale existuje: obvykle se pod jménem skrývá jiná adresa (třeba proto, že cíl má víc adres nebo že tebou zkoušená adresa je stará). Pamatuj si tenhle test jako rozcestník: on ti neopraví nic, ale během chvilky ti řekne, ve které polovině světa hledat. To je ta nejcennější informace na začátku.

Krok za krokem

  1. Každé „otevři stránku" jsou dvě operace. První: přelož jméno na adresu – to dělá DNS.
  2. Druhá operace: připoj se na získanou adresu. Když selže jedna z těch dvou, uživatel to popíše stejně.
  3. Jméno nejde, adresa jde: síť je zdravá a rozbité je překládání jmen. Sítě dál neřeš, jdi na DNS.
  4. Nejde ani jedno: problém je v síti. Vrať se ke kabelům, VLANám, bráně a routám z předchozích lekcí.

Když resolver mlčí

PC-APC-BSWGWFWWEBDNSpočítač se ptá resolveru na adresu

Řekněme, že test z minulého modulu ukázal na jména. Teď se ptáme: kde přesně to vázne? Zopakujme si sestavu. Počítač se ptá resolveru – serveru, který za něj jméno vyhledá a vrátí adresu. Adresu toho resolveru počítač dostane obvykle automaticky – stejným mechanismem (DHCP) jako IP adresu a bránu, jak víš z kurzu Jak fungují sítě. Odtud plynou tři nejčastější závady. 1) Resolver spadl nebo je nedostupný. Klasika, se kterou se setkáš znovu a znovu: síť je naprosto v pořádku, ale protože nikdo nepřeloží jméno na adresu, „nefunguje všechno" pro všechny. Vzpomeň si na past z první lekce – rozsah „týká se to všech" tě může poslat hledat rozbitý router, který přitom bez chybičky pracuje. 2) Počítač má nastavený špatný resolver. Adresa ukazuje na server, který neexistuje, nebo na takový, který pro tvá vnitřní jména nezná odpovědi. Typicky se to projeví strašidelně logicky: vnější weby fungují, ale vnitřní firemní jména ne (nebo naopak). 3) Resolver odpovídá, ale odpověď je špatná. Buď záznam nikdo nezaložil, nebo ukazuje na starou adresu. Postup je pořád stejné půlení. Nejdřív: odpovídá resolver vůbec? Když ne, jsi zpátky v běžném hledání dostupnosti – resolver je taky jen zařízení v síti se svým kabelem, VLANou, adresou a pravidly. Když ano, ptej se: vrací správnou adresu? A pokud u jednoho počítače jména nejdou a u sousedního ano, dívej se na to, jaký resolver má každý z nich nastavený.

Krok za krokem

  1. Sestava: počítač se ptá resolveru, ten jméno vyhledá a vrátí adresu. Jeho adresu obvykle dostane automaticky.
  2. Závada 1: resolver mlčí. Trpí všichni, ale síť je bez chyby – přesně past na hledání „rozbitého routeru".
  3. Závada 2: špatně nastavený resolver. Vnější weby jdou, ale vnitřní firemní jména ne – nebo naopak.
  4. Půlení i tady: odpovídá resolver vůbec? A pokud ano, vrací správnou adresu? Dvě otázky, dva různé směry.

Cache a stará odpověď

PC-APC-BSWGWFWWEBDNSodpověď se uloží do cache s platností TTL

A teď závada, která umí připravit o rozum, protože vypadá, jako by neplatila fyzika: opravíš záznam, ale nic se nezmění. Nebo hůř – tobě to funguje a kolegovi ne, přestože sedíte vedle sebe. Vysvětlení se jmenuje cache (mezipaměť). Odpovědi na dotazy o jménech se totiž ukládají, aby se stejná otázka nemusela pokládat pořád dokola. Ukládá je resolver, ukládá je i samotný počítač. Ke každé odpovědi patří TTL – doba, po kterou se smí považovat za platnou. A dokud TTL neuplyne, dostáváš tu starou, uloženou odpověď, i kdyby se pravda mezitím desetkrát změnila. Typický scénář: server dostal novou adresu, ty jsi záznam poctivě opravil – ale uživatelé s uloženou starou odpovědí chodí dál na adresu, kde už nikdo není. A protože každý má cache jinak starou, projevuje se to nádherně nesmyslně: „některým to jde a některým ne", případně „mně to jde, ale klientovi ne". Podle čeho poznáš cache? Podle dvou příznaků. Za prvé: chování se liší podle zařízení, ne podle sítě. Za druhé: problém sám mizí časem, jak jednotlivým strojům vyprší TTL. Řešení je vyprázdnit mezipaměť (na počítači i na resolveru) a počkat, až vyprší starým odpovědím platnost. A poučení do budoucna: než budeš stěhovat službu, sniž TTL předem – pak se změna rozšíří rychle a tenhle druh záhad tě nepotká.

Krok za krokem

  1. Odpovědi o jménech se ukládají do cache a ke každé patří TTL – doba, po kterou platí.
  2. Server dostal novou adresu a ty jsi záznam poctivě opravil. Logicky by mělo být hotovo – jenže není.
  3. PC-A drží starou odpověď a chodí, kde už nikdo není. PC-B má čerstvou. Odtud to „některým to jde".
  4. Poznávací znamení: liší se to podle zařízení a časem samo mizí. Řešení: vyprázdni cache, příště sniž TTL předem.

▶ Otevřít v simulátoru

Lekce 6: Když za to může pravidlo

Firewall a výchozí zákaz

PC-APC-BSWGWFWWEBDNSpovolený provoz projde bez potíží

Zbývá poslední velká skupina závad, u které je „rozbité" slovo úplně nepřesné: síť funguje přesně tak, jak jsi jí přikázal. Jen jsi jí přikázal něco jiného, než sis myslel. Firewall pracuje se seznamem pravidel, který prochází shora dolů (jak přesně pravidlo vypadá a proč se čte odshora, znáš z kurzu Zabezpečení sítě), a na konci má výchozí zákaz (default deny): co žádné pravidlo výslovně nepovolí, se zahodí. Tenhle princip je bezpečnostně naprosto správný – povoluje se jen to, co je potřeba – ale způsobuje typickou závadu: někdo přidal novou službu a zapomněl pro ni přidat pravidlo. Symptom se dá dobře poznat: všechno ostatní funguje, jen ta jedna věc ne. Uživatel se dostane na web, e-mail chodí, ale konkrétní aplikace mlčí. To je téměř podpis firewallu. Jak to odlišit od závady sítě? Dvěma vodítky. Za prvé selektivita: závada sítě obvykle shodí všechno k danému cíli, kdežto pravidlo zasáhne jen určitý druh provozu. Za druhé způsob selhání: zahozený provoz se často projeví jako dlouhé čekání a pak vzdání, protože zahozený paket nikomu nic nepošle. A rada, kterou si vezmi k srdci: když najdeš, že za to může pravidlo, nepiš rovnou „povol všechno". Přidej pravidlo co nejužší – konkrétní zdroj, konkrétní cíl, konkrétní službu. Široké „povol vše" závadu odstraní a zároveň otevře díru, o které za měsíc nikdo nebude vědět.

Krok za krokem

  1. Firewall prochází pravidla shora dolů. Co je výslovně povolené, projde bez potíží.
  2. Na konci seznamu je výchozí zákaz: co žádné pravidlo nepovolí, se zahodí. Nová služba bez pravidla mlčí.
  3. Podpis firewallu: všechno ostatní funguje, jen ta jedna věc ne. Závada sítě by shodila k cíli všechno.
  4. Oprava: přidej co nejužší pravidlo – konkrétní zdroj, cíl a službu. „Povol vše" otevře díru na měsíce.

Stínící pravidlo

PC-APC-BSWGWFWWEBDNSfirewall čte shora dolů a použije první shodu

Tenhle případ je ze všech nejvíc frustrující, protože pravidlo, které potřebuješ, tam je – a přesto neplatí. Vzpomeň si, že firewall čte pravidla shora dolů a použije první, které na provoz sedí; zbytek už ani nečte. Takže když nad tvým pravidlem leží nějaké širší, které na tentýž provoz sedí taky, rozhodne ono a tvoje pravidlo se nikdy nepoužije. Říká se mu stínící pravidlo (a tomu zastíněnému mrtvé pravidlo). Nejčastější podoba: nahoře je široký zákaz („zakaž do téhle sítě všechno") a dole konkrétní povolení („povol na server na tenhle port"). Konfigurace vypadá naprosto rozumně, člověk ji přečte a přísahá, že přístup je povolený – jen prostě nefunguje. Existuje i opačný, bezpečnostně horší směr: nahoře široké povolení, které stíní konkrétní zákaz pod sebou. Pak si myslíš, že něco blokuješ, ale ve skutečnosti to celou dobu prochází – a to je díra, kterou nikdo neuvidí, dokud ji někdo nepoužije. Jak stínění najít? Vezmi konkrétní provoz (odkud, kam, jaká služba) a projdi seznam shora dolů stejně, jako to dělá firewall. První pravidlo, které sedí, je to platné. Bývá to jiné, než jsi čekal. Poučení do praxe: konkrétní pravidla patří nahoru, obecná dolů. A po každém zásahu ověř, že to funguje – i to, co fungovat nemá.

Krok za krokem

  1. Firewall čte pravidla shora dolů a použije první, které na provoz sedí. Zbytek už vůbec nečte.
  2. Nahoře leží široký zákaz, který sedí na tentýž provoz. Rozhodne on – a tvoje povolení se nepoužije nikdy.
  3. Tvoje pravidlo je mrtvé: existuje, vypadá správně, ale nikdy se na ně nedojde. Odtud ta frustrace.
  4. Oprava i prevence: konkrétní pravidla nahoru, obecná dolů. A po zásahu ověř i to, co fungovat nemá.

Když nic nepomáhá

PC-APC-BSWGWFWWEBDNSprošel jsi vše a pořád nevíš – to je normální

Poslední modul je o situaci, která tě dřív nebo později potká: prošel jsi všechno a pořád nevíš. Nejdřív dobrá zpráva – tohle není selhání. Špatná je jen jedna reakce: začít zoufale zkoušet náhodné změny. Postupuj místo toho ve třech krocích. 1) Izoluj. Zjednoduš situaci, dokud problém nezmizí. Zapoj zařízení přímo, vynech mezičlánek, zkus jiný kabel, jiný port, jiný počítač na tomtéž místě, tentýž počítač na jiném místě. Každá taková výměna ti rozdělí svět na půl – a přesně to potřebuješ. 2) Zdokumentuj. Sepiš, co jsi ověřil a s jakým výsledkem, včetně toho, co fungovalo. Když to předáváš dál, tohle je nejcennější věc, kterou můžeš dát – ušetříš druhému opakování všeho, co už jsi udělal. A když se stejný problém vrátí za rok, budeš si sám sobě děkovat. 3) Eskaluj. Předej to dál, když ti dochází pravomoci (nesmíš do zařízení, které je podezřelé), znalosti (jsi u technologie, kterou neznáš), nebo když dopad roste rychleji, než postupuješ. Eskalace není přiznání porážky, je to správné rozhodnutí. A dvě věci na úplný závěr. Nezapomeň na možnost, že se něco změnilo – u záhad, které vznikly „samy od sebe", stojí za to zeptat se, kdo v poslední době do čeho sáhl. A až závadu odstraníš, vrať zpátky všechno, co jsi cestou dočasně vypnul nebo povolil. Nedokončený úklid po hledání závady je nejtišší bezpečnostní díra vůbec.

Krok za krokem

  1. Prošel jsi fyziku, VLANy, adresy, jména i pravidla – a pořád nic. Není to selhání; jen nezačni hádat naslepo.
  2. Izoluj: zapoj napřímo, vynech mezičlánek, vyměň kabel, port nebo počítač. Každá výměna rozdělí svět na půl.
  3. Zdokumentuj ověřené kroky včetně toho, co fungovalo. Kdo to převezme, nemusí opakovat tvou práci.
  4. Eskaluj, když dojdou pravomoci či znalosti. A po opravě vrať vše, co jsi dočasně vypnul nebo povolil.

▶ Otevřít v simulátoru