Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
Původně se měl tento blogpost jmenovat: "Proč spolu openvswitch a systemd neka..?", ale podařilo se mi to lousknout, tak bych tady chtěl popsat v čem spočíval problém, než to - jako obvykle - zapomenu.
U "staršího" clusteru Peanuts, na kterém jsem rozjížděl openvswitch zhruba před necelým rokem, jsem řešil konfiguraci sítě takto...
root@stroj:~# cat /etc/network/interfaces auto eth0 iface eth0 inet manual up ip link set $IFACE up down ip link set $IFACE down auto interni iface interni inet static pre-up service openvswitch-switch start address 10.0.0.214 netmask 255.255.255.0 broadcast 10.0.0.255
Vyžaduje to však aby již byl předem vytvořený bridge interni se "zapojeným" síťovým zařízením eth0:
root@stroj:~# ovs-vsctl show 458eb0ea-1825-40de-8e3b-028ea61c0faf Bridge interni Port interni Interface interni type: internal Port "eth0" Interface "eth0" ovs_version: "2.1.0"
U strojů clusteru Schrot jsem ale narazil na problém, že s touto konfigurací systém vůbec nenajížděl. Při startu končilo spouštění při konfiguraci sítě v nekonečné smyčce - viz snímek:
Nezbylo, než přidat do parametrů jádra při zavádění break
, najet do ramdisku, namountovat systémový disk a laborovat se souborem /etc/network/interfaces
.
Jak se metodou pokus/omyl ukázalo, příčinou problému byl následující řádek v souboru /etc/network/interfaces
:
... pre-up service openvswitch-switch start ...
Po jeho zakomentování systém normálně najel, ale bez nahozeného portu interni.
Vrtalo mi hlavou proč, až mě napadlo podívat se, zda-li je u systémů staršího clusteru Peanuts nainstalován systemd. Samo že nebyl. Odinstaloval jsem ho, a voilá! Začalo to fungovat.
Síťová konfigurace Schrotu je ale oproti staršímu clusteru Peanuts složitější v tom směru, že jeho stroje lezou ven pouze prostřednictvím jediného nodu. Aby je bylo možné spravovat přes Puppet, musí mít nastavenou maškarádu a povolený forwarding na vnější a vnitřní síťové rozhraní.
Vytvořil jsem tedy jednoduchý skript /etc/network/if-up.d/iptables
, který se stará o zavedení pravidel pro iptables a do souboru /etc/sysctl.conf
přidal následující dva řádky:
net.ipv4.conf.eth0.forwarding=1 net.ipv4.conf.interni.forwarding=1
Ale ouha! Při startu je akceptováno pouze nastavení pro eth0. Nikoliv pro port interni. Mohl bych sice forwarding povolit jedním parametrem pro všechna rozhraní najednou, to však nepovažuji řešení. Také jsem nebyl spokojen s odinstalováním systemd což nelze považovat za vyřešení problému. Když je s ním schopen koexistovat Pacemaker, tak to musí být řešitelné pro openvswitch.
Při hledání řešení pro NAT jsem narazil v ukázkové konfiguraci souboru /etc/network/interfaces
na parametr allow-ovs
. Nakouknul jsem tedy do souboru /usr/share/doc/openvswitch-switch/README.Debian.gz
, upravil podle něj příslušným způsobem konfiguraci, doinstaloval systemd a restartoval.
root@stroj:~# cat /etc/network/interfaces allow-ovs interni iface interni inet static address 10.0.0.214 netmask 255.255.255.0 broadcast 10.0.0.255 ovs_type OVSBrid ovs_ports eth0 allow-interni eth0 iface eth0 inet manual ovs_bridge interni ovs_type OVSPort
Jak už jsem poznamenal - při konfiguraci rozhraní virtuálního switche je klíčový parametr allow-ovs
, kterým se aktivuje síťové rozhraní bridge v ukázkovém příkladu s názvem interni. Kromě obvyklé síťové konfigurace, může obsahovat každá příslušná položka virtuálního switche parametr ovs_type
, jimž se implicitně říká, o jaký typ zařízení jde (zda bridge nebo port). A v případě, že se u bridge mají hned po startu nahodit i některé porty parametr ovs_ports
s jejich seznamem.
U konfigurace portu (síťového rozhraní) se parametrem allow-interni
implicitně řekne, do kterého bridge port patří a tím dojde při spuštění bridge i k jeho nahození.
Tiskni
Sdílej:
TimeoutSec=0
, tj. nekonečný timeout.
samba
, ntpd
a dnsmasq
. Postinst skript prostě udělá /etc/init.d/služba restart a služba si to vyloží jako že se má spustit, i když neběží a byla zakázána (přes update-rc.d služba remove
).
Výsledná konfigurace je vedlejší produkt hledání řešení jiného problému - povolení forwardingu pro virtuální interface.to mi připomíná tenhle čerstvě spravenej bug - při dostatečně novým jádru a userlandu by to tím pádem už mohlo fungovat všude i bez zvláštních obezliček.
Chtěl jsem tomu dát šanci, protože jinak proti systemd vcelku nic nemám. Jenže za současného stavu by to znamenalo jen další opruz navíc.Já tomu trochu času navíc věnuju, protože používám systemd na gentoo, kde taky ještě zdaleka není doma.
To ovšem sebou nese zase další zpoždění, neboť se snažím ze svých stávajících masterů postupně vydestilovat univerzálně použitelné moduly.Jo to dává smysl.
pre-up service openvswitch-switch startHádám, že tímto vzniknul deadlock. Jelikož systemd dodržuje závislosti služeb mezi sebou, tak spouštění služby z jiné služby je k tomu náchylné. Příkaz service čekal, až openvswitch-switch nastartuje. Ten ale místo startování čekal ve frontě, až doběhne jiná služba, na níž má pořadní závislost. Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít
systemctl
s parametrem --no-block
nebo --ignore-dependencies
.
Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít systemctl s parametrem --no-block nebo --ignore-dependencies.Za
--no-block
jsem dostal od Michala Sekletára vynadáno a měnil jsem to na --ignore-dependencies
. Na druhou stranu takové neblokující volání už nebude ani v nejmenším pre-up
, takže to nejde použít. Ale --ignore-dependencies
normálně blokuje, ne, takže to by mělo případně fungovat, že?
Nevím jestli je to bug nebo feature, ale doufám, že už to opravili.Hláška dne.
Virtuální infrastruktura.
Takhle kupříkladu vypadá konfigurace, jakou můj agent pro Pacemaker zpracovává když spouští virtuální disklessový stroj postel.felk.cvut.cz
primitive postel ocf:dce:kvm \ params workdir="/root" binfile=qemu-system-x86_64 \ ifup="/etc/openvswitch/ovs-ifup" \ ifdown="/etc/openvswitch/ovs-ifdown" \ cpu=kvm64 memory=4096 monitor="/tmp/7013.monitor" \ nic="00:0f:b0:46:23:89,virtio,tap,main,17 00:0f:b0:47:23:89,virtio,tap,main,5" \ serial="file:/var/log/postel.serial" logfile="/var/log/postel.log" \ pidfile="/var/run/kvm_postel.pid" \ errlogfile="/var/log/postel.err" \ meta target-role=Started is-managed=true \ op monitor interval=20 \ op start interval=0 timeout=30 \ op stop interval=0 timeout=30
Skript /etc/openvswitch/ovs-ifup
se stará o nahození virtuálního portu a skript /etc/openvswitch/ovs-ifdown
zase o jeho zrušení, když Pacemaker stroj vypne. Zařazení virtuálního portu do příslušného bridge a vlan se řeší zpracováním záznamů v parametru nic.