Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
V dnešním díle bychom si měli podrobněji rozebrat nastavení routeru a ukázat si, jak se pracuje s jednou minidistribucí určenou právě k provozování routeru.
V minulých dílech jsem si o DMZ řekli něco málo obecně, prošli jsme si i
modelové topologie sítí, proto si myslím, že byste si určitě měli přečíst i
minulé díly (pokud jste tak již neučinili
).
Hned na úvod bych chtěl podotknout, že routování je opět docela velké téma, o kterém by se toho dalo napsat hodně. Doufám, že tento článek bude obsahovat alespoň to základní (poznámky, připomínky a případné otázky prosím pište v diskuzi, pokusím se na ně odpovědět).
Takový linuxový router je, co se peněz týče, poměrně levná záležitost. Bude vám na něj stačit nějaký stařičký počítač (klidně i 486 či nějaké staré Pentium) a libovolná distribuce Linuxu. Můžete použít běžnou distribuci (RedHat, Debian atd.), kterou patřičně "ořežete" a necháte v ní jen to, co je potřeba. Nebo můžete použít speciální minidistribuci. Poměrně zajímavý je projekt LRP - Linux Router Project, což je distribuce na jednu disketu (!). Jak se s ní pracuje si řekneme dále.
Nejprve si, ale (opět trošku obecněji) projděme základní nastavení sítě v Linuxu (pozn. vše, co se netýká LRP, jsem testoval v distribuci RedHat 7.3, takže doufám, že vše bude podobně fungovat i jinde).
V mnoha UNIXech každé síťové rozhraní má svůj "soubor" v adresáři
/dev. V Linuxu tomu tak není; každé síťové zařízení je
vytvářeno dynamicky v softwaru, který jej momentálně potřebuje (není tedy
reprezentováno patřičným "souborem zařízení").
Prvním předpokladem úspěchu je mít funkční síťovou kartu. Pokud máte
nějakou běžnou síťovku a originální jádro z vaší distribuce, tak by to
většinou neměl být problém. Jestli vaše jádro s kartou spolupracuje
si můžete ověřit při startu systému ve výpisech z jádra nebo pokud to
nestihnete zkuste příkaz dmesg | grep eth0 (příp.
eth1 ...). Pokud je vše v pořádku, tak se vám může zobrazit
třeba něco takového:
eth0: VIA VT6102 Rhine-II at 0xf0000000, 00:c0:9f:18:dc:b1, IRQ 11.
eth0: MII PHY found at address 1, status 0x7809 advertising 01e1 Link 0000.
Ještě podotknu, že pro projevení se změn není třeba restart počítače, vše bude fungovat buď ihned nebo stačí restartovat službu network např. takto:
# service network restart
nebo
# /etc/init.d/network restart
Dále si můžeme (pokud to již nemáme z dřívějška) nastavit jméno počítače
a to příkazem hostname:
# hostname router
Pro další nastavení sítě můžete v RedHatu použít program
/usr/bin/netconfig, pomocí něhož nastavíte např. IP adresu,
masku sítě, DNS server atd. a který vypadá asi tak jako vidíte na
obrázku:

