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).
Cílem tohoto článku je vysvětlit, jak na to. V našem případě se jedná o kombinaci Linux, routovací démon quagga a protokol OSPF. Není mou snahou dopodrobna ihned rozpitvat všechny pojmy, ale rád bych čtenářům vysvětlil, jak začít, a třeba postupně se i ke složitějším situacím a řešením dopracoval.
Název znamená Open Shortest Path First a jedná se protokol používaný pro interní routování uvnitř autonomního systému (AS). Autonomním systémem může být např. infrastruktura ISP - linky po republice nebo v menším měřítku například wifi síť v nějaké lokalitě. OSPF a dynamické routování obecně se používá v případech, kdy se cesta ven (default route) dá uskutečnit více než jednou trasou. V praxi to znamená v podstatě ten příklad s jízdou autem. OSPF je tzv. link-state protokol, pomocí kterého si sousední routery prostřednictvím hello paketů vyměňují informace o stavu linek, a každý z routerů v dané oblasti (area) zná celou topologii sítě. Výchozí konfigurace je hello paket jednou za 10 sekund, a pokud nepřijde žádná odezva do 40 sekund, vyprší dead interval a linka je prohlášena za mrtvou. Poté následuje přepočet a router hledá cestu jinudy, nezapomene však informovat všechny své sousedy (neighbor). Proces OSPF zjištěné informace předá démonu zebra, který již kernelu řekne novou default routu a routy přijaté od sousedů.

