Dnes oficiálně došly na globální úrovni volné bloky IP adres. Někdo to považuje za banalitu, ale veřejné IP adresy potřebujeme úplně všichni.
Dnes k tomu po letech slibů skutečně došlo – IP adresy došly. Samozřejmě bude ještě trvat řadu měsíců než se problém skutečně projeví, ale dnes nastal začátek konce. Tedy minimálně konce IPv4 adres. Nedojde samozřejmě k žádnému dramatickému kolapsu, ale časem se prostě dostaneme do nepříjemných problémů.
Možná teď podle názvu čekáte, že začnu vysvětlovat, jak je veřejná IP adresa důležitá pro mnohé služby a „kdyby“ je měli všichni, jak by byl svět jednodušší. Tenhle blogpost ale vůbec není o filosofickém „kdyby – tak by“, ale o zcela praktickém tvrzení, že IP adresy potřebujeme naprosto všichni.
Občas se totiž pod zprávami o docházejících IP adresách objevují výkřiky typu „stejně veřejnou IP skoro nikdo nepotřebuje“ nebo „dáme internet za NAT a začneme znovu“. Opak je ale bohužel pravdou. Když vynecháme zcela podstatný fakt, že veřejnou IP adresy potřebují všechny služby, které chtějí být dostupné uživatelům, dostaneme se k jádru věci – každý uživatel potřebuje veřejnou IP adresu. Nic na tom nemění fakt, že většina uživatelů dnes nemá svou vlastní jedinečnou adresu, ale jednu sdílí společně s dalšími několika uživateli.
Celý vtip je totiž v tom, co si většina chytrolínů neuvědomuje – totiž že NAT neumí schovat nekonečné množství uživatelů za jednu IP. Je tomu právě naopak – počet strojů za jedním NATem je striktně omezen. NAT totiž mapuje vnitřní porty jednotlivých strojů na vlastní porty vnější. Vnitřní uživatelé na jedné IP adrese tak dohromady sdílejí 65535 portů a víc jich prostě neotevřou. Jen pro zajímavost: já mám teď otevřených asi sedmdesát portů do internetu. A to mám spuštěný prohlížeč, e-mailový klient, Jabber klient a program na odesílání SMS. Žádné speciální aplikace, ale jen standardní výbavu dnešního internetisty.
Odbočka: Toto je také důvod, proč poskytovatelé připojení nesnášejí BitTorrent. Takový BitTorrent klient si může v klidu otevřít několik tisíc spojení k dalším peerům a sežere tak na NATu velkou část portů.
Jeden můj kamarád kdysi dávno pracoval pro jednoho českého mobilního operátora. Chytří manažeři tehdy rozhodli, že se celá nově nasazovaná mobilní datová síť GPRS schová za jeden masivní NAT. Koupil se kvůli tomu speciální hardware, celé se to připojilo a spustilo. Chvíli to fungovalo, ale pak začala padat jednotlivá spojení a mobilní internet byl nepoužitelný. Ukázalo se, že firma chtěla všechny uživatele schovat za 16 IP adres. Po chvíli používání samozřejmě došly vnější porty a začala se shazovat starší spojení.
Přestože NAT skutečně pomohl výrazně oddálit konec IPv4 adres, není všemocný. Je třeba počítat s určitým poměrem počtu uživatelů na jednu veřejnou IP adresu. S rozumnou rezervou není dobrý nápad dávat více než několik desítek uživatelů na jednu veřejnou IP adresu. Až tedy IP adresy dojdou, dotkne se to i lidí, kteří „nepotřebují veřejnou IP“ a budou za NATem.
Dodatek: Nehledě na to, že si většina lidí neuvědomuje, jak je NAT výkonově náročný. V případě tří domácích počítačů to až tak velký problém není (ale i přesto je možné NAT v malém domácím routeru zahltit velmi snadno), ale pokud máte tisíce či sta tisíce uživatelů, dostáváte se do problémů. Jistě si dokážete představit ty ohromné tabulky, které pak musí NAT procházet při každém paketu posílaném v obou směrech. Proto velcí poskytovatelé (i v Česku) přidělují uživatelům raději veřejné IP.
1) To s těmi 65535 porty není tak docela pravda, resp. uvedená formulace je zavádějící. Minimálně v linuxové implementaci SNAT je součástí klíče v tabulce i destination_ip. Tj. přes 1 veřejnou IP lze z vnitřní sítě vést podstatně více spojení, než 65535. Sice ne na 1 cílovou IP, ale na různé. Proto se problém nedostatku NAT portů typicky projevuje např. u ICQ, kde všichni uživatelé otevírají spojení na 1 nebo několik málo IP centrálních serverů.
2) Velcí poskytovatelé přidělují uživatelům veřejné IP proto, že jich mají/měli dost a neměli problém se k nim dostat. Ostatní (menší) ISP by to jistě rádi dělali stejně, ale z určitých důvodů u nich historický vývoj udal cestu směrem k masivnímu nasazení NATu. Mnozí z nich vyrostli (sítě s toky v jednotkách Gb/s, mnoho tisíc uživatelů, viz např. NFX), ale ten NAT mají nasazen pořád i v tomto měřítku, protože to mají technologicky zvládnuto, a často ani nic jiného nezbývá, protože v době jejich růstu už by dost IP adres stejně nedostali. Je to dáno i tím, že obrovská část ISP v ČR vlastně nejsou tak úplně ISP, protože nemají ani vlastní adresy od RIPE, ale jen propůjčené od upstream providera.
3) Ad T-Mobile - na začátku to někdo blbě vymyslel/nastavil, a nefungovalo to. Teď už to funguje. Závěr pro mě je, že to někdo špatně nastavil a nejde o principielní problém NATu. Stejně tak mohli špatně nastavit routování i bez NATu.
Tak adresy dosly. Na Internetu je nabidka obsahu na ipv6 porad znacne zalostna, spousta ISP ipv6 take neumi a vselijake ty domaci routery take ne (firmware samozrejme vyrobci nebudou updatovat u cehokoliv, u ceho jiz propadla zaruka). A nabidka novych routeru s ipv6 je zatim stale uplne zalostna. A to ten konec sveta predpovidali az na 2012.
". Jistě si dokážete představit ty ohromné tabulky, které pak musí NAT procházet při každém paketu"
Nieco sa musi robit pri dorucovani kazdeho paketu; ci tam je NAT alebo nie; to teda nemusime uvazovat.
Z toho ostatneho: Ked si dokazeme zapamatat 65535 portov a info k nim, tak zvladneme pristupit aj priamo na miesto v pamati (porty[port]), co je 1 operacia naviac; vobec nezalezi na velkosti tabulky. Ak nie je vela pamati, tak by sa zislo aj hashtable - stale tu nevidim problem s "prechadzanim velkej tabulky".
Ako bolo teda myslene to prechadzanie tabulky?
Este som zabudol: aj mne chyba doma verejna IP, takze s clankom sa stotoznujem - myslim ale, ze NAT je riesenie na vela problemov.
Podla traceroute som doma za svojim + 3 dalsimi NATmi / podsietami a nejake vacsie obmedzenia okrem nepristupnosti zvonka nepocitujem. To by sa dalo riesit tak, ze by kazdemu zakaznikovi nasmerovali napr. 20 portov a uz by asi nikomu nic nechybalo. Aj ked sa jedna o Wifi a za NATom je vela zakaznikov, odozvy nie su nijak hrozne (do Ceska na Seznam.cz je to okolo 25ms), na Slovensko to ide este lepsie. Rychlosti a aj ceny su lepsie ako je zvykom u konkurencie.
Co viac este uzivatel potrebuje?
Jak už psali VS a branchman, Linux kernel pochopitelně nebere v úvahu jen porty. Uvažte třeba ICMP echo reply. Má ICMP porty? Nemá! Ha, to jsem vás dostal!
Pokud se nepletu, NAT na Linuxu (alespoň ten netfilterový) používá connection tracking subsystém, který toho umí DALEKO více, než jen source port mapping - mrkněte na net/netfilter/*_conntrack_* .
Teoreticky jde brát třeba u TCP v úvahu hodně věci (např. sekvenční čísla, tcp_timestamp, ...), které mohou dopomoci k unikátnosti daného klíče v hash tabulce / stromu / čemkoli.
...
Nicméně souhlasím s názorem, že NAT většinou není pěkné řešení. Tedy ne od ISP. Bez NATu v Internetu by mohly věci jako Skype fungovat bez proxy serverů. A to už není jen ideologický blábol.
> Bez NATu v Internetu by mohly věci jako Skype fungovat bez proxy serverů
Takový optimista bych nebyl. Na domácím routeru i na firemní/školní/hotelové border-gateway by byl (a je, nezávisle na NATu) stavový firewall blokující příchozí spojení. Protože "bezpečnost" Windows a protože torrent a jiné P2P. Doma si tohle teoreticky můžete změnit/odblokovat, ale naprostá většina normálních lidí nebude vědět jak. Ve firmě je to no-way, u hotelové free-wifi to těžko budete s někým domlouvat, ve škole na něčem jako Eduroam (už teď dostanu veřejnou IPv4, ale INPUT DROP) taky. Takže zas vyhraje aplikace, co tohle bude umět obcházet. Nebude to muset dělat masově, ale třeba jen u poloviny lidí, ale ta funkce tam bude muset být.
V tomto směru by Internet bez NATu skutečně nebyl o moc krásnější.
Předpokládám, že u těch domácích krabiček bude i na IPv6 nastaveno výchozí blokování příchozích spojení. Vzhledem k Windows je to rozumné, i když to nabourává výhody IPv6. Možná ale už funguje UPNP...
Souhlasím s [9], ze před publikací je třeba si rozmyslet, pro koho je článek o IPv6 určen. Mě, jako koncoveho linuxového uživatele, by třeba za zajímalo, co mohu udělat pro to, abych protokol IPv6 používal nebo byl připraven pro jeho použití. (Třeba jaké domácí routery kupovat nebo nekupovat, jak nastavit síťování při instalaci Linuxu, ...)
Pokud použití IPv6 brzdí poskytovatelé připojení a koncový uživatel s tím nemůže nic dělat, tak je třeba to v článku pro koncové uživatele srozumitelně napsat. Důvodem zřejmě budou vysoké náklady na pořízení technického vybavení. Ale i to je potřeba koncovým uživatelům vysvětlit.
s tymi potrami to zase nebude take huste, jedine ze by vsetky spojenia boli perzistentne. Ale tie nie su v pripade HTTP 1.0 a kedze vacsina uzivatelov chodi akurat na web tak ak je ten nat dobre nastaveny a nie je povolene HTTP 1.1 tak sa este nejaku dobu udrzia. A nie je to jen v pripade HTTP :)
[14] To je hezká představa, ale ne. Věci jako Skype by snad nebyly potřeba tak často jako dnes, ale v netriviálním množství případů bych je ocenil.
Protože firewall. NAT je jen dílčí část problému. Třeba již zmíněný Eduroam (s veřejnými IPv4!). Nebo jiná síť, která je v daném místě a čase nejlepší dostupná, ale je "blbě" nastavena a jaksi nejsem v postavení, kdy bych si změnu nastavení mohl diktovat.
"Jistě si dokážete představit ty ohromné tabulky, které pak musí NAT procházet při každém paketu posílaném v obou směrech." - abychom byli objektivní, mělo by hned následovat i něco jako "a jistě si také dokážete představit algoritmy, kterým to že ty tabulky jsou ohromné vlastně až tak moc nevadí."
[13] Naopak je to husté - stačí doma používat nějaké nešťastné aplikace, nebo router s firmwarem, který není 100% perfektní a časem se NATu tabulka portů zaplní a "internet začne být pomalý". Až do restartu routeru. Pár bittorrentů ve vnitřní síti a je zaděláno na kolaps.
Síťové řešení, které lze uživatelsky korektní aplikací výkonově položit, je špatné řešení.
Já vam nevím. Proč přechazet na ip6, když bychom mohli rovnou na IP8? Vyhodit se budou muset časem všechny siťové komponenty ip4, tak proč to neudělat raději s dostatečnou rezervou? Až za sto let bude mít každa lednička/spinač/motor/mobil/satelit svou vlastni Ip adresu, tak se bude tohle řešit znovu, ovšem tentokrát to bude drahší.
Btw. tušim že by se k ip adresam dala přidat předvolba a tak zustat na ip4. Se mi zda, že tu někdo volá DOCHÁZÍ ROPA!! v rámci internetu, i když to zas taková pravda není.
Proboha, jak si pana Krčmáře vážím, tak tohle snad nemohl myslet vážně. Já osobně mám velice vysoké nároky na PC a konektivitu, myslím že mnohonásobně vyšší, než všichni BFU a VEŘEJNOU IP PROSTĚ NEPOTŘEBUJI A ANI NECHCI. Co počítač to cca 100 otevřených portů, tj. za jednou veřejnou IP klidně schovám 655 počítačů. Pouze v jediném (1)!!! z cca 500!!! ADSL modemů jisté značky, si uživatel přesměroval nějaký port na vnitřní počítač! Tj. veřejná IP by ,,TROŠIČKU" pomohla jen jednomu člověku z 500! Oproti tomu veřejné IP adresy mohou poškodit 499 BFU, kteří si prostě nebudou schopní korektně nakonfigurovat Firewall!!!
Otázka: Jak budou nakonfigurovaná zařízená dodávaná pro BFU na IPv6? Tj. budou mít všechny porty na FW otevřené i z venčí??? HAHAHA tak to těžko!!!! No a když se STEJNĚ nebude možné přímo připojit na porty daného počítače, v čem je ta DRAMATICKÁ A OBROVSKÁ výhoda oproti řešení NAT+FW? Ta, že 1 člověk z 500 lidí z toho bude mít orgazmickou radost??? Ano, 1!!! člověk z 500 veřejnou IP ASI UŽIJE! ALE DOKÁZAT TO SPRÁVNĚ NASTAVIT zvládne možná lidí 5 z 500!! Pan Krčmář, ač si ho vážím, by měl jít před zrcadlo a dát si pár facek za to co napsal, aby se zase probral. Tentokrát je prostě ÚPLNĚ MIMO. A přitom to je tak chytrý a vzdělaný člověk. Ale i mistr kat se občas utne....
[27] Pan Krčmář: Tvrdíte ,,Veřejné IP adresy potřebujeme úplně všichni" A já tvrdím, že z hlediska BFU to je zcela jedno! Jestli má veřejnou IP a defaultně nastavený FW, kdy se přímo na jeho počítač stejně nemůže připojit žádná služba a nebo jestli je za NATem + FW. Kdyby jste svůj post nazval ,,Veřejná IP se může hodit všem IT profesionálům" jen bych pokýval hlavou, že ano, některým IT profesionálům se hodit může. Ale to, že všichni uživatelé a tedy i BFU, kterých je 99%, potřebují veřejné IP, je přece blbost. No s tím se nedá souhlasit. Stav do budoucna bude ten, že defaultně nakonfigurovaný (třeba) ADSL modem bude mít zapnutý FW a další FW je v systému. Kvalitně nakonfigurovat FW dokáže tak 8 z 10 IT profesionálů (berme v úvahu i programátory a oprašovače tiskáren). Prostě stále nejsem přesvědčený, že BFU bude mít z veřejné IP jakýkoliv podstatný přínos.
[27] Pan Krčmář: Ano, to jsme se nepochopili a tedy se omlouvám, za to o tom zrcadle. Doufám, že jste to neudělal :-) Já Váš článek bral jako generální odsouzení NAT, protože každý BFU přece nutně potřebuje jedinečnou veřejnou IP pro své PC :-) Teď už Vám rozumím a souhlasím s Vámi, že z tohoto pohledu opravdu všichni potřebujeme nějakou veřejnou IP.
(I kdyby to měl být TOR :-P)
na NAT mi nesahejte.
nekdy 1998 (9 ?) jsem zakoupil Winroute Pro ( tehdy na Win 95 :-)
a 8 let se za nim / 1 IP cela firma schovavala.
sice ho NMAP a pod. dokazaly zabit, ale 200 ukaznenych uzivatelu to zvladalo v pohode.
kde by byli, ti chudaci uzivatele, s Windows, bez NATu ?
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 110 022×
Přečteno 89 040×
Přečteno 72 326×
Přečteno 57 773×
Přečteno 54 147×