Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »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.conf
hostname 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 10Ma 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/