Může ISP dělat NAT přes víc IP?

Může ISP dělat NAT přes víc IP?
« kdy: 06. 02. 2019, 17:53:13 »
Měl bych dotaz na síťovou infrastrukturu. Bude se to točit okolo NATu.
1. Je možné, aby se měnila "moje" IP adresa (tedy vnější, myšlena ta, kterou uvidí protistrana), pokud se připojím (já vytvorim odchozi spojení) ke 2 ruzným serverům (například z důvodu, že jeden server je  číně :D a druhý v Africe)? Klidně i ve stejném čase? Jsem samozřejmě připojen 1 rozhraním k ISP. Je to obvyklé, efektivní?
2. Jak funguje NAT operátora: Má třeba pool adres (42.36.4.0/255.255.255.0),  ve které má 100 000 klientů? Nebo může mít i "nesouvislé IP" (které by právě třeba byly podle otázky 1  na různých koutech)?
3. Jaká je struktura sítě operátora? může probíhat překlad na více prvcích? co jsou to edge routery? a jsou konečné výstupní uzly shodné s NAT zařízeními? Je tam třeba asymetrický vztah, že třeba adresa bude přeložena, ale pak ještě teprv bude routovaná na ještě odlišný výstupní bod?
4. Pozoruji zvláštní věc: zatímco  interní IP  neveřejnou (100.45.22.33 - tzv IPv4  shared spae, to bych chtěl vysvětlit co je zač), a externí klasicky  nějakou jinou třeba 66.34..... , jak je možné, že se dostanu na IP 10.xxx.xxx.xxx (ano deset). Jak je to routováno? je o dashboard operátora.


Souvisí s odpovědí nějak BGP protokol?


Jose D

  • *****
  • 850
    • Zobrazit profil
Re:Může ISP dělat NAT přes víc IP?
« Odpověď #1 kdy: 06. 02. 2019, 19:05:37 »
jo. v podstatě všechno co jsi popsal je důvod, proč se vymyslelo IPv6, protože jsou to všechno workaroundy na nedostatek veřejných IPv4 adres. Takže vše na co se ptáš, a co se pokusím naznačit je popis rovnáku na ohejbák.


Je možné, aby se měnila "moje" IP adresa (tedy vnější, myšlena ta, kterou uvidí protistrana), pokud se připojím (já vytvorim odchozi spojení) ke 2 ruzným serverům (například z důvodu, že jeden server je  číně :D a druhý v Africe)? Klidně i ve stejném čase? Jsem samozřejmě připojen 1 rozhraním k ISP. Je to obvyklé, efektivní?

není to obvyklé, ale může to tak být. Pokud má ISP public IPv4 jen pro pár boxů, tak může dělat nějaké podobné routování už v rámci svého intranetu. Tipoval bych spíš nějaký amatérský pokus o loadbalancing, že liché IP posílá někam, a sudé někam jinam. Ale třeba tam je nějaký rozumný důvod.

Jak funguje NAT operátora: Má třeba pool adres (42.36.4.0/255.255.255.0),  ve které má 100 000 klientů? Nebo může mít i "nesouvislé IP" (které by právě třeba byly podle otázky 1  na různých koutech)?

Ano. Zažil jsem wifináře, který měl dva IPv4 rozsahy od dvou dodavatelů konektivity a v podstatě náhodně je přiděloval zájemcům o "veřejnou IP". Samozřejmě žádnou veřejnou IP nedostali, byl to jen 1:1 NAT.

Jaká je struktura sítě operátora? může probíhat překlad na více prvcích?

Můžes se pokusit zjistit pomocí traceroute. Jinak nejsem zaměstnancem Tvého operátora, takže na tohle se nedá odpovědět :) Překlad stojí nějaké CPU zdroje, takže je rozumné to nějakým způsobem rozložit.

100.45.22.33 - tzv IPv4  shared spae, to bych chtěl vysvětlit co je zač

vysvětleno v rfc6598

jak je možné, že se dostanu na IP 10.xxx.xxx.xxx (ano deset). Jak je to routováno? je o dashboard operátora.

Protože nějaký síťový box který je směrem od tvé default route ven má routu do sítě 10.XXX. Na tom nic zvláštního není, tak funguje Internet i internet.

Souvisí s odpovědí nějak BGP protokol?
Teoreticky by možná mohl, ale tipnul bych si, že to tam ten tvůj ISP má zadrátovaný staticky.

