Databáze DuckDB (Wikipedie) byla vydána ve verzi 1.5.0. S kódovým názvem Variegata (husice rajská). Přináší řadu vylepšení, včetně nového ergonomičtějšího CLI klienta nebo podporu pro typ VARIANT a vestavěný typ GEOMETRY.
V pátek 6. a sobotu 7. března proběhl v pražském sídle Nejvyššího kontrolního úřadu (NKÚ) Hackathon veřejné správy 7.1. Publikovány byly vytvořené aplikace. V kategorii projektů rozvíjených z krajského kola zvítězil tým „Mackokládi“. Čtyři středoškoláci ze Dvora Králové uspěli s aplikací KompaZ. Jde o digitálního průvodce, který pomůže s rychlou a srozumitelnou orientací v životních i krizových situacích „krok za krokem“. Aplikace
… více »QGIS, svobodný desktopový GIS, byl vydán v nové hlavní verzi 4.0. Změny zahrnují několik nových analytických a editačních funkcí, rozšíření podpory 3D, více možností úprav uživatelského rozhraní či mnoho dalších zlepšení použitelnosti. Řada 3.44 má aktualizace plánovány do září.
Dan Blanchard vydal knihovnu pro Python chardet v nové verzi 7.0.0. S novou verzí byla knihovna přelicencována z LGPL na MIT. Souhlasili s tím všichni přispěvatelé? Dan Blanchard souhlasy vůbec neřešil. Zaúkoloval umělou inteligenci (Claude), aby knihovnu zcela přepsala a výslovně jí nařídil, aby nepoužila žádný LGPL kód. Dan Blanchard tvrdí, že se jedná o clean room design. Protistrana argumentuje, že umělá inteligence byla trénována
… více »Andy Nguyen si na svou herní konzoli PlayStation 5 (PS5) pomocí exploitu Byepervisor nainstaloval Linux (Ubuntu). V Linuxu si spustil Steam a PS5 tak proměnil v Steam Machine. Na PS5 může hrát hry, které jsou vydané pouze pro PC a jsou na Steamu [Tom's Hardware].
Správce sbírky fotografií digiKam byl vydán ve verzi 9.0.0. Jedná se o větší vydání provázené aktualizacemi knihoven. Mnoho dílčích změn se vedle oprav chyb týká uživatelského rozhraní, mj. editace metadat.
Byla vydána verze 2026 distribuce programu pro počítačovou sazbu TeX s názvem TeX Live (Wikipedie). Přehled novinek v oficiální dokumentaci.
Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Routujeme-li staticky z místa A do místa B přes několik routerů (C,D,E), je třeba, aby po celé cestě routery věděly, kam mají posílat který segment a kam vede výchozí routa. Snadno se pak může stát, že na některém routeru po cestě můžeme zapomenout přidat routu a problém je na světě. Použijeme-li ovšem dynamické routování, začneme řešit zcela opačný problém. Routery si mezi sebou "vykecají" všechno, co jim nezakážeme. Příkladem mohou být např. dohledové adresy a tunely z privátních rozsahů, které nechceme, aby se míchaly mezi ostré. Toto zajistí mechanismus route-map, kde můžeme definovat, jaké rozsahy adres, jaké routy propagovat a jaké naopak nepropagovat na sousední OSPF routery. Route-map je však mnohem mocnější nástroj, nicméně v našem dalším příkladu si ukážeme jednodušší věci.
Schéma:

Máte zákazníka, který má dvě pobočky, a vyžaduje vysokou dostupnost služeb. V jedné lokalitě již má dvě ostré adresy a ve druhé jednu. Tyto adresy jsou svázány s VPN do zahraničí, a proto si je přeje zachovat. Nejjednodušší by bylo před routery zákazníka vložit ještě další routery, které by se právě o zaokrouhlování staraly. Protože jsou ale oba routery u zákazníka ve vaší správě, můžeme přidat další rozhraní a uzavřít okruh přímo na nich. Protože se na těchto routerech původně jen prováděl NAT a spojení VPN, na některých rozhraních musí být privátní adresy. Tady se dostává ke slovu route-map, pomocí které je třeba zakázat propagaci těchto privátních adres na další OSPF routery. Na jaké rozhraní ale umístit původní ostré adresy? K tomu použijeme zařízení dummy. Je-li v jádře jako modul, nezapomeňte na:
modprobe dummy
Téměř všechna práce se dá udělat na dálku (tedy kromě zapojení dalšího kabelu a uzavření okruhu). Nejdříve je vhodné začít nahozením nových spojovacích adres mezi všemi třemi routery. Poté je třeba shodit výchozí routu a přesunout původní ostré adresy na zařízení dummy. Adresy nastavte v masce /32 např.:
ip add add 177.104.252.130/32 brd + dev dummy0
Nahozením IP adresy na dummy zařízení získáte možnost přihlášení na router nejvýhodnější možnou cestou (myšleno z pohledu topologie sítě). Když nemáte výchozí routu, musíte se logovat na routery po spojovačkách od sousedů. Nyní konfigurace OSPF na routeru u zákazníka (vybrané části):
interface dummy0 description dummy ip ospf cost 10 ! ! Konfigurace ospfd router ospf ! ID-routeru (napr. IP adresa) ospf router-id 177.104.252.130 ! redistribute static metric-type 1 redistribute connected metric 100 metric-type 1 route-map zakaznik ! network 177.104.252.160/28 area 21 ! !aclka access-list propaguj deny 192.168.0.0/16 !SPOJOVACKY access-list propaguj permit 177.104.252.160/28 !IP NASE access-list propaguj permit 177.104.252.130/32 ! access-list term permit 127.0.0.1/32 access-list term deny any ! route-map zakaznik permit 10 match ip address propaguj ! !propojeni se snmp smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
V konfiguraci OSPF je třeba v tomto případě v sekci zažízení uvést zařízení dummy0. Dále pomocí access-list zakázat (deny) propagování privátních adres ostatním OSPF routerům. Access-list je poté třeba přidat do route-map a tu aplikovat na distribuování okolním routerům.
redistribute connected metric 100 metric-type 1 route-map zakaznik
V neposlední řadě nesmíme zapomenout upravit NAT privátních adres zákazníka. Protože se odchozí rozhraní bude díky možným dvěma cestám ven měnit, musí se NAT provádět jen na adresu, nesmí se uvádět rozhraní. Mohlo by to vypadat nějak takto:
iptables -A POSTROUTING -t nat -j SNAT -s 192.168.2.0/24 \ --to 177.104.252.130
Stav routeru můžeme sledovat pomocí SNMP a rovněž můžeme dostávat trapy při mimořádných událostech. Pro tento případ je třeba mít spuštěný démon snmpd a v konfiguraci ospfd mít řádek:
smux peer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
Základy SNMP (Simple Network Management Protocol) byly popsány v článku Monitoring pomocí nástrojů z balíku Net-SNMP, kam bych tímto rád nasměroval všechny, kteří zatím SNMP neznají a nepoužívají.
Aby SNMP démon akceptoval propojení s quaggou je třeba v snmpd.conf mít řádek:
smuxpeer .1.3.6.1.4.1.3317.1.2.5 quagga_ospfd
Dále jsem zjistil, že SNMP je velmi háklivé na to, když dotaz přijde na jednu IP adresu, ale odpověď odejde jiným rozhraním a tedy i s jinou zdrojovou adresou. V tomto případě je tedy potřeba ještě SNMP démonu říct, aby poslouchal na jedné adrese:
agentaddress 177.104.252.130
Protože si přejeme být informováni o mimořádných událostech na routeru (nejen OSPF), je třeba v snmpd.conf nastavit, kam posílat SNMP trapy:
trapsink XX.XX.XX.XX
Tímto jsme v podstatě hotovi s konfigurací. Podrobnosti o možnostech SNMP a příslušné mib tabulky naleznete v repozitáři projektu quagga a konkrétní příkladech v dokumentaci.
Po rozběhnutí OSPF okruhu a spuštění quaggy můžete v quagga shellu provádět diagnostiku, ale i kompletní konfiguraci. Výchozí chování je, že do shellu se dostaneme pouze z lokálu. Quagga shell používá analogické příkazy jako např. Cisco. Do shellu se přihlásíme pomocí:
telnet localhost ospfd
pro kongiguraci OSPF procesu, případně
telnet localhost zebra
pro konfigurace statických rout. Tady je na místě malá ukázka. Je-li například k routeru připojen další router, který routuje pouze staticky např. segment osmi adres pro jiného zákazníka, je třeba k němu těch osm adres zaroutovat staticky. To provedeme pomocí zebry. Příklad:
user@zakaznik:~# telnet localhost zebra Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Hello, this is Quagga (version 0.99.4). Copyright 1996-2005 Kunihiro Ishiguro, et al. User Access Verification Password: r1-zak> en Password: r1-zak# con r1-zak# configure r1-zak# configure terminal r1-zak(config)# ip route 185.121.13.0/28 166.125.13.125 r1-zak(config)# write me r1-zak(config)# configuration saved to /etc/zebra.conf r1-zak(config)# q r1-zak# q Connection closed by foreign host.
V příkladu vidíte, že funguje doplňování pomocí tabulátoru. Seznam příkazů naleznete v dokumentaci a můžete si je vyvolat pomocí list. Naprosto stejně se dostanete do shellu pro konfiguraci OSPF. Příklad:
user@zakaznik:~# telnet localhost ospfd
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
r1-zak> en
Password:
r1-zak# sh ip ospf neig
r1-zak# sh ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
177.104.252.129 1 Full/Backup 31.429s 177.104.252.166 eth0:177.104.252.165 0 0 0
177.104.252.132 1 Full/Backup 31.220s 177.104.252.170 eth3:177.104.252.169 0 0 0
r1-zak#
Tímto například zobrazíme seznam sousedů. V tabulce vidíme router-id, prioritu, stav, čas do vypršení dead intervalu, adresu souseda, interface a podrobnosti o sousedství. Opět je vhodné doplňovat pomocí tabulátoru a rovněž pomocí otazníku, ten nám ukáže možné další pokračování. Příklad:
r1-zak# sh ip ospf neighbor ? A.B.C.D Neighbor ID IFNAME Interface name all include down status neighbor detail detail of all neighbors <cr>
Chceme-li například změnit cenu na rozhraní, uděláme to takto:
r1-zak# configure r1-zak# configure terminal r1-zak(config)# inte r1-zak(config)# interface et r1-zak(config)# interface eth r1-zak(config)# interface eth0 r1-zak(config-if)# ip os r1-zak(config-if)# ip ospf co r1-zak(config-if)# ip ospf cost 120 r1-zak(config-if)# q r1-zak(config)# q r1-zak# write me
Doporučuji dokumentaci Quaggy případně Cisco a hlavně zkoušet a nebát se.
Pokud k routeru vede více linek se stejnou cenou (cost) na jiný router a máte v kernelu i v routovacím démonu quagga podporu pro multipath(ecmp), můžete rozlévat traffic do těchto linek - mít více výchozích rout. Rozlévání trafficu funguje per connection, nikoliv per packet. To znamená, že navázané spojení jde stejnou cestou. V kernelu je třeba mít:
CONFIG_IP_ROUTE_MULTIPATH=y
Quaggu je potřeba kompilovat s přepínačem (N je maximální počet cest):
--enable-multipath=N
Pokud se vše zadaří, může výchozí routa vypsaná příkazem ip route vypadat takto:
default proto zebra metric 101
nexthop via 181.192.159.138 dev eth0 weight 1
nexthop via 181.192.159.134 dev eth1 weight 1
Schéma:

Pro zájemce existuje ECMP-Mini-howto v angličtině. Toto howto bylo psáno pro routovací démon zebra, ale protože quagga je fork zebry, je toto howto použitelné i s quaggou.
Pokud se dostanete do situace, že traffic začne zaplňovat kapacitu linky, je třeba provést upřednostňování OSPF protokolu. Může se vám snadno stát, že zahozením hello paketů mezi routery dojde k vypršení dead intervalu a tedy ke shození rout a přepočtu trasy. V detailu OSPF sousedů lze vidět, jak dlouho je navázáno spojení, případně důvod rozpadu (většinou vypršení dead intervalu). Pokud například chceme pakety protokolu OSPF značkovat DSCP značkou, uděláme to takto:
iptables -t mangle -A OUTPUT -p 89 --jump DSCP --set-dscp 0x1a #AF31
Více o DSCP značkách naleznete např. na http://www.cisco.com/warp/public/105/dscpvalues.html. Číslo protokolu získáme z /etc/protocols. Pak již stačí tyto pakety na základě této značky např. na aktivním prvku zpracovávat s vyšší prioritou než neoznačené pakety. Další podrobnosti o řízení trafficu na Linuxu naleznete v dokumentaci balíku iproute2 a např. na http://www.linuxguruz.com/iptables/howto/2.4routing-14.html najdete konkrétní příklad pro upřednostňování označkovaných paketů. Samozřejmě můžete namísto DSCP využít i klasický TOS field u paketů.
OSPF skýtá mnoho možností konfigurace; je třeba studovat dokumentaci a zkoušet. Některé věci ale OSPF z principu neumí. A to je prostor pro BGP. Ale o tom třeba někdy příště.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: