Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.
Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.
Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.
Před 40 lety, 19. června 1984, Bob Scheifler představil první verzi okenního systému X (X Window System). Vycházela z okenního systému W (W Window System).
Desktopové prostředí MATE bylo vydáno ve verzi 1.28. V gitových repozitářích je sice už od února, ale oznámení vydání se na webu objevilo s několikaměsíčním zpožděním (únorové datum zveřejnění je nepravdivé). Jde o první velké vydání od roku 2021. Uživatelsky nejvýznamnější pokrok je v podpoře Waylandu.
Laboratoře CZ.NIC vydaly novou verzi 4.24.0 aplikace Datovka, tj. svobodné multiplatformní desktopové aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi. Přidány byly nové parametry do rozhraní příkazové řádky „export-msg“, „export-msgs“, „import-msg“ a „import-msgs“, které dovolují číst/zapisovat zprávy z/do databází. Veliký panel nástrojů byl nahrazen více nastavitelnými
… více »Mapnik (Wikipedie), tj. open source toolkit pro vykreslování map a vývoj mapových aplikací, byl vydán ve verzi 4.0.0. Přehled změn na GitHubu.
Mozilla koupila firmu Anonym, tj. průkopníka v "digitální reklamě chránící soukromí".
Knihovna htmx (Wikipedie, GitHub), tj. knihovna rozšiřující HTML o nové atributy a umožňující vývoj dynamických webových aplikací, byla vydána ve verzi 2.0 (𝕏).
Společnosti DeepComputing a Framework Computer společně představily RISC-V základní desku pro modulární Framework Laptop 13.
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
'?