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.
Jádro 3.0 ještě vydáno nebylo, alespoň ne v době psaní tohoto článku. Záludné chyby, první ve VFS (vizte níže), druhá v RCU zpozdily vydání, které je jinak již připraveno: historie naznačuje, že k vydání dojde okamžitě po zveřejnění článku.
Stabilní aktualizace: během minulého týdne žádné nevyšly a žádné se ani nerevidují.
-- Paul McKenney vysvětluje, proč (ještě) nemůžeme mít hezké 3.0
Matthew Garrett zkoumá záludnosti bootování Linuxu s EFI. Výrobci hardwaru se opět krátkozrace zaměřují na Windows. Jak jsme mnohokrát viděli v minulosti, jediná věc, kterou si výrobci hardwaru zkontrolují, je, jestli Windows bootují správně. Což znamená, že vůbec není překvapením, když zjistíte, že některé systémy podle všeho ignorují bootovací proměnné EFI a místo toho prostě hledají záložní zavaděč [fallback bootloader]. Záložní zavaděč nemá jmenné prostory, což garantuje kolize, pokud je na stejném stroji nainstalováno několik operačních systémů [...] Mohlo by to být horší. Pokud tam již zavaděč je, Windows ho nepřepíší, takže věci jsou o něco málo lepší než ve dnech MBR. Zavaděč Windows ale Linux nenabootuje, takže pokud tam jsou Windows první, stále máme problém.
Ti, kteří sledují sadu patchů pro preempci v reálném čase, ví, že se na nějaký čas zasekla u 2.6.33. S vydáním nového patche založeném na 3.0-rc7 nám Thomas Gleixner řekl proč: celá sada patchů byla přepracována a pročištěna, bylo implementováno nové řešení problému proměnných specifických pro CPU a vydání založené na 2.6.38 pozdržela ošklivá chyba. Ta potvora trvala na tom, že bude ničit souborové systémy. Reprodukovat ji trvalo celé dny a naprosto odmítala odhalit alespoň malinkatý náznak toho, kde je příčina. Koukat několik měsíců do naprosto zbytečných výpisů není příliš zábavná činnost. Verze 3.0-rc7 naštěstí žádné takové chování nevykazuje.
napsal Jonathan Corbet, 20. července 2011
Jedna z hezkých věcí, kterou měl protokol IPv6 zajistit, bylo odstranění potřeby překladu síťových adres (NAT). Adresový prostor je dost velký na to, aby motivace pro použití NATu (nedostatek adres, nutnost přečíslovat sítě při změně poskytovatele) zmizela. NAT se často považuje za hack, který rozbil architekturu Internetu, takže není málo lidí, kteří ho rádi uvidí zmizet. Přechod na IPv6 často vypadal jako příležitost to zajistit.
Není tedy překvapující, že když Terry Moës zaslal implementaci IPv6 NATu pro Linux, první odpovědi byly méně než příznivé. Každý, kdo chce vidět konec NATu, jenom těžko přivítá implementaci, která může sloužit jenom k jeho prodloužení po přechodu na IPv6. Smutný fakt ale je, že NAT tu podle všeho zůstane. David Miller to vyjádřil typicky přímo:
Ať se nám to líbí nebo ne, s NATem se budeme potýkat navždy. Ti, které zajímá, jak by mohl fungovat v Linuxu, mohou najít Terryho implementaci na SourceForge společně s pojednáním o návrhu kódu. Podporován je bezestavový (RFC 6296) i stavový NAT.
napsal Jonathan Corbet, 19. července 2011
Za všecho může Hugh.
Linus už se chystal vydat finální verzi jádra 3.0, když se objevil Hugh Dickins s malým problémem: čas od času kompletní kopie stromu zdrojových kódu jádra selže, protože jeden ze souborů dočasně zmizí. Následovalo odhodlané cvičení v honu na chyby, které ukazuje, jak citlivý a záludný je základní kód. Problém byl nalezen a zlikvidován, ale mohou být i další.
K lepšímu porozumění toho, co se zde stalo, by mohlo pomoci nějaké pozadí. Vydání 2.6.38 obsahovalo patche škálovatelnosti dcache; kód používá spoustu triků k tomu, aby při vyhledávání jmen souborů nemusel zabírat zámky. Pro správnou zátěž metoda „procházky RCU“ [RCU walk] poskytuje významné zlepšení výkonu. To ale funguje jenom v případě, že veškeré relevantní struktury se záznamem o adresáři [directory entry, „dentry“] jsou v dentry cache jádra a při vyhledávání nedojde k souběhu s dalšími CPU, které se pokouší stejnou cestu změnit. Když se narazí na takovou situaci, vyhledávání se vrátí ke staršímu a pomalejšímu algoritmu, který vyžaduje zamknutí každé dentry.
Dentry cache (dcache) je velmi dynamická datová struktura, jednotlivé záznamy nepřetržitě přichází a mizí. Jedno CPU tedy může odstranit dentry ve stejnou chvíli, kdy se ho jiné pokouší použít k vyhledání jména. Chaosu se předchází používáním mechanismu čtení-kopírování-aktualizace [read-copy-update, RCU], který se stará o odstraňování dentry záznamu; záznam je možné odstranit z cache, ale pokud vlákno, které tuto dentry používá, získalo odkaz před jeho odstraněním, struktura samotná bude existovat do doby, dokud ji nějaké vlákno potřebuje. To samé by mělo platit pro strukturu inode spojenou s touto dentry.
Hugh vysledoval problém v kousku kódu v walk_component():
err = do_lookup(nd, name, path, &inode); /* ... */ if (!inode) { path_to_nameidata(path, nd); terminate_walk(nd); return -ENOENT; }
Pokud do_lookup() vrátí nulový ukazatel na inode, walk_component() předpokládá, že se narazilo na „negativní dentry“. Negativní dentry se v dentry cache ukládají a ukazují na fakt, že specifické jméno neexistuje; to je významná vlastnost linuxové vrstvy virtuálního souborového systému, která zvyšuje výkonnost. Jestli chcete vidět příklad, spusťte jakkoliv jednoduchý program pod strace a podívejte se, kolik systémových volání vrátí ENOENT; k vyhledávání neexistujících souborů dochází často. Hugh zjistil, že tento ukazatel na inode se občas vrací nulový i v případě, že soubor existuje, což kód vede k domněnce, že se narazilo na negativní dentry; to vedlo k „dočasnému zmizení souboru“.
Hugh se na tento kód musel dívat dlouho předtím, než došel k závěru, že jádro odstraňuje dentry z dcache ve špatný čas při vyhledávání. Jak bylo popsáno výše, dentry jako taková existuje i po odstranění z cache, ale to neznamená, že se nemůže změnit: odstranění nastaví ukazatel d_inode na NULL. (Stojí za to poznamenat, že toto chování jde proti obvykle praxi používání RCU, která říká, že by se struktura neměla měnit, dokud není jisté, že i poslední odkaz zmizel.) Hugh došel k závěru, že tento nulový ukazatel je později přečten při vyhledávání cesty, takže walk_component() si myslí, že soubor neexistuje, přičemž ve skutečnosti došlo pouze k odstranění dentry z cache. Hlášení o problému obsahovalo patch, který zajistil, že si kód vyhledávání lépe ověřil, že soubor skutečně neexistuje, když se mu vrátilo NULL.
Linus problém potvrdil, ale oprava se mu nelíbila, protože podle něj byla příliš specifická pro jednu konkrétní situaci. Navrhl alternativu: prostě nenastavit d_inode na NULL; ukazatel na inode by pak takovou hodnotou později nemohl nic zmást. Al Viro zaslal alternativní opravu, která měnila chování dcache méně záludněji, měl obavu ze zavedení dalších divných chyb:
Linusovi se Alova oprava nelíbila; hrozila tím, že zpomalí pomalé vyhledávání, když se bude jednat o negativní dentry. Diskuze o patchích trvala nějakou dobu; jak se snažili najít nejbezpečnější opravu chyby, oba účastníci diskuze pomalu přišli na to, že ve skutečnosti neví, co se děje. Když se na věc Linus podíval zblízka, mávnul rukama a přiznal, že je nechápe:
Jak se stává, Linusova interpretace byla dostatečná k tomu, aby Hugha nasměrovala na skutečný problém. Když je proces procházení specifickou dentry téměř hotov, do_lookup() volá __follow_mount_rcu(), která má proces vyhledávání přesměrovat, pokud se prochází přípojným bodem [mount point]. Ukazatel na inode je __follow_mount_rcu() předán samostatně; Hugh si všiml, že funkce dělá následující:
*inode = path->dentry->d_inode;
Jinými slovy se ukazatel na inode znovu načte ze struktury dentry; k tomuto přiřazení dojde bez ohledu na to, jestli dentry reprezentuje přípojný bod. To je skutečným zdrojem problému: jestliže byla dentry odstraněna z dcache poté, co proces vyhledávání získal odkaz, d_inode bude NULL. __follow_mount_rcu() vynuluje ukazatel, který ukazoval na platný inode, takže si následující kód myslí, že soubor vůbec neexistuje.
Linus zaslal opravu skutečného problému společně s nyní slavným příspěvkem na Google+, ve kterém píše, že pro jistotu zpozdí vydání 3.0 o jeden den.
Linus vydání zpozdil i přes nepříhodnou skutečnost, že to začleňovací okno 3.1 posune do jeho plánované dovolené. Z jeho strany to nicméně byla opatrnost na správném místě: JasněSprávný(tm) patch měl ZaseDalšíZáludnouChybu(tm). Opravená verze patche již existuje a tato konkrétní chyba by měla v tuto chvíli být historií.
Z této epizody je nicméně potřeba vzít si ponaučení nutící k zamyšlení. Chování dentry cache je v tomto okamžiku tak citlivé, že i kombinovaná síla mozků vývojářů, jako je Linus, Al a Hugh, jen tak tak stačila na to zjistit, co se dělo. Stejní vývojáři jsou zjevně nervózní ze změn v této části jádra. Naše přístupné a snadno programovatelné jádro postupem času zesložitělo a je stále těžší ho pochopit. Z velké části se tomu nedá vyhnout; prostředí, ve kterém jádro běží, je samo o sobě za posledních 20 let složitější a složitější. Jestliže se ale dostaneme do bodu, kde téměř nikdo nebude schopen pochopit, revidovat nebo opravit nějakou část základního kódu, budeme si zadělávat na dlouhodobé problémy.
Mezi tím bychom si měli být schopni užít vydání 3.0 (a aktualizaci 2.6.39) bez záhadně mizících souborů. Jeden potenciální krátkodobý problém nicméně zůstává: vzhledem k tomu, že další začleňovací okno se protáhne do Linusovy dovolené, je tu šance, že bude více než obvykle nabručený na správce, kteří zašlou své požadavky na přetažení [pull request] pozdě. Až se začleňovací okno otevře, moudří správci subsystému by měli být připraveni ke startu.
napsal Jake Edge, 20. července 2011
Systémové volání setuid() v Linuxu (a dalších Unixových systémech) vždy představovalo bezpečnostní problém. Má podivné interakce s bezpečnostními a dalšími vlastnostmi jádra (např. nešťastně pojmenovaná chyba sendmailu a kvalifikací [capabilities]) a v programech se často používá chybně. Je to ale součásti unixového dědictví a bude s námi pravděpodobně přinejmenším do doby, než chyba roku 2038 ukončí trápení unixových systémů. Nedávný patch od Vasilije Kulikova pravděpodobně ukazuje tyto problémy v akci: podivné interakce omezení zdrojů a špatného používání systémového volání setuid().
Problém, který se Vasilij pokouší řešit, má poměrně historické pozadí. Roku 2003 se programy používající setuid() k přepnutí na jiného uživatele, než je root, mohly vyhnout limitu na počet procesů, které administrátor pro daného uživatele nastavil (tj. RLIMIT_PROC). To ale opravil patch Neila Browna, který způsobil, že volání setuid() selže, když je nový uživatel nad limitem.
Bohužel mnoho programů návratovou hodnotu setuid(), které má omezit jejich práva, nekontroluje. To je ve skutečnosti chyba, na kterou narazil sendmail, když byly zavedeny kvalifikace, protože nekontroloval, jestli přepnutí na nové UID opravdu uspělo. Chybné programy, které nekontrolují návratovou hodnotu, mohou způsobit poměrně závažné bezpečnostní problémy, protože předpokládají, že jejich činnost je omezena omezenými privilegii nového uživatele; ve skutečnosti přitom běží se zvýšenými privilegii (často pod rootem), se kterými byly spuštěny. Změna z roku 2003 tedy útočníkům přidala způsob, jak zajistit, aby setuid() selhalo, když se použilo RLIMIT_PROC.
Vasilij problém popsal v červnu a poznamenal, že to není chyba v Linuxu, ale umožňuje zachybovaným privilegovaným programům napáchat chaos:
Ve svém příspěvku navrhl dvě možná řešení problému. Prvním je přesunout kontrolu RLIMIT_NPROC z set_user() (pomocná funkce setuid()) do execve(), protože většina programů návratovou hodnotu tohoto volání kontroluje (a když ne, nezpůsobí to problémy). Další návrh je ten, který roku 2006 přišel od Alexandera Peslyaka (též znám jako Solar Designer), aby selhání volání setuid() zaslalo procesu SIGSEGV, což by špatně se chovající programy ukončilo.
První řešení není kompletní, protože by to stále uživatelům umožnilo překročit limit na počet procesů tím, že by používali setuid(), které by nebylo následováno execve(), ale to je dostatečně vzácný případ na to, aby se to nepovažovalo za významný problém. Alexanderovo řešení bylo v době, kdy bylo navrženo, považováno za příliš velkou palici, obzvláště kvůli programům, které kontrolují návratovou hodnotu setuid() a takový případ mají ošetřený.
Na první pokus nedostal Vasilij žádné odpovědi, ale když s tímto tématem přišel znovu 6. července, byl příjemně překvapen kladným postojem Linuse Torvaldse:
To vedlo k patchi, který mění do_execve_common(), aby vrátilo chybu (EAGAIN), pokud je proces přes limit, a kontrola v set_user() byla odstraněna. Patch byl přijat dobře, ale někteří komentátoři nebyli přesvědčeni, že by měl jít už do -rc 3.0, jak navrhl Linus. Když se Neil na patch podíval, viděl problém, který je možná potřeba řešit:
Zjednodušeně je problém v tom, že přepnutí procesu pod jiného uživatele by mohl způsobit překročení limitu, ale tento limit by nebyl vynucen do volání execve() (jehož selhání by pravděpodobně způsobilo ukončení procesu). Mezitím by jakékoliv execve() v jiném z procesů daného uživatele selhalo. Není jasné, jak velký problém to je, ale rozhodně by to vedlo k neočekávanému chování. Neil navrhl patch, který by problém řešil přidáním příznaku procesu (PF_NPROC_EXCEEDED), který by se nastavil v setuid(), pokud by byl překročen limit, a následně by se kontroloval v do_execve_common() Tak by execve() selhalo jenom v procesu, který překročení limitu způsobil.
Vasilijovi i Alexanderovi se tento přístup líbil, i když Alexander není přesvědčen, že oproti Vasilijovu původnímu patchi má nějakou výhodu navíc. Také upozornil na to, že mezi setuid() a execve() může být předem neznámý interval, takže by se test na RLIMIT_NPROC měl opakovat, když se volá execve(): Bylo by trochu překvapení zjistit, že proces selhal na execve() kvůli RLIMIT_NPROC, když tento limit byl překročen před několika dny a v době volání execve() již překročen není.
Neil zatím novou verzi patche s přidaným testem nezaslal. Je tu také otázka, jestli problém, ze kterého má Neil obavu, je vůbec potřeba řešit a jestli to stojí za to přidat další bit pro příznak procesu (v současnosti zbývají pouze tři). Vzhledem k tomu, že Linus má zájem odzbrojit špatné programy, nějaká oprava se pravděpodobně dostane do 3.1. Není jasné, který přístup vyhraje, ale každopádně setuid() přestane selhávat kvůli překročení povoleného počtu procesů.
Jak poznamenal Vasilij a další, rozhodně to není chyba v jádře, co se tu opravuje. Je to ale dostatečně častá chyba v programech v uživatelském prostoru – často se závažnými důsledky – že stojí za to opravit ji v rámci proaktivního bezpečnostního opatření. Alexander vyjmenoval několik nedávných bezpečnostních problémů způsobených programy, které nekontrolují návratovou hodnotu setuid(). Také poznamenal, že problém není omezen na setuid-root programy, protože i jiné programy, které se pokouší přepnout na méně – jinak – privilegovaného uživatele, mohou také způsobit problémy, když se setuid() použije chybně.
Dopad změny je relativně malý a špatně napsaných programů v uživatelském prostoru – i těch, které mají běžet s nějakými oprávněními – je hojnost, takže je změna přijatelnější než jiné proaktivní opravy. Jak jsme viděli dříve, setuid() je zákeřná funkce a snadno se rozzlobí; může u ní docházet k překvapujícím interakcím s jinými zdánlivě přímočarými bezpečnostními opatřeními. Uzavřít díru v setuid(), i když problém žije v uživatelském prostoru, rozhodně vylepší celkovou bezpečnost Linuxu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
NAT v IPv6Ffffuuuuuu
Lidé chtějí skrýt detaily topologie svých interních sítí, takže budeme mít NAT v ipv6 bez ohledu na to, co si myslíme nebo chceme.To je ale škoda, že k tomuto NAT neslouží…
Jak jsem se dozvěděl minule, můžu použít site-specific adresy pro lokální provoz a počítače budou dostávat druhou adresu podle toho, která linka zrovna jede.Ano, přesně takhle se to dělá. Možná je lepší, aby počítače měly adresy od obou ISP trvale a přehazovala se jenom default route, respektive její priorita.
Jedinej problém je, že všechny mechanismy, jak zjistit svojí IPv6 adresu jsou směrem klient->server, takže klient musí aktivně něco udělat, aby mu "internet zase začal chodit".Tohle jsem nějak nepochopil… Normálně pošleš do sítě router advertisement a klienti se podle toho aktualizují, ne? A failover zvenku se řeší na úrovni DNS.
Zvenku jsem pořád dostupný na všech adresách, ven lezu přes tu zrovna používanou, vše to funguje poměrně ideálně.Dokud se někdo nepokusí na klientovu adresu zvenku připojit…
ale má i svá pozitivaNo…
a ty se mu nedají upřít ani propagandistickými obrázkyFFUUUU používám jako obecný výraz pro zděšení
Dokud se někdo nepokusí na klientovu adresu zvenku připojit
Pokud by se o to někdo pokusil, nevidím důvod, proč by tomu NAT měl bránit. Pokud jsem původní příspěvek pochopil dobře, jde o statický/bezstavový překlad JEN horních 64bitů podle současně použitého "venkovního" poskytovatele. Tedy o překlad adresy autorovy sítě. Samotné adresy jednotlivých počítačů v ní (spodních 64 bitů) zůstanou neměnné.
V podstatě jde o takovou zvláštní formu 1:1 NATu.
A failover zvenku se řeší na úrovni DNS.
Takže jsi ve stejné situaci jako lidi za tím 1:1 NATemNastesti nejsem.
V podstatě jde o takovou zvláštní formu 1:1 NATu.Spíše úplně obyčejnou. NAT má své problémy i svá použití.
Možná je lepší, aby počítače měly adresy od obou ISP trvale a přehazovala se jenom default route, respektive její priorita.Problem je ze volba zdrojove adresy nezavisi na route. Takze kdyz by jeden spoj nefungoval, pocitace by stale mohly volit prislusnou zdrojovou adresu, ktera by odpovedi vedla na nefunkcni spoj.
ip_forward
, tak by se z té 2001::1/64 podle mě na 2002::2 ani nedostal.
Minimálně Linux pokud nemá zapnuté ip_forward, tak by se z té 2001::1/64 podle mě na 2002::2 ani nedostal. Minimálně Linux pokud nemá zapnuté ip_forward, tak by se z té 2001::1/64 podle mě na 2002::2 ani nedostal.
Tuhle poznamku nechapu. ip_forward se (AFAIK) tyka pouze forwardovanych paketu, nikoliv lokalne generovanych paketu. Pokud mas pocitac se dvema rozhranima, na jednom 192.168.1.1/24 a na druhem 192.168.2.1/24 a k prvnimu je pripojeny soused s 192.168.1.2/24, ten ma routu 192.168.2.0/24 via 192.168.1.1, tvuj pocitac ma vypnuty ip_forward a nejaky program z nej komunikuje s 192.168.1.2 ale vynuti si zdrojovou IP 192.168.2.1, tak komunikace funguje.Normálně pošleš do sítě router advertisement a klienti se podle toho aktualizují, ne?A tohle opravdu zafunguje tak, ze všichni klienti se okamžitě přepnou? I když používaji DHCPv6?
Dokud se někdo nepokusí na klientovu adresu zvenku připojit…Co si budem nalhávat, lidem jde většinou o to, aby se oni mohli připojit někam. Ale jinak je to samozřejmě problém, který je ovšem na současné úrovni neřešitelný. Pokud se připojí nějaká síť, která je (výrazně) menší než prefix vhodný pro účastnění se routování, pak pokud je 100% závislá na svém ISP.
Tohle je u mně 0 informační hodnota. Argumenty, protiargumenty, připomínky, že něco říkám špatně beru, ale tohle neobsahuje nic z toho...ale má i svá pozitivaNo…a ty se mu nedají upřít ani propagandistickými obrázkyFFUUUU používám jako obecný výraz pro zděšení.
A tohle opravdu zafunguje tak, ze všichni klienti se okamžitě přepnou? I když používaji DHCPv6?Defaultni routu prepnou (ta se neridi DHCPv6), adresy neprepnou (kdyz je prideluje DHCPv6). Stejne tak je neprepnou staticky konfigurovane servery. A o adresy jde predevsim, prepinani defaultni routy je trivialita a casto ani neni potreba (pokud napr. obe linky k ISP jsou smerovane pres jeden router).
A tohle opravdu zafunguje tak, ze všichni klienti se okamžitě přepnou? I když používaji DHCPv6?No mně se aktualizují adresy i routy okamžitě po přijetí RA.
Co si budem nalhávat, lidem jde většinou o to, aby se oni mohli připojit někam. Ale jinak je to samozřejmě problém, který je ovšem na současné úrovni neřešitelný. Pokud se připojí nějaká síť, která je (výrazně) menší než prefix vhodný pro účastnění se routování, pak pokud je 100% závislá na svém ISP.Takže si můžeme vybrat buď řešení NATem, které znemožní plnohodnotnou obousměrnou komunikaci, a řešení přepínáním adres/rout, které tímto problémem netrpí. Já bych si vybral to druhé(, kdybych měl dvě přípojky).
Tohle je u mně 0 informační hodnota. Argumenty, protiargumenty, připomínky, že něco říkám špatně beru, ale tohle neobsahuje nic z toho...Tak ukaž nějaká pozitiva NATu…
Jak tohle udělám u IPv6? Samozřejmě nepředpokládám, že bych dostal svůj vlastní rozsah a dělal si BGP a spol. Takže dejme tomu, že od obou poskytovatelů dostanu /64.
Jednoduše. Počítačům přidělíte IP z obou rozsahů (pomocí RA se přidělí samo) a síť bude mít dva routery. Přes RA budou ohlašovat i svoje priority, takže pokud jedna z linek (všimně te si, že jich tam můžete mít neomezeně) vypadne, tak stačí zvýšit prioritu další preferované lince ven. Klientům se změní preferovaná default routa a jede se dál.
Toto řešení je (IHMO) daleko elegatnější, než nějaký NAT.
Počítačům přidělíte IP z obou rozsahů (pomocí RA se přidělí samo) a síť bude mít dva routery.IMO je lepší mít jeden připojený k oběma ISP, nicméně předpokládám, že to jde udělat taky.
rozbiji end to end konektivitu prakticky stejne jako NAT.To není pravda. U firewallu je to rozbíjení řízený proces a jde to vypnout, u NATu ne - to není stejně.
A úplně nakonec, je to jedno, máme DNS.Ano máme DNS. jenže DNS má TTL a jiné věci a ještě jsem neviděl moc klientů, kteří bez problému přehodí aktivní spojení na nový pár IP adres ve chvíli, kdy to změnim v DNS
ale pak musí celá síť mít pořád všechny globální prefixy i v případě, kdy linka toho prefixu nefungujeA to vadí?
Vtip celého je v tom: Zákazník: "Jsem přepnul ten internet na záložní linku, jenže mi popadalo spojení na server, tiskárna vytiskla půl stránky a to video z kamery musím posílat znova..." Vy: "Jo, ale nemáte NAT!" Zákazník: "Cože? Aničko, najděte mi číslo na někoho jiného..."Při přepínání konektivity ven ti nic nebrání si staré adresy ještě chvíli podržet, než se dokončí všechna spojení uvnitř sítě.
Při přepínání konektivity ven ti nic nebrání si staré adresy ještě chvíli podržet, než se dokončí všechna spojení uvnitř sítě.Ne, nebrání. jenže jak dlouho si je mám podržet? Co já vím, jestli s nima jěště někdo někde komunikuje nebo nedej bože plánuje komunikovat? Alespoň nevím o mechanismu, kdy na celé sítí zjistím "hele, pánové, neplanujete ještě někdo ty starý adresy používat? Ne? Tak já je utnu..." Takže ideální řešení, podržet si je na vždy, tedy mít pořád všechny prefixy na všech strojích. A to je to, co pořád říkám, že se mi moc nelíbí, ikdyž to asi ve finále bude funkční. A jak píšu výše, to už se mi víc líbí řešení, kdy každý klient má jednu (kromě link-specific) adresu a na rozhraních mnou spravované sítě to mapuju z/na funkční rozsah(y).
Ne, nebrání. jenže jak dlouho si je mám podržet?Každá stanice si je drží tak dlouho, dokud je po nich navázané nějaké TCP spojení. Úplně stejně, jako při používání Piracy Extensions.
Co já vím, jestli s nima jěště někdo někde komunikujeTobě jako adminovi je tohle totálně fuk. Ty prostě pošleš do sítě RA, které říká, že pro nová spojení se mají používat nové adresy/nový router. Stará spojení uvnitř sítě ještě doběhnou po starých adresách a klienti je pak zahodí.
A to je to, co pořád říkám, že se mi moc nelíbí, ikdyž to asi ve finále bude funkční.A já nevím, co se ti na tom nelíbí. Mně přijde normální, že má jeden počítač víc adres. Třeba můj domácí router jich má momentálně 7 a desktop 3.
Každá stanice si je drží tak dlouho, dokud je po nich navázané nějaké TCP spojení.To samozřejmě nestačí, protože hodně protokolů si tu IP adresu někde uloží a otvírá nové spojení. Třeba takový poštovní klient, jednou za čas udělá resolv mail-internal.firma.cz a pak se na to IP do kolečka připojuje. Nebo se mu zadá server přímo pomocí IP.
Stará spojení uvnitř sítě ještě doběhnou po starých adresách a klienti je pak zahodí.To opravdu ve všech OS funguje tak, že pokud se to IP, na které už nedostávám RA, samo po nějaké době nečiností zahodí?
A já nevím, co se ti na tom nelíbí. Mně přijde normální, že má jeden počítač víc adres. Třeba můj domácí router jich má momentálně 7 a desktop 3.Třeba už jen myšlenka "keep it simple". Jeden klient, jedno IP. Žádné řešení, proč ten klient zase používá jinou IP, než by měl? A himbajs, pustí mně ten firewall z tohohle IP nebo z jiného? Pokud se budem trumfovat, tak můj nejbližší router má adres 12 a kámošův kámoš má router, který má dokonce 15
A himbajs, pustí mně ten firewall z tohohle IP nebo z jiného?Tak nevím, tohle už mi přijde jako argument typu "jsem blbec a neumím si to nastavit"...
To samozřejmě nestačí, protože hodně protokolů si tu IP adresu někde uloží a otvírá nové spojení. Třeba takový poštovní klient, jednou za čas udělá resolv mail-internal.firma.cz a pak se na to IP do kolečka připojuje. Nebo se mu zadá server přímo pomocí IP.Takový poštovní klient poštu normálně odešle, i když je stará adresa už zrušená, v čem je tedy problém?
Zákazník: "Jsem přepnul ten internet na záložní linku, jenže mi popadalo spojení na server, tiskárna vytiskla půl stránky a to video z kamery musím posílat znova..." Vy: "Jo, ale nemáte NAT!"Jsem navážkách, jestli ještě píšeš z neznalosti nebo už trolluješ. Máš pocit, že přenatování na jiné vnější adresy spojení snad nepřeruší?
Myslím, že tuto část debaty můžeme uzavřít, neboť už jsme u neplodnýchČtu je se zájmem.
To je samozřejmě pravda. Ani tvůj názor není pro ostatní zase tak důležitý.Muj nazor v teto oblasti zpravidla jini ocenuji, protoze jim umim rict, co udelat jde a jak to jde udelat.
Ani když je typickou ukázkou toho "když já něco chci, tak je to jediné správné a možnosti, jak udělat něco jiného jsou špatně".Timto problemem nastesti narozdil od tebe netrpim, cos ale zrejme sam dobre vis, takze nema zadny smysl se o tom dohadovat.
Muj nazor v teto oblasti zpravidla jini ocenuji, protoze jim umim rict, co udelat jde a jak to jde udelat.A tak to má být. Ja bohužel patřím k těm lidem, které ostatní neoceňují, protože jim neumím říct, zda něco jde a případně jak.
Timto problemem nastesti narozdil od tebe netrpimTady poprosim o link, kde tvrdím, že mnou prosazované řešení je jediné správné nebo že jiná jsou špatně. Vždy maximálně tvrdím, že se mi takové řešení nelíbí nebo líbí. Koneckonců o pár příspěvků výše tvrdím, že
A to je to, co pořád říkám, že se mi moc nelíbí, ikdyž to asi ve finále bude funkční
Tady poprosim o link, kde tvrdím, že mnou prosazované řešení je jediné správné nebo že jiná jsou špatně.Předpokládal jsem, že mě hodnotíš metodou „podle sebe soudím tebe“, jinak si tvoji reakci neumím vysvětlit.
1) bez překladů a elegantní, jejichž jedinou nevýhodou je nutnost spolupráce ISP, tedy dynamický routingNo, nejde jenom o spolupraci s ISP, ale take je treba ziskat PI adresy, nebo se sam stat LIRem (tady clenstvi v RIPE). Obe varianty jsou spojene s nemalymi rocnimi poplatky.
Ať se nám to líbí nebo ne, s NATem se budeme potýkat navždy.Super. A multipathu na jedno spojení se nedočkáme už nikdy. Na to stačí říct už jen jediné: FAKT DÍKY!.
Jo, to jo, ale někde není psané že je to pravidlo (doufám). Teoreticky je možné napsat více rout jedním směrem a pakety přepínat na jeden a druhý podle toho jak jdouVolit smer per-packet by sice slo, ale moc by to nepomohlo, protoze bys takhle vyuzival dohromady pouze odchozi smer. V opacnem smeru (download) by to vzdy slo jen jednou z tech linek, podle toho, jakou jsi zvolil zdrojovou adresu.
dodělat nějaký mechanismusA když si to tak vezmu, tak vlastně ani ne. I druhým směrem by na některém z hopů muselo dojít k rozhodnutí kudy pakety cpát v případě dvou a více cest (v dnešní podobě Internetu pravděpodobně někde poblíž NIXu), tak se holt nevezme jedna routa, ale dvě a dělit se bude podle toho jak do které linky se budou cpát. Teda samozřejmě v případě existence opravdu jedné celosvětově unikátní adresy. Dnešní internet je spíš více podobný spojovaným okruhům než opravdu přepínané službě, což ale nikdy nebylo cílem.