My si ale ukážeme jak se vše nastaví pomocí příkazového řádku a konfiguračních souborů.
Základním nástrojem (příkazem) pro nastavování IP adresování ve většině
distribucí Linuxu je ifconfig. Základní tvar tohoto příkazu
je:
ifconfig zařízení adresa volby
Samotný příkaz ifconfig nám vypíše aktuální stav. Tento
příkaz má spoustu voleb. Pokud vás budou zajímat i jiné než ty, o kterých
bude řeč, tak zkuste obvyklé man ifconfig.
Nejdříve si nastavíme tzv. rozhraní "loopback" (česky se překládá jako "místní smyčka") Loopback je speciální rozhraní, které umožňuje síťové připojení ke svému vlastnímu počítači. Je mu vyhrazena IP adresa 127.0.0.1. Konfigurace tohoto rozhraní je jednoduchá, stačí napsat:
# ifconfig lo 127.0.0.1
Nyní již přejdeme k síťové kartě, příklad nastavení může vypadat třeba takto:
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
Tento příkaz nastaví IP adresu a masku podsítě, systém si sám odvodí adresu pro všesměrové vysílání (broadcast), která bude 192.168.1.255. Pokud byste někdy chtěli rozhraní eth0 deaktivovat použijte příkaz:
# ifconfig eth0 down
Podobně bychom nastavili všechna ostatní síťová rozhraní (v případě routeru musíte mít minimálně dvě).
To, co jsme teď provedli, má jednu chybu: po restartu o veškeré
nastavení přijdeme. Proto v případě, že všechno funguje (základní
diagnostickou utilitou je ping) je třeba vše zapsat do patřičných
konfiguračních souborů. Je ještě možnost příkazy ifconfig ...
zapsat do nějakého rc.X sktriptu, ale není to moc používané ani elegantní
(ale fungovalo by to
).
Nastavení síťového rozhraní:
/etc/sysconfig/network-scripts/ifcfg-*
Jméno stroje (hostname) a výchozí brána: /etc/sysconfig/network
Nastavení síťového rozhraní a routování:
/etc/network/interfaces
Můj soubor ifcfg-eth0 vypadá třeba takto:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
Obdobně nastavíme i soubory pro ostatní rozhraní (např. ifcfg-eth1).
Samotný routovací proces je relativně jednoduchý. Příchozí paket je porovnán s údaji v routovací tabulce a podle toho, který údaj je nejpřesnější, tak na to rozhraní je paket následně odeslán. A právě aby toto mohlo fungovat je potřeba mít správně nastavenou routovací tabulku. K tomu je používán speciální příkaz, který zadané argumenty převádí na volání jádra, které potom samotné routování provádí. Tento příkaz se jmenuje route. Obecný tvar tohoto příkazu je:
route prikaz typ cilsit netmask maska gw brana dev dn
Výpis routovací tabulky můžete získat např. pomocí příkazu:
# /sbin/route -n
parametr "-n" zajistí, že se nebudou převádět IP adresy na jména (čili nepotřebujeme funkční DNS), výsledek může vypadat nějak takto:
| Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
| 192.168.1.0 | 0.0.0.0 | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
| 127.0.0.0 | 0.0.0.0 | 255.0.0.0 | U | 0 | 0 | 0 | lo |
| 0.0.0.0 | 192.168.1.254 | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
| Flags |
Shrnutí stavu spojení, písmena znamenají: U     spojení je aktivní (UP) H     cíl představuje hostitelský počítač G     cíl představuje bránu (Gateway) |
| Metric | Vyjadřuje délku trasy, má smysl u systémů, kde lze do jednoho cíle dojít několika cestami (viz. náš druhý příklad). Trase s nižší metrikou se obvykle dává přednost. Tyto informace nevyužívá samotné jádro, ale některé routovací protokoly (např. OSPF). |
| Ref | Počet referencí na tuto trasu, informaci opět nepoužívá jádro Linuxu, ale uvádí se protože ji mohou využívat jiné operační systémy. |
| Use | Počet úspěšných hledání ve vyrovnávací paměti tras. Hodnotu lze zobrazit zadáním příkazu route -F. |
Nejlépe asi bude vše si demonstrovat na příkladech. Nejdříve si představme malou ethernetovou síť, kde nám router spojuje pouze lokální síť LAN a internet (pochopitelně na takovém routeru by běžela spousta jiných věcí jako např. proxy server, firewall, možná mail server atd., ale o to nám teď nejde). Protože je to síť malá, používáme statické routování a IP adresy třídy C.

Pro směrování paketů do lokální sítě na routeru nastavíme:
# route add -net 192.168.1.0 netmask 255.255.255.0
eth0
A pro připojení na internet (místo eth1 bychom v malé síti
mohli použít třeba ppp0):
# route add default eth1
Na pracovních stanicích v síti LAN je potřeba nastavit:
# route add default gw 192.168.1.1 eth0
Tím určíme, že pakety, které nemají adresu v místní síti, se budou posílat na router (který je pak předá dál na internet).
Ve druhém příkladě již budeme mít síť větší, s několika routery, a proto bude pro nás výhodné použít tzv. dynamické routování, ke kterému používáme démona routed, jež je součástí balíčku NetKit, a který zajišťuje dynamické routování s pomocí protokolu RIP, tzn. v případě výpadku jednoho z routerů jsou aktualizovány všechny ostatní a pakety mohou putovat jinou cestou.
Třídu IP adresy si zvolíme podle potřeby (podle velikosti sítě), pro ilustraci použiji opět třídu C.

Na každém routeru musíme provést pouze dva příkazy, takže např. na routeru 1 provedeme:
# route add -net 192.168.1.1 netmask 255.255.255.0 eth0
# /usr/sbin/routed
Obdobně nastavíme i router 2, 3 a 4. Poté už by se měl démon routed postarat o všechno ostatní. Při spuštění automaticky nalezne všechny aktivní síťové porty a odesílá a přijímá zprávy na každé síťové zařízení, aby bylo možné určit a aktualizovat routovací tabulku na všech routerech. Tohle je velice důležité, protože v případě selhání jednoho routeru se automaticky aktualizují tabulky a pakety mohou putovat jinou cestou.
Na routeru 1 by bylo ještě potřeba nastavit NAT (stejně tak na routeru v prvním příkladu), ale tomu se budeme věnovat v některém z příštích dílů společně s paketovými filtry.
Protože je defaultně zakázáno předávání (přeposílání) paketů, je nutné toto povolit příkazem:
# echo "1" > /proc/sys/net/ipv4/ip_forward
Tento příkaz musíme zadat do nějakého rc skriptu (např.
/etc/rc.d/rc.local), aby se provedl při každém startu, nebo
můžeme editovat soubor /etc/sysctl.conf, řádek "Controls IP
packet forwarding".
Tolik tedy k nastavení routování pod "normální" distribucí Linuxu, nyní přejdeme k něčemu speciálnímu.

Jedna velmi zajímavá minidistribuce, která má své kořeny v distribuci Debian, a kterou můžete použít na váš router. Nejzajímavější na ní je to, že se vejde na jednu disketu (můžete samozřejmě použít i např. ZIPku nebo HDD). Pokud si chcete tuto distribuci vyzkoušet, tak na adrese www.linuxrouter.org najdete odkazy na ftp servery, ze který si můžete stáhnout zabalený "image" diskety, a poté jej např. takto "nakopírovat" na disketu:
# gunzip idiot-image_1440KB_FAT_2.9.8_Linux_2.2.gz
# dd if=idiot-image_1440KB_FAT_2.9.8_Linux_2.2 of=/dev/fd0
Pak již stačí jen restartovat počítač a nechat jej z této diskety nabootovat. Je asi jasné, že tak malá distribuce nebude příliš hardwarově náročná, v dokumentaci můžete najít následující příklady použitého hardwaru:
Ne, že by jste s podobnými staříčky nemohli provozovat nějakou klasickou
distribuci, ale museli byste ji pořádně ořezat (a možná nejlépe připravit
na jiném stroji) a navíc byste potřebovali HDD
. Výhodou může být i to,
že váš systém poběží z "read-only media" a také to, že v tak malém systému
je jen to, co je nezbytně nutné, tzn. žádné zbytečně běžící služby a
programy, které zvyšují bezpečnostní riziko.
To, co chvíli vypadá jako výhoda, se rázem stává nevýhodou, takže jeden
z problémů, na který byste mohli narazit, je nedostatečná kapacita diskety.
Zvláště v případě, kdy budete chtít využít možnost do systému doinstalovat
např. DHCP, SSH či PortSentry (bezpečnostní utilita, která vás upozorní v
případě, že vám někdo zkouší skenovat porty) atd. V takovém případě si buď
můžete sehnat HDD (někde na smetišti dějin, třeba 100 MB
), či
naformátovat běžnou disktetu až na 1680 KB (jak to udělat je popsáno v
dokumentaci).
Pojďme si říci jak to vlastně funguje. Bootovací médium (v našem případě
disketa) obsahuje linuxové jádro (pomocí LRP patches lze vytvořit LRP
kernel z normálního kernelu), při bootování je obsah rozbalen do paměti
resp. do ramdisku (/dev/ram0) a pak je ramdisk připojen jako
kořenový disk (/), systém nadále samozřejmě běží v paměti. Je logické, že
všechny změny, které provedete je potřeba zapsat na disketu, protože jinak
byste o ně při restartu přišli. Toto lze provést jak pomocí jednoduchého
menu, které se vám zobrazí po nabootování, tak i automaticky v
určitých nastavených intervalech (ztráta všeho nastavení po restartu může
být i výhodou, pokud něco nastavíte špatně, tak pokud jste již neprovedli
zálohu, stačí restart a máte "čistý systém").
Po spuštění se přihlaste jako root, heslo je zatím prázdné (doporučuji
ihned nastavit pomocí příkazu passwd). Poté by se vám mělo
objevit "Linux Router Project - configuration menu", pomocí kterého
se dá vše celkem pohodlně nastavit, a také je v něm důležitá položka a to
"Back-up ramdisk". Pokud z něj vyskočíte (klávesa "q"), můžete se do něj
zpět vrátit příkazem lrcfg.
Nějaké konkrétní podrobnosti zde uvádět nebudu, protože možností je opravdu mnoho, takže doporučuji si pročíst dokumentaci, kterou můžete najít třeba na této adrese. Navíc jsou všechny konfigurační soubory samozřejmě okomentovány.
LRP není jediná minidistribuce určená k provozování routeru, takže pokud vy používáte nebo znáte jinou, tak budu rád, když se podělíte o zkušenosti v diskuzi.
Tolik tedy dnes, v příštích dílech seriálu se začneme zabývat firewally.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Ale u point to point spojeni (treba ppp) je to vcelku bezne ('route add default ppp0').