121
Sítě / NET bez překladu portů a Symetrický NAT,: rozbor, otázky
« kdy: 13. 01. 2021, 13:10:40 »
Měl bych nějaké otázky na symetrický NAT (pro IP v 4.). K čemu je dobrý nebo proč byl vymyšlen? Přepokládám NAT, který má jen vystupuje pod jednou IP. Mám načtené definice druhů NATů včetně rozlišení nefiltrovaný/filtrovaný adresou/filtrovaný adresou+portem a druhého rozlišení Adress/Adress+Port Dependent.
Jestli to dobře chápu, tak symetrický NAT ( neboli výmluvně nazvaný Endpoint mapped)znamená , že přeložené číslo portu musí být unikátní (kromě interní IP+portu) také pro Cílovou IP (a + ještě cílový port v případě port restricted, )
To znamená následující(za předpokladu, že NAT vystupuje pod jednou IP):
Primárním klíčem Full Cone NAT je jen přeložené číslo portu. Do tabulky se uloží sIP,sPORT,natPORT
Primárním klíčem (addr)Restricted NAT je jen přeložené číslo portu + cílová IP, Do tabulky se uloží sIP,sPORT,natPORT,dIP
Primárním klíčem port(+addr)Restricted NAT je jen přeložené číslo portu + cílová IP + cílový port. sIP,sPORT,natPORT,dIP,dPORT
U symetrického NATu stačí z definice, aby primární klíč bylo jenom cílové číslo portu. Jelikož to úplně popisuje zdrojové i cílové IP a PORT.
A tedy Symetrický Full cone NAT je nesmysl. (Nevím jak pouze address restricted , označení symetrický se používá pro portrestricted)
K čemu tedy byl symetrický NAT vymyšlen? Je to něco ve snaze "zrychlit" prohledávání překladové tabulky jen podle přeloženého portu (což ale stejný nedává smysl, protože jestli se hledá podle 2 bajtů nebo nebo 8 bajtů je snad jedno a za druhé tím vzniká problém, že nelze odhalit podvržení remote IP)? Nebo z důvodu "Vyšší bezpečnosti" (že se "nesdílí stejná čísla")?
Druhá otázka je na NA(P)T obecně. Většinou se dnes už myslím používá pouze NAPT (vždy s překladem portů). Existuje ale i dnes reálné využití jen NATu (bez překladu portů). Pak mě zajímá, k čemu je to dobré. Já si představím x počítačů za NATem, který nemění čísla portů. Je to zjednodušené tak, že v překladové tabulce chybí sloupec přeložené číslo portu?
Využívá se toho(nebo spíš spoléhá), že zdrojové porty (ze schované sítě) jsou náhodné a nebudou spolu kolidovat, když se tedy současně(neboli po dobu trvání spojení a záznamu v prekladové tabulce) 2 PC za jedním NATem budou chtít připojit se stejným source portem? Pak se to trochu komplikuje podle druhou filtrování natu(full cone,restricted,port restricted), a shody cílové IP+ portu může dojít k různým situacím, vznikne nejednoznačnost a nebo ne. ě imunita proti podvržení IP.
Co se stane, když tedy 2 počítače náhodou se budou chtít připojit stejným zdrojovým portem? Druhý počítač se nepřipojí, dostane nějaké ICMP info? Nebo druhá možnost, že spojení bude NATem přeřazeno na druhý PC který nověji vystřelil spojení, je asi zvrácená.
Nebo je tom modelovém příkladu něco špatně, že takto se to nepoužívá?
A na závěr: je NAT mechanismus pro TCP nějak složitější než pro UDP? U UDP to končí odesláním paketu.(BTW jaký je timeout/TTL v NAT tabulce?) Jestli záznam má nějaký další sloupec jako stav, podle toho, zda došlo k úplnému otevření spojení nebo taky jako u UDP stačí k odeslání jeden paket (první:SYN)
Jestli to dobře chápu, tak symetrický NAT ( neboli výmluvně nazvaný Endpoint mapped)znamená , že přeložené číslo portu musí být unikátní (kromě interní IP+portu) také pro Cílovou IP (a + ještě cílový port v případě port restricted, )
To znamená následující(za předpokladu, že NAT vystupuje pod jednou IP):
Primárním klíčem Full Cone NAT je jen přeložené číslo portu. Do tabulky se uloží sIP,sPORT,natPORT
Primárním klíčem (addr)Restricted NAT je jen přeložené číslo portu + cílová IP, Do tabulky se uloží sIP,sPORT,natPORT,dIP
Primárním klíčem port(+addr)Restricted NAT je jen přeložené číslo portu + cílová IP + cílový port. sIP,sPORT,natPORT,dIP,dPORT
U symetrického NATu stačí z definice, aby primární klíč bylo jenom cílové číslo portu. Jelikož to úplně popisuje zdrojové i cílové IP a PORT.
A tedy Symetrický Full cone NAT je nesmysl. (Nevím jak pouze address restricted , označení symetrický se používá pro portrestricted)
K čemu tedy byl symetrický NAT vymyšlen? Je to něco ve snaze "zrychlit" prohledávání překladové tabulky jen podle přeloženého portu (což ale stejný nedává smysl, protože jestli se hledá podle 2 bajtů nebo nebo 8 bajtů je snad jedno a za druhé tím vzniká problém, že nelze odhalit podvržení remote IP)? Nebo z důvodu "Vyšší bezpečnosti" (že se "nesdílí stejná čísla")?
Druhá otázka je na NA(P)T obecně. Většinou se dnes už myslím používá pouze NAPT (vždy s překladem portů). Existuje ale i dnes reálné využití jen NATu (bez překladu portů). Pak mě zajímá, k čemu je to dobré. Já si představím x počítačů za NATem, který nemění čísla portů. Je to zjednodušené tak, že v překladové tabulce chybí sloupec přeložené číslo portu?
Využívá se toho(nebo spíš spoléhá), že zdrojové porty (ze schované sítě) jsou náhodné a nebudou spolu kolidovat, když se tedy současně(neboli po dobu trvání spojení a záznamu v prekladové tabulce) 2 PC za jedním NATem budou chtít připojit se stejným source portem? Pak se to trochu komplikuje podle druhou filtrování natu(full cone,restricted,port restricted), a shody cílové IP+ portu může dojít k různým situacím, vznikne nejednoznačnost a nebo ne. ě imunita proti podvržení IP.
Co se stane, když tedy 2 počítače náhodou se budou chtít připojit stejným zdrojovým portem? Druhý počítač se nepřipojí, dostane nějaké ICMP info? Nebo druhá možnost, že spojení bude NATem přeřazeno na druhý PC který nověji vystřelil spojení, je asi zvrácená.
Nebo je tom modelovém příkladu něco špatně, že takto se to nepoužívá?
A na závěr: je NAT mechanismus pro TCP nějak složitější než pro UDP? U UDP to končí odesláním paketu.(BTW jaký je timeout/TTL v NAT tabulce?) Jestli záznam má nějaký další sloupec jako stav, podle toho, zda došlo k úplnému otevření spojení nebo taky jako u UDP stačí k odeslání jeden paket (první:SYN)