Router do hloubky
L3 mechanika a bezpečnost: routovací tabulka a administrativní vzdálenost, zpracování paketu, typy NAT/PAT, default a floating cesty, HSRP/VRRP, zabezpečení routeru.
Lekce 1: Routovací tabulka do hloubky
Tři zdroje cest
Páteční odpoledne, půlka firmy je bez internetu – a ty stojíš u routeru a potřebuješ přečíst, co zrovna dělá a proč posílá pakety jinam, než čekáš. Přesně na to je tenhle kurz: podívat se routeru pod kapotu. A všechno začíná u jeho srdce. Srdce routeru je routovací tabulka – seznam „do téhle sítě jdi tudy". Odkud se v ní berou záznamy? Ze tří zdrojů. (1) Connected – sítě, které má router přímo připojené na svých rozhraních (zná je automaticky). (2) Static – cesty, které zadá ručně správce (kurz Routing a IP adresy). (3) Dynamic – cesty, které se router naučí od protokolu jako OSPF (kurz OSPF do hloubky). Router pak pro každý paket v téhle tabulce hledá, kam ho poslat.
Krok za krokem
- Connected: sítě na vlastních rozhraních router zná hned, bez nastavení.
- Static: vzdálené sítě dopíše ručně správce – „do 10.0.9.0/24 přes R2".
- Dynamic: zbytek se router naučí od OSPF sám. Tři zdroje, jedna tabulka.
Administrativní vzdálenost
Co když víc zdrojů zná cestu do stejné sítě – třeba ji router slyší od OSPF i má ručně zadanou statickou? Router potřebuje rozhodnout, komu věřit víc. K tomu slouží administrativní vzdálenost (AD) – číslo důvěryhodnosti zdroje, kde nižší vyhrává. Připojená síť má AD 0 (nejvíc se věří – vidím ji přímo), statická 1, OSPF 110, RIP 120. Takže když máš na stejnou síť statickou (1) i OSPF (110) cestu, router použije statickou. AD je „kdo má pravdu", až potom se řeší metrika uvnitř protokolu.
Krok za krokem
- Na 10.0.9.0/24 má router dvě cesty: statickou (AD 1) a z OSPF (AD 110).
- Nižší AD vyhrává → router použije statickou (1 < 110). Tu z OSPF si nechá v záloze.
- Pořadí důvěry: connected 0 → static 1 → OSPF 110 → RIP 120. Metrika (cost) rozhoduje až uvnitř jednoho protokolu.
Longest prefix match
Ještě jedno pravidlo, a je nejdůležitější: když do tabulky sedí víc cest na cíl, vyhrává ta s nejdelším prefixem (longest prefix match) – nejkonkrétnější síť (zápis s lomítkem, např. /24, znáš ze subnettingu v kurzu ISO/OSI a TCP/IP – vyšší číslo = užší, konkrétnější síť). Příklad: máš cestu na 10.0.0.0/8 (široká) i na 10.0.5.0/24 (úzká) a paket míří na 10.0.5.10. Obě „pasují", ale router zvolí /24, protože je specifičtější. Pozor – tohle rozhodnutí má přednost před administrativní vzdáleností (řeší se jako první): nejdřív se vybere nejdelší prefix, a teprve mezi stejně dlouhými prefixy rozhoduje AD a pak metrika. Proto se taky default route (0.0.0.0/0, nejkratší možný prefix) použije, jen když nic konkrétnějšího nesedí.
Krok za krokem
- Na 10.0.5.10 sedí hned tři cesty: /8, /24 i default /0. Kterou zvolit?
- Vyhrává /24 – nejdelší (nejkonkrétnější) prefix. /8 i default jsou moc široké.
- Pořadí rozhodování: nejdřív nejdelší prefix, pak (mezi stejnými) AD, pak metrika. Default je až poslední záchrana.
Lekce 2: Jak router zpracuje paket
Lookup a next-hop
Co router s paketem fyzicky udělá? Paket přijde na rozhraní. Router se podívá na cílovou IP, najde v tabulce nejlepší cestu (longest prefix) a z ní příští skok (next-hop) a výstupní rozhraní. Pak paket přepíše na 2. vrstvě: přepíše obě MAC (fyzická adresa pro místní síť, znáš z kurzu Jak fungují sítě; nová zdrojová = jeho výstupní rozhraní, nová cílová = MAC next-hopu), sníží TTL o 1 a pošle ven. IP adresy zůstávají (kdo→komu se nemění, jen MAC po každém skoku). Tohle router opakuje skok za skokem, dokud paket nedorazí k cíli.
Krok za krokem
- Paket přijde. Router čte cílovou IP a najde v tabulce nejlepší cestu (next-hop).
- Přepíše L2 hlavičku: nová cílová MAC = next-hop, sníží TTL o 1. IP adresy nechá být.
- Pošle paket ven správným rozhraním. A tohle se opakuje skok za skokem až k cíli.
ARP pro příští skok
Moment – router zná IP příštího skoku, ale na 2. vrstvě potřebuje jeho MAC. Jak ji získá? ARP (Address Resolution Protocol): router se v dané síti zeptá broadcastem „kdo má IP 10.0.2.1?", majitel odpoví „já, a tady je moje MAC". Router si dvojici IP→MAC uloží do ARP cache (na příště) a teprve teď doplní cílovou MAC a paket odešle. Proto první paket na nový next-hop chvíli „čeká na ARP". Tahle drobnost spojuje L3 rozhodnutí (kam) s L2 doručením (komu fyzicky).
Krok za krokem
- Router zná IP next-hopu, ale ne jeho MAC. Pošle ARP dotaz: „kdo má tuhle IP?".
- Majitel odpoví svou MAC. Router si dvojici IP→MAC uloží do ARP cache.
- Teď doplní cílovou MAC a paket odešle. Příště už se neptá – má to v cache.
Když není cesta
A co když router pro cíl nemá žádnou cestu (ani konkrétní, ani default)? Paket nemůže poslat „nikam" – tak ho zahodí. Slušný router přitom pošle odesílateli zpět ICMP zprávu „destination unreachable" („tohle neumím doručit"). Stejně se paket zahodí, když mu vyprší TTL (klesne na 0) – to chrání před věčným kroužením ve smyčce a generuje to „time exceeded" (na tom stojí traceroute). Zahození není chyba routeru – je to korektní reakce na chybějící cestu nebo smyčku.
Krok za krokem
- Paket míří na 8.8.8.8, ale router pro něj nemá cestu (ani default). Co teď?
- Router paket zahodí a pošle odesílateli ICMP „unreachable" – „tohle neumím doručit".
- Stejně dopadne paket, jemuž vyprší TTL (smyčka). Zahození je korektní – ochrana sítě.
Lekce 3: NAT a PAT do hloubky
Statický NAT (1:1)
Routery často dělají i NAT (překlad adres) – z kurzu Routing a IP adresy znáš, že schová privátní síť za veřejnou IP (v simulátoru NAT dělá hraniční prvek – router i firewall; ruční DNAT/statický NAT nastavíš na firewallu). Teď podrobně podle typů. Statický NAT je pevné 1:1 mapování: jedna privátní IP ↔ jedna veřejná, napořád. Hodí se, když má být vnitřní server trvale dosažitelný zvenčí na stálé veřejné adrese (a zároveň ven vystupuje pod toutéž). Je předvídatelný, ale „spotřebuje" jednu veřejnou IP na každý server.
Krok za krokem
- Statický NAT: server 10.0.0.20 má napevno přiřazenou veřejnou 203.0.113.20.
- Kdokoli z internetu osloví 203.0.113.20 → router to přeloží na 10.0.0.20. Server je stále dostupný.
- Je to 1:1 napořád – předvídatelné, ale spotřebuje jednu veřejnou IP na server. Vyzkoušej si to v úloze „Vystav server zvenku (statický NAT 1:1)“ – v simulátoru.
Dynamický NAT a PAT
Veřejných IP je málo, a domácnost/firma jich má desítky uvnitř. Dynamický NAT přidělí privátním adresám veřejnou z poolu (kdo dřív přijde), ale i tak potřebuje tolik veřejných, kolik je současně komunikujících zařízení. Řešení, které všichni používáme: PAT (Port Address Translation) / NAT overload – všichni vnitřní sdílí jednu veřejnou IP, a router je rozliší podle zdrojového portu. PC-A:50000 i PC-B:50000 ven vystoupí jako 203.0.113.1, ale s jiným přiděleným portem; podle něj router odpovědi vrátí správnému. Takhle se za jednu veřejnou IP schovají tisíce zařízení.
Krok za krokem
- PC ven: zdroj 10.0.0.10:50000. Privátní adresa nesmí do internetu.
- PAT přepíše zdroj na veřejnou IP + přidělený port (203.0.113.1:40001) a zapíše si dvojici.
- Odpověď přijde na port 40001 → router ví, že patří PC. Tisíce zařízení za jednou IP.
Port forwarding a hairpin
PAT řeší cestu ven. Ale co když má vnitřní server přijímat spojení zvenčí? Zvenku přece není komu odpovídat – router neví, kterému vnitřnímu to dát. Proto port forwarding (statický PAT / DNAT): nastavíš pravidlo „příchozí na veřejná IP:443 přesměruj na 10.0.0.20:443". Tím zpřístupníš jeden vnitřní port světu (přesně tohle dělá úloha v simulátoru). Zvláštní případ je hairpin NAT: vnitřní klient chce na svůj server přes jeho veřejnou IP (třeba zadá doménu). Veřejná adresa ale není v místní síti, takže paket zamíří na bránu – a router ho musí „otočit" zpátky dovnitř.
Krok za krokem
- Z internetu přijde spojení na veřejná IP:443. Komu vnitřnímu ho dát? Router sám neví.
- Port forwarding: pravidlo „:443 → 10.0.0.20:443". Teď router ví, kam to poslat. Server je zvenčí dostupný.
- Hairpin: i vnitřní PC, které server osloví přes jeho veřejnou IP, projde routerem a „otočí se" zpět dovnitř.
Lekce 4: Cesty ven a zálohy
Výchozí cesta
Nemůžeš mít v tabulce celý internet (miliony sítí). Proto výchozí cesta (default route, 0.0.0.0/0) – „co nepoznám, pošli sem" (typicky k ISP). Je to nejkratší možný prefix, takže se použije až úplně nakonec, když nic konkrétnějšího nesedí (longest prefix z lekce 1). Říká se jí taky gateway of last resort – brána poslední záchrany. Pro koncové („stub") sítě, které mají jen jednu cestu ven, stačí jediná default route místo tisíců záznamů.
Krok za krokem
- Router zná vnitřní sítě. Ale internet (miliony sítí) do tabulky nedá. Co s neznámým cílem?
- Default route 0.0.0.0/0 → k ISP. Co nepoznám, pošlu sem. Jeden záznam místo celého internetu.
- Použije se až nakonec (nejkratší prefix). Pro stub sítě s jedinou cestou ven úplně stačí.
Floating static (záloha)
Chceš zálohu: hlavní cesta přes R1, a kdyby spadla, ať to jde přes R2. Trik se jmenuje floating static route – záložní statická cesta s uměle zvýšenou administrativní vzdáleností. Hlavní cesta má třeba AD 1, záložní nastavíš AD 5. Dokud hlavní žije (nižší AD), router používá jen ji; záložní „pluje" mimo tabulku. Jakmile hlavní zmizí (typicky spadne rozhraní nebo přestane být dosažitelný její next-hop – statika sama žádný „tep" nemá), do tabulky naskočí ta záložní a provoz teče přes R2. Je to jednoduchá záloha bez dynamického protokolu – levné a předvídatelné.
Krok za krokem
- Hlavní cesta přes R1 (AD 1). Záložní přes R2 má vyšší AD 5 → zatím se nepoužije.
- R1 spadne. Hlavní cesta (AD 1) zmizí z tabulky.
- Do tabulky naskočí floating static (AD 5) a provoz teče přes R2. Záloha bez dynamiky.
Stub vs tranzitní router
Kdy stačí jen default a kdy ne? Záleží na roli routeru. Stub (koncový) router má jen jednu cestu ven a za sebou jen „svoje" sítě – tomu bohatě stačí default route (vše neznámé pošli ven). Tranzitní router naopak propojuje víc sítí mezi sebou a provoz jím protéká různými směry – ten musí znát konkrétní cesty do všech těch sítí (default by poslal všechno jedním směrem a zbytek by neviděl). Stejná krabička, jiná role = jiné nároky na tabulku. Proto se ve velké síti kombinuje default (na okraji) s dynamickým routingem (uvnitř).
Krok za krokem
- Stub router: jen jedna cesta ven, za sebou svoje sítě. Default route bohatě stačí.
- Tranzitní router: propojuje víc sítí, provoz protéká různě. Default nestačí.
- Proto se kombinuje: default na okraji, dynamický routing (OSPF) uvnitř. Role určuje tabulku.
Lekce 5: Redundance první brány
Problém jediné brány
Koncová zařízení mají v nastavení jednu výchozí bránu (jednu IP routeru). To je ale jediný bod selhání: když ten router spadne, celá síť ztratí cestu ven – i kdyby vedle stál druhý, záložní router. Klienti totiž znají jen tu jednu IP a ručně ji přepisovat na stovkách PC nejde. Potřebujeme, aby dva routery vystupovaly navenek jako jedna brána a tiše se mezi sebou střídaly. Přesně to řeší FHRP (First-Hop Redundancy Protocol) – další modul (HSRP/VRRP).
Krok za krokem
- PC má nastavenou jednu bránu = IP R1. Veškerý provoz ven jde přes R1.
- R1 spadne → PC ztratí bránu. Vedle je R2, ale PC o jeho IP neví. Ručně přepsat stovky PC? Ne.
- Potřebujeme, aby se dva routery tvářily jako jedna brána a zálohovaly se. To je FHRP – další modul.
HSRP a VRRP
HSRP (a jeho otevřená obdoba VRRP) udělá z dvou routerů jednu virtuální bránu. Vytvoří virtuální IP a virtuální MAC, kterou klienti dostanou jako výchozí bránu – a netuší, že za ní stojí dva fyzické routery. Jeden je active (přeposílá provoz), druhý standby (čeká). Kdo je active, určí priorita (vyšší číslo vyhrává). Oba si posílají krátké hello; když active utichne, standby během pár sekund převezme tutéž virtuální IP i MAC. Pro klienty se nic nezměnilo – brána „je pořád stejná". Výpadek routeru bez výpadku sítě.
Krok za krokem
- R1+R2 sdílí virtuální IP+MAC 10.0.0.1. R1 je active (vede provoz), R2 standby.
- PC má jako bránu tu virtuální IP. Netuší, že jsou tam dva routery – mluví „s bránou".
- R1 spadne → R2 během pár sekund převezme tutéž virtuální IP+MAC. Pro PC se nic nezměnilo. Žádný výpadek.
Rozložení zátěže a tři redundance
HSRP/VRRP mají jeden „nedostatek": standby router jen čeká a nic nedělá – plýtvání. Existují varianty, které umí i rozkládat zátěž mezi obě brány (např. GLBP): provoz klientů se rozdělí (v praxi má GLBP jednu virtuální IP bránu, ale na ARP dotazy „kdo má IP brány?" odpovídá střídavě různými virtuálními MAC adresami – různí klienti tak míří na různé fyzické routery), takže oba routery pracují zároveň a po výpadku jednoho převezme druhý. Pozor ale, ať to nepleteš: tohle je redundance první brány (kam pošlu paket ven z mé sítě) – něco jiného než redundance cesty uvnitř (to řeší OSPF z kurzu OSPF do hloubky) nebo redundance linky na L2 (STP z kurzu Redundance a Spanning Tree). Každá vrstva má svou zálohu; dohromady drží síť nahoře.
Krok za krokem
- U HSRP standby jen čeká. Druhý router se nevyužije. Škoda výkonu.
- GLBP rozdělí provoz → oba routery vedou zároveň a po výpadku jednoho převezme druhý.
- Nepleť tři redundance: brána (FHRP), cesta (OSPF), linka (STP). Každá jinou úroveň.
Lekce 6: Zabezpečení routeru
Control plane vs data plane
U bezpečnosti routeru je klíčové rozlišit dvě roviny. Data plane (datová rovina) = tranzitní provoz, který routerem jen protéká z jedné sítě do druhé. Control plane (řídicí rovina) = procesy samotného routeru: routovací protokoly (OSPF), správa (SSH), ARP… tedy provoz mířený na router. Proč to oddělovat? Protože útok na control plane (zahltit router falešnými OSPF/ARP/management pakety) může shodit jeho „mozek", i když datová rovina by jinak zvládla provoz. Obrana se jmenuje CoPP (Control Plane Policing) – omezí, kolik provozu smí dorazit na řídicí rovinu, aby ji nikdo nezahltil.
Krok za krokem
- Data plane: provoz routerem jen protéká (PC → internet). To je jeho každodenní práce.
- Control plane: provoz pro router samotný – jeho „mozek" (routovací protokoly, správa).
- Útok zahltí control plane falešnými pakety → router „zamrzne". Obrana: CoPP omezí provoz na mozek.
ACL na rozhraní
Nejběžnější filtr na routeru je ACL (Access Control List) – seznam pravidel „povol/zakaž" podle zdroje, cíle, protokolu a portu (znáš z kurzů Switching a VLANy a Zabezpečení sítě). Na routeru je ale důležité kam a kam ho dáš: ACL se přiřadí na konkrétní rozhraní a na směr – in (provoz přicházející do rozhraní) nebo out (odcházející ven). Stejná pravidla na špatném směru nechytnou nic, nebo zařežou i to, co nemají. Pravidlo z praxe (pro rozšířené ACL, které filtrují i podle cíle a portu jako tady): filtruj co nejblíž zdroji (zahoď nežádoucí provoz hned, ať zbytečně neputuje sítí). A nezapomeň – na konci ACL je skryté „zakaž vše".
Krok za krokem
- ACL přiřadíš na konkrétní rozhraní a směr: in (do rozhraní) nebo out (ven).
- Pravidlo praxe: filtruj co nejblíž zdroji – nežádoucí provoz zahoď hned, ať neputuje sítí.
- A pozor: na konci ACL je skryté „deny all". Co žádné pravidlo nepovolí, propadne a zařízne se.
Anti-spoofing a bezpečná správa
Dotáhneme zabezpečení routeru. Anti-spoofing: útočník rád falšuje zdrojovou IP, aby se schoval nebo prošel filtrem. uRPF (Unicast Reverse Path Forwarding) to chytí – u příchozího paketu ověří, jestli by router tou samou cestou poslal odpověď zpět na onu zdrojovou IP; když ne, je to zřejmě podvrh a paket zahodí. A bezpečná správa: na router se přihlašuj jen šifrovaně přes SSH (nikdy Telnetem – ten posílá heslo čitelně), používej silné přihlášení (AAA) a vypni nepoužívané služby. Router je brána i mozek sítě – kdo ovládne router, ovládne provoz.
Krok za krokem
- Útočník pošle paket s falešnou zdrojovou IP (schová se / obejde filtr).
- uRPF ověří: vrátil bych odpověď na tu zdrojovou IP stejnou cestou? Když ne → podvrh, zahodit.
- A spravuj router jen přes SSH (ne Telnet – ten posílá heslo čitelně), se silným přihlášením. Router ovládá celý provoz.
Lekce 7: Router v praxi a syntéza
VRF: oddělené tabulky
Pokročilá vychytávka: VRF (Virtual Routing and Forwarding). Jeden fyzický router umí držet víc oddělených routovacích tabulek najednou – jako by se z něj stalo několik nezávislých virtuálních routerů. Provoz v jedné VRF o ostatních vůbec neví, ani když používají stejné IP rozsahy. Využití: poskytovatel obslouží víc zákazníků jedním routerem, aniž by si viděli do sítí; nebo firma oddělí např. provozní síť od kamerové. Je to segmentace na L3 – obdoba toho, co VLANy dělají na L2.
Krok za krokem
- Jeden fyzický router. Normálně má jednu routovací tabulku pro všechno.
- S VRF drží víc oddělených tabulek – tady VRF-A i VRF-B se stejným rozsahem, a nevidí na sebe.
- Je to segmentace na L3 – víc zákazníků/sítí na jednom routeru bez vzájemného přístupu. Obdoba VLAN.
Monitoring a logování
Aby síť šla spravovat a ladit, router umí o sobě reportovat. SNMP sbírá stav a metriky (vytížení rozhraní, CPU, výpadky) do centrálního dohledu. Syslog posílá logy událostí (kdo se přihlásil, co spadlo) na log server – ideálně do SIEM z kurzu Pokročilá bezpečnost. A NetFlow reportuje kdo s kým a kolik komunikoval (toky), což se hodí pro kapacitu i bezpečnostní analýzu (neobvyklé toky = podezření). Bez monitoringu jsi v síti slepý: nevíš, co se děje, dokud to nespadne. Tohle je každodenní provozní realita.
Krok za krokem
- Router reportuje stav a logy (SNMP, Syslog) na centrální dohled – ideálně do SIEM.
- NetFlow hlásí toky – kdo s kým a kolik. Pro kapacitu i bezpečnost (neobvyklý tok = podezření).
- Bez monitoringu nevíš, co se v síti děje, dokud to nespadne. Proto je to provozní nutnost.
Kompletní router a co dál
Shrňme router do hloubky. Rozebrali jsme routovací tabulku (connected/static/dynamic, administrativní vzdálenost, longest prefix), jak router zpracuje paket (next-hop, ARP, TTL, ICMP), typy NAT/PAT a port forwarding, default a floating cesty, redundanci první brány (HSRP/VRRP), a bezpečnost (control vs data plane, ACL, uRPF, SSH, VRF, monitoring). Router je křižovatka i mozek sítě – a teď víš, jak rozhoduje i jak ho ochránit. Tím máš celý hloubkový rozbor prvek po prvku (switch → router → firewall) a kompletní obrázek moderní sítě.
Krok za krokem
- Router rozhoduje podle tabulky (nejdelší prefix → AD → metrika), pak next-hop, ARP, TTL.
- Umí NAT/PAT, default i floating cesty a redundanci první brány (HSRP/VRRP).
- A zabezpečený (plane, ACL, uRPF, SSH). Tím je hloubkový rozbor prvek po prvku kompletní: switch → router → firewall.