Re:Může ISP dělat NAT přes víc IP?
« Odpověď #2 kdy: 06. 02. 2019, 19:12:04 »
1. Je možné, aby se měnila "moje" IP adresa (tedy vnější, myšlena ta, kterou uvidí protistrana), pokud se připojím (já vytvorim odchozi spojení) ke 2 ruzným serverům (například z důvodu, že jeden server je  číně :D a druhý v Africe)? Klidně i ve stejném čase? Jsem samozřejmě připojen 1 rozhraním k ISP. Je to obvyklé, efektivní?
Ano, je to možné. NAT si musí udržovat tabulku spojení, a pakety patřící do jednoho spojení NATovat pořád stejně. Ale dvě různá spojení může klidně mapovat na různé adresy. Obvyklé – jak kde, efektivní – vystačí si s menším počtem veřejných IP adres, protože tam funguje agregace. Když bude NATovat třeba 16 uživatelů na jednu IP adresu, může se mu tam sejít víc uživatelů, kteří budou vytvářet větší množství spojení, a NATu mohou dojít volné porty. Když bude mapovat 256 uživatelů na 16 veřejných adres, je to v průměru pořád 16 uživatelů na jednu adresu, ale v tom větším množství uživatelů se spíš najdou takoví, kterým stačí malý počet spojení nebo zrovna nejsou aktivní vůbec. Na druhou stranu to ale znamená, že musí všechny ty uživatele NATovat na jednom zařízení. Teoreticky se to dá poskládat i jinak, na jedněch zařízení rozdělovat provoz na různé NATy, ale byla by to spíš komplikace. Je ale těžké napsat „nedělá se to“, protože se pak vždycky objeví někdo s tím, že on to tak má :-)

2. Jak funguje NAT operátora: Má třeba pool adres (42.36.4.0/255.255.255.0),  ve které má 100 000 klientů? Nebo může mít i "nesouvislé IP" (které by právě třeba byly podle otázky 1  na různých koutech)?
Může to tak být. Ale nedá se říct obecné pravidlo, že to všichni mají nějakým způsobem – záleží na topologii sítě, na tom,jak historicky vznikla a spoustě dalších faktorů.

Nevím, co myslíte tím „nesouvislé IP“.

3. Jaká je struktura sítě operátora? může probíhat překlad na více prvcích? co jsou to edge routery? a jsou konečné výstupní uzly shodné s NAT zařízeními? Je tam třeba asymetrický vztah, že třeba adresa bude přeložena, ale pak ještě teprv bude routovaná na ještě odlišný výstupní bod?
Překlad může probíhat na více prvcích. Pokud se provádí NAT 1:N, není to výpočetně úplně jednoduchá záležitost (ve srovnání třeba s routováním), takže jeden prvek toho neutáhne mnoho. Také tím vzniká single point of failure. Na druhou stranu velcí operátoři mají pro svoje potřeby pořád dost veřejných adres, takže se NATování 1:N pořád spíš snaží vyhnout. Konečné výstupní uzly nemusí být shodné s NATem, spíš to tak bude u hodně malých „operátorů“, kteří mají jedinou konektivitu do internetu.

4. Pozoruji zvláštní věc: zatímco  interní IP  neveřejnou (100.45.22.33 - tzv IPv4  shared spae, to bych chtěl vysvětlit co je zač), a externí klasicky  nějakou jinou třeba 66.34..... , jak je možné, že se dostanu na IP 10.xxx.xxx.xxx (ano deset). Jak je to routováno? je o dashboard operátora.
IP adresy z privátních bloků (např. ty 10.0.0.0/8) nejsou routovatelné v globálním internetu. Ale ISP si je ve své síti může routovat jak je libo. Problém je, že vy si je můžete použít také ve své síti, a pak se na ten dashboard nedostanete, protože se ty adresy budou routovat uvnitř vaší sítě a do sítě ISP se vůbec nedostanou. V takhle jednoduchém případě se to asi nestane, prostě si zvolíte jiný rozsah – ale přidejte do toho záložní konektivitu od jiného ISP nebo nějakou VPN a hned se můžete dostat do problémů, že se vám někde sejdou stejné privátní rozsahy z různých sítí.

Souvisí s odpovědí nějak BGP protokol?
Spíš ne. Pomocí BGP si operátoři vyměňují informace o tom, kterou cestou je dostupná která síť – konfigurují se na jeho základě routovací tabulky. Teoreticky by se IP adresa pro NAT mohla vybírat na základě routovací tabulky, ale byla by to spíš komplikace bez reálného přínosu.

Re:Může ISP dělat NAT přes víc IP?
« Odpověď #3 kdy: 07. 02. 2019, 14:52:09 »
Měl bych dotaz na síťovou infrastrukturu. Bude se to točit okolo NATu.
1. Je možné, aby se měnila "moje" IP adresa (tedy vnější, myšlena ta, kterou uvidí protistrana), pokud se připojím (já vytvorim odchozi spojení) ke 2 ruzným serverům (například z důvodu, že jeden server je  číně :D a druhý v Africe)? Klidně i ve stejném čase? Jsem samozřejmě připojen 1 rozhraním k ISP. Je to obvyklé, efektivní?
Nejen že to možné je, ale je to obvyklé. Jmenuje se to CGNAT (Carrier Grade NAT) a záleží na nastavení, jak agresivně přiděluje různé veřejné adresy různým spojením. Naprosto nelze očekávat, že dvě různá spojení z mého počítače budou mít stejnou zdrojovou IPv4 adresu.
Některé služby s tím mají dost potíží, mj. VPN přes PPTP (GRE) protokol. Tam je omezující už ten GRE protokol, a kromě jiných věcí je i to důvodem, proč se tyto VPN opouštějí.
Z velkých ISP tohle používají třeba O2 a UPC (u novějších instalací) - máte veřejnou IPv6 a IPv4 přes CGNAT.