Na obrázku je vidět situace, kdy router A je tzv. hraničním routerem v oblasti, routery B a C jsou routery v různých lokalitách této oblasti. Z obrázku rovněž vyplývají možné cesty ven. V tomto případě se tedy quagga postará o to, že router A bude propagovat ostatním routerům sebe jako default routu. Pomocí cost můžeme určit "cenu" linky a tím určit i preferovanou trasu, nebo můžeme traffic rovnoměrně rozprostřít (load balancing, equal cost multipath) a nechat jej téct více směry. Dokonce můžeme zařídit, že směr ven půjde jinou cestou než směr dovnitř. V našem případě použijeme na všech spojnicích cost 100, tedy všechny tři linky jsou kvalitativně stejné. Neurčujeme žádnou preferovanou trasu. Platí princip, že čím menší cost, tím kvalitnější linka a má přednost. V případě poruchy linky např. mezi routerem A, B se tedy nastaví na routeru B default routa přes C s costem 201 a rovněž cost na router A bude 200. Na routeru A bude cost na router B 200 a trasa bude přes router C. Samozřejmě, že se vzájemně vypropagují i routy na sítě BB a CC. Pro všechny případy je nutné vypnout na routerech RP Filter, aby routerům nevadilo, že odpověď na paket odeslaný jedním rozhraním může přijít z jiného:
#!/bin/bash for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "0" > $i; done echo "1" > /proc/sys/net/ipv4/conf/lo/rp_filter
V tomto případě jsou mezi jednotlivými routery použity spojovací sítě /30 (4 adresy). Za routery B a C jsou v sítích BB a CC koncoví uživatelé, kteří mají default routu nastavenu na router B resp. C.
Na routerech B a C nenastavovat default routu. Ta bude nastavena právě díky OSPF podle výpočtu nejkratší trasy. O komunikaci s kernelem a mj. i nastavení default routy se přes rozhraní Netlink postará démon zebra. V tomto konfiguračním souboru je třeba nastavit název, heslo, heslo pro pokročilé funkce, vyjmenovat interface, případně vyjmenovat statické routy. Na hraničním routeru (v našem případě router A) by zde měla být i default routa směrem ven.
zebra.confhostname router password nejakeheslo enable password nejakejineheslo log file /dev/null service advanced-vty !debug zebra events !debug zebra kernel ! interface lo ! interface eth0 ! interface eth1 ! interface eth2 !
Konfigurace OSPF démona je o něco složitější, ale nic záludného to není. Opět zde nastavíme hostname, obě hesla, poté se vyjmenují interface, na kterých se má OSPF používat, a nakonec globální nastavení včetně pokročilých nastavení.
ospfd.conf! Jmeno routeru hostname router ! Heslo pro vzdaleny vty pristup (konzole) password nejakeheslo ! Heslo pro prechod do rozsireneho modu v quagga shellu (konzoli) enable password nejakejineheslo ! Kam logovat (doporucuji po odladeni /dev/null, nebot zebra a ospfd ! na disk chrli mega a mega logu) log file /dev/null ! Povolit funkce rozsireneho virtual-terminalu (konzole) service advanced-vty ! ! Co logovat !debug ospf ism !debug ospf zebra ! ! Loopback interface lo description system loopback ! ! Prvni sitovka zakomentovana, do internetu nebudeme vysilat OSPF !interface eth0 ! ! Druha sitovka interface eth1 description smer router A ip ospf cost 100 ip ospf dead-interval 40 ip ospf hello-interval 10 ! ! Treti sitovka interface eth2 description smer router C ip ospf cost 100 ip ospf dead-interval 40 ip ospf hello-interval 10 ! ! ! Konfigurace ospfd router ospf ! ID-routeru (napr. IP adresa) ospf router-id 10.10.10.1 redistribute connected metric-type 1 redistribute static metric-type 1 ! network 10.0.0.0/24 area 0 network 10.0.1.0/24 area 0 network 10.0.2.0/24 area 0 ! !tohle jen na hranicnim routeru (router A) - propagovani default routy default-information originate always metric-type 1
Díky těmto nastavením a OSPF se na router A vypropagují i statické routy na sítě BB a CC z routerů B a C a rovněž mezi B a C si vzájemně předají routy na BB a CC.
Důležité:
Sousedi musí mít vzájemně shodné nastavení intervalů pro hello pakety a dead interval, jinak se spolu nedomluví. Rovněž router-id musí být v celé OSPF síti unikátní, jinak se ospf proces bude chovat velice divně, pokud náhodou úplně nezkolabuje. Toto bývají jedny z nejčastějších chyb, proto si své konfigurační soubory důkladně přečtěte a možné překlepy opravte.
Adresát Brána Maska Přízn Metrik Odkaz Užt Rozhraní 10.0.0.0 0.0.0.0 255.255.255.252 U 0 0 0 eth0 10.0.0.4 0.0.0.0 255.255.255.252 U 0 0 0 eth1 10.0.2.0 10.0.0.6 255.255.255.0 UG 100 0 0 eth1 10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 10.0.0.1 0.0.0.0 UG 101 0 0 eth0
Pomocí metrik se vypočítává nejkratší cesta a z výpisu je poznat, že routy označené metrikou nastavila zebra. Ještě lépe je to vidět, použijete-li příkaz ip route, např. pro routu do sousední sítě:
10.0.2.0/24 via 10.0.0.6 dev eth1 proto zebra metric 100
Démony zebra i ospfd lze během provozu ovládat přes konzoli (quagga shell, vty). Ve výše uvedeném nastavení budou poslouchat pouze na loopbacku. Přihlášení lze provést pomocí telnetu, přičemž zebra poslouchá na portu 2601 a ospfd na portu 2604. Podrobnostem se budu věnovat později.
Kdo umí routovat staticky a chápe základní principy, tomu by nemělo dynamické routování pomocí OSPF činit vážnější potíže. To by bylo pro začátek vše, teď by bylo dobré trošku si zaexperimentovat, ať není jen teorie. To už je ale na každém z vás. Pokud bude zájem, rád bych se rozepsal podrobněji například o věcech jako je route-mapa, quagga vty shell, zabezpečení komunikace, propojení se snmp včetně posílání trapů a složitějších topologiích a situacích, včetně různých úskalí přechodu od statického routování k dynamickému.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Pokud bude zájem, rád bych se rozepsal podrobněji například o věcech jako je route-mapa, quagga vty shell, zabezpečení komunikace, propojení se snmp včetně posílání trapů a složitějších topologiích a situacích, včetně různých úskalí přechodu od statického routování k dynamickému.Per to do nás
ip route 10.0.0.0/8 reject ip route 192.168.0.0/16 reject ip route 172.16.0.0/12 rejectPouzivani OSPF je dobry uz jen proto, ze po kazdy zmene nemusi clovek rikat vsem smerovacum cestou, ze pribyl dalsi rozsah a kam mu maj posilat pakety, je uplne fuk ze trebas neexistuje zadna alternativni cesta. BTW: Me osobne by zajimalo, jestli se nekomu povedlo rozchodit Router Advertisement (http://www.quagga.net/docs/docs-info.php#SEC140). Pokud dobre chapu, melo by to delat totez, co radvd, ale me to proste nefunguje. 2redakce: spravte si web, nefuguje vam to bez cookies.
interface eth0 ipv6 address 2001:1508:1710:0007::2/64 no ipv6 nd suppress-ra ipv6 nd prefix 2001:1508:1710:0007::/64 ipv6 nd ra-interval 60v zebra.conf a potom vidite
gateji:~ # radvdump
Router advertisement from fe80::20d:b9ff:fe02:8710 (hoplimit 255)
Received by interface eth0
# Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
AdvCurHopLimit: 64
AdvManagedFlag: off
AdvOtherConfigFlag: off
AdvHomeAgentFlag: off
AdvReachableTime: 0
AdvRetransTimer: 0
Prefix 2001:1508:1710:7::/64
AdvValidLifetime: 2592000
AdvPreferredLifetime: 604800
AdvOnLink: on
AdvAutonomous: on
AdvRouterAddr: off
AdvSourceLLAddress: 00 0D B9 02 87 10
Ma to jednu zasadni chybu, tady totiz chybi adresa routeru, cehoz lze dosahnout teoreticky zadanim prikazu
ipv6 nd prefix 2001:1508:1710:0004::/64 router-addressale to mi quagga ze stable debianu nesezere. ale situace speje k dhcp6, protoze takle lidem nedate furu informaci, ktere celkem potrebuji, hlavne DNS. Moje zakladni zkusenost je takova, ze zebra nevidi adresy, ktere sama nenastavila, takze kompletni konfiguraci IPv6 rozhrani delam ze zebra.conf.
s/dopracoval/dopracovat/