Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Byla publikována Výroční zpráva Blender Foundation za rok 2024 (pdf).
Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Virtualizace síťových rozhraní je implementačně jednou z nejproblematičtějších oblastí virtualizačních nástrojů. Virtualizovaná síť musí být rychlá a spolehlivá, ale přitom nesmí příliš zatěžovat procesor. Řešením může být virtuální síťový hardware simulující funkčnost skutečného zařízení nebo rozšíření funkcí a služeb jádra tak, aby bylo možné navázat určité IP adresy určitým procesům. To však s sebou přináší mnohé problémy jako je například adresace loopback a multicastu.
Linux-VServer pro síťové rozhraní rozšiřuje funkce a služby jádra, avšak pracuje pouze s IP vrstvou ISO-OSI modelu. Nelze tedy například udělit virtuálnímu serveru MAC adresu. Systém umožňuje prostřednictvím utility chbind
navázat určitou IP adresu na proces a všechny jeho potomky. Stejná IP adresa virtuálního serveru je připojena ke všem procesům kontextu. Je možné, aby síťové zařízení mělo z pohledu přiřazeného serveru zvláštní jméno. Do Linux-VServeru není zatím implementována podpora IPv6. Současné verze nepodporují multicast ani loopback adresaci kontextů.
Nastavit síťová rozhraní můžeme už při vytváření virtuálního serveru přepínačem --interface
utility vserver
. Argumentem tohoto přepínače může být například guest0=eth0:10.0.0.19/32
, kde guest0
je jméno virtuálního rozhraní, eth0
jemu odpovídající fyzické rozhraní, za dvojtečkou následuje IP adresa s délkou prefixu za lomítkem. Virtuální jméno, prefix a IP adresa nejsou povinné údaje a pokud je neuvedeme, použijí se standardní nastavení. Vynecháme-li například virtuální jméno, bude v kontextu pojmenováno stejně jako fyzické.
Další přepínač je --netdev <dev>
, jehož prostřednictvím určíme síťové zařízení, které bude kontext využívat. Argumentem --netbcast <broadcast>
konfigurujeme broadcast adresu a jeden z dvojice přepínačů --netmask
a --netprefix
pro konfiguraci síťové masky, resp. síťového prefixu. Žádný z těchto přepínačů není povinný.
Síťové nastavení kontextů se uchovává v adresářích /etc/vservers/<ID_of_vserver>/
. Každému rozhraní odpovídá jeden podadresář pojmenovaný dvoumístným číslem, počínající adresářem 00
. Adresáře mohou obsahovat tyto soubory:
bcast
– Nastavuje broadcast adresu.dev
– Nastavuje přidělení fyzického síťového zařízení.disabled
– Pokud tento soubor existuje, nebude rozhraní aktivováno.ip
– IP adresa přiřazená k tomuto rozhraní.mask
– Nastavuje síťovou masku.name
– Pokud soubor existuje, bude rozhraní z pohledu kontextu pojmenováno podle obsahu tohoto souboru. Bez takového záznamu nebude IP zobrazena s ifconfig
, pouze s ip_addr_ls
. Toto pojmenování se označuje jako „alias“.nodev
– Existuje-li, převezme se IP adresa z jiného rozhraní. Využít jej můžeme pro připojení síťového rozhraní vytvořeného jiným virtuálním serverem nebo hostitelským systémem.novlandev
– Existuje-li, budou přeskočeny kroky pro vytváření a rušení VLAN rozhraní. Soubor má vyšší prioritu než soubor ./vlandev
a soubor globálního nastavení /etc/vservers/.defaults/interfaces/vlandev
.prefix
– Nastavuje síťový prefix.vlandev
a /etc/vservers/.defaults/interfaces/vlandev
- Existuje-li, budou provedeny kroky pro vytváření a rušení VLAN rozhraní.chbind
Linux-VServer ve své implementaci nevytváří virtuální síťové zařízení pro každý kontext. Z tohoto důvodu mohou mít některé démony problém s vázáním na IP adresu, pokud mají být spuštěny zvlášť v hostitelském i virtuálním serveru. K tomuto účelům je určen program systému Linux-VServer chbind
.
Pokud například budeme chtít provozovat démon httpd
na hostitelském serveru s IP adresou 10.0.0.19
a zároveň na virtuálním serveru test
, pak spustíme příkaz chbind na hostitelském serveru:
# /usr/sbin/chbind --ip 10.0.0.19 /etc/rc.d/init.d/httpd \ > restart
Tím „navážeme“ démon httpd na hostitelském serveru na IP adresu 10.0.0.19
. Poté restartujeme virtuální server test
:
# /usr/sbin/vserver test restart
Nyní je démon httpd
na obou serverech navázán na jinou IP adresou.
Při instalaci Linux-VServeru jsou v hostitelském kontextu vytvořeny startovací skripty pro spuštění nejpoužívanějších démonů za pomoci programu chbind
. Těmito skripty jsou:
/etc/rc.d/init.d/v_gated
pro spuštění démona gated
./etc/rc.d/init.d/v_named
pro spuštění démona named
./etc/rc.d/init.d/v_portmap
pro spuštění démona portmap
./etc/rc.d/init.d/v_sendmail
pro spuštění démona sendmail
./etc/rc.d/init.d/v_smb
pro spuštění démona smb
./etc/rc.d/init.d/v_sshd
pro spuštění démona sshd
./etc/rc.d/init.d/v_xined
pro spuštění démona xined
.chbind
používáme pro navázání služeb na servery. Implicitně se totiž využívá IP adresa 0.0.0.0
, což proces naváže na síťová rozhraní všech kontextů. To však může být nežádoucí. Navázání můžeme upravit například pouze na hostitelském systému.
Volby programu chbind
:
chbind [--silent] [--ip ip_number/interface] \ [--bcast broadcast_address] <command arguments>
--ip ip_number/interface
– Váže proces k uvedené IP adrese, pokud je uvedeno síťové rozhraní (například eth0
), pak je použita IP a broadcast adresa z nastavení tohoto rozhraní.--bcast
– Broadcast adresa, na kterou má být proces „navázán“.--silent
– Nebudou se vypisovat informace.Pro síťovou komunikaci mezi VPS navzájem a se serverem slouží virtuální síťová zařízení venet
, které je starší a emuluje pouze komunikaci na IP vrstvě ISO-OSI modelu, a veth
, které je prozatím pouze v testovacích verzích jádra a implementuje komplexní funkce síťového hardwaru. VPS tedy nekomunikuje přímo s fyzickým síťovým zařízením, i když systém OpenVZ k němu umožňuje nastavit exklusivní přístup. Můžeme tak přímo zpřístupnit například eth0
z určitého virtuálního serveru, avšak rozhraní poté není přístupné z jiných VPS a ani z hardwarového uzlu.
Takovým „přesunem“ do VPS však ztrácíme bezpečnostní omezení, která platí pro virtuální zařízení. Lze například přímo z VE přidělit rozhraní libovolnou IP adresu nebo přepnout zařízení do promiskuitního režimu atd.
venet
Zařízení venet umožňuje přidělení IPv4 adres danému VPS. Konfiguruje virtuální zařízení pro VPS a obsluhuje komunikaci virtuálních serverů. Na straně hostitelského uzlu přeposílá pakety podle IP adresy.
Zpřístupnění zařízení eth0
ve VPS s číslem 101 provedeme příkazem:
# vzctl set 101 --netdev_add eth0 --save
Zařízení odebereme příkazem:
# vzctl set 101 --netdev_del eth0 --save
Nastavení síťového rozhraní provádíme pomocí utility vzctl
s přepínačem set
(s přepínačem --save
pro uložení změn):
vzctl set VPS_ID --hostname hostname --save
– Nastavuje síťové jméno hostname
VPS.vzctl set VPS_ID --ipadd addr --save
– Přidává IP adresu addr
pro VPS.vzctl set VPS_ID --ipdel addr|all --save
– Ruší přidělení dané/všech IP adres VPS.vzctl set VPS_ID --nameserver addr --save
– DNS server addr
VPS (může být uvedeno více adres oddělených mezerou).vzctl set VPS_ID --searchdomain domain --save
– DNS search domény VPS (může být uvedeno více domén oddělených mezerou).veth
Virtuální zařízení venet
umožňuje přidělit VPS pouze IP adresu. V některých případech je však vyžadována vyšší míra virtualizace, kdy bychom chtěli mít plně virtualizované zařízení. V testovacích verzích jádra systému OpenVZ je implementováno zařízení veth
. Toto zařízení má vlastní MAC adresu. Dovoluje také použití IPv6.
OpenVZ vytváří virtuální bridge propojující zařízení VPS veth
s fyzickým zařízením. Správce VE může konfigurovat síť podle svého přání včetně IP adres, gateway, ...
Mechanismus je implementován jako dvě virtuální zařízení. Jedno v hostitelském uzlu a další ve VPS a obě jsou propojena. Pokud jej přijme jedna strana a je určený pro druhou, přeposílá se.
Nakonfigurovat jej pro VPS můžeme následujícím způsobem:
vzctl set VPS_ID --netif_add \ <dev_name>,<dev_addr>,<ve_dev_name>,<ve_dev_addr>
kde:
dev_name
je ethernetové zařízení v hostitelském systému.dev_addr
je jeho MAC adresa.ve_dev_name
je jméno ethernetového zařízení VPS.ve_dev_addr
je MAC adresa z pohledu VPS.MAC adresy jsou uvedeny ve tvaru XX:XX:XX:XX:XX:XX
. Volba je připojena do seznamu již existujících záznamů.
Konkrétní natavení pak vypadá například takto:
# vzctl set 101 --netif_add \ > veth101.0,00:12:34:56:78:9A,eth0,00:12:34:56:78:9B --save
Poté bude vytvořeno pro VPS 101
zařízení veth
a jeho konfigurace se uloží. Z pohledu hostitelského sytému bude mít ethernetové zařízení jméno veth101.0
a uvedenou MAC adresu. Uvnitř VPS se zařízení bude jmenovat eth0
s MAC adresou 00:12:34:56:78:9B
.
Zařízení odebereme příkazem:
vzctl set <VEID> --netif_del <dev_name>
Utilita vzctl
používala až do verze 3.0.14 (15. 1. 2007) přepínače --veth_add
a --veth_del
namísto současných --netif_add
a --netif_del
.
Protože je nastavení síťového zařízení složitější, uvedu krátký příklad.
Nejprve spustíme server s číslem 101
:
# vzctl start 101
Přidělíme mu zařízení s názvem veth101.0
a MAC 00:12:34:56:78:9A
z pohledu hostitelského serveru a eth0
s MAC 00:12:34:56:78:9B
z pohledu virtuálního serveru a změnu v konfiguraci uložíme:
# vzctl set 101 --veth_add \ veth101.0,00:12:34:56:78:9A,eth0,00:12:34:56:78:9B --save
Změníme nastavení rozhraní v hostitelském serveru, povolíme přeposílání paketů a proxy arp:
[host-node]# ifconfig veth101.0 0 [host-node]# echo 1 > /proc/sys/net/ipv4/conf/veth101.0/forwarding [host-node]# echo 1 > /proc/sys/net/ipv4/conf/veth101.0/proxy_arp [host-node]# echo 1 > /proc/sys/net/ipv4/conf/eth0/forwarding [host-node]# echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
Nakonfigurujeme síťové zařízení z pohledu VPS. Přidělíme mu adresu 192.168.0.101 a nastavíme směrovač.
[host-node]# vzctl enter 101 [vps-101]# /sbin/ifconfig eth0 0 [vps-101]# /sbin/ip addr add 192.168.0.101 dev eth0 [vps-101]# /sbin/ip route add default dev eth0
Posledním krokem je přidání cesty z hostitele do VPS.
[host-node]# ip route add 192.168.0.101 dev veth101.0
Více o nastavení sítě a o konfiguraci protokolu IPv6 naleznete na wiki projektu OpenVZ.
OpenVZ nabízí širší služby a umožňuje širší nastavení síťového rozhraní. Na rozdíl od Linux-VServeru umí pracovat s IPv6. Systém dosahuje funkcí za cenu vyšších režijních ztrát, které však nejsou příliš patrné. Postačuje-li nám pouze směrování na úrovni IP vrstvy ve verzi IPv4, pak Linux-VServer nabízí dostatečnou funkčnost, avšak je třeba vyřešit problém vázání aplikací na různé IP adresy při vícenásobném spuštění ve více virtuálních serverech. U virtuálního síťového zařízení OpenVZ tento problém nenastává.
V Linux-VServer lze vázat procesy na IP adresy všech kontextů (IP 0.0.0.0
). OpenVZ vytváří pro každý VPS virtuální síťový hardware, což podobné služby neumožňuje.
Vývojová větev Linux-VServer nabízí upravenou implementaci navazování soketů na IP adresy pomocí bind(2)
. Nová verze bude umožňovat navázání soketu na množinu určitých IP adres nebo masek. V současnosti by mělo být podporováno až 16 IP adres/masek na virtuální server.
Naše servery již umí komunikovat se světem. Od příštího dílu se budeme zabývat především přidělením hardwarových zdrojů a jejich limity. Začneme diskovými kvótami a několik odstavců věnujeme také virtuálnímu souborovému systému proc-fs
.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
[host-node]# vzctl enter 101 [vps-101]# /sbin/ifconfig eth0 0 [vps-101]# /sbin/ip addr add 192.168.0.101 dev eth0 [vps-101]# /sbin/ip route add default dev eth0
K čemu tam je dobrý ten ifconfig
? To je náhražka za 'ip addr flush dev eth0
'?