minimalistický port forwarding na neveřejnou IP
Ahojte, je možný udělat port forwarding na ne-veřejnou IP adresu trochu jinak než klasicky z routeru na na vybraný PC v lokální síti? V tom je to jiné. Obě adresy jsou internetové a jen ta příjmová má veřejnou IP adresu. Tedy že ten cílový počítač není součástí podsítě toho pc, na které budou pakety z internetu chodit.
Jakou mám představu: na veřejným počítači nastavím port forwarding z portu 80 na 1234 a samozřejmě bude muset dojít i k NATu, bude muset být obětována informace o skutečné zdrojové IP adrese požadavku. Na cílovém PC , o kterym předpokládejmě že je rovnou připojen k internetu, ale nemá veřejnou IP, poběží server na 1234 portu.
Půjde to takto? Asi tam bude muse být něco jako NAT punching, že cílový počítač nejprv vyšle paket na veřejný PC a to a veřejný PC mu bude muset odpovědět prázdným paketem, aby se se po cestě prorazilo spojení přes NAT a pravidelně keepalive
A celé to bude mít podmínku, že bude muse být i fixovaný druhý portu (že defacto půjde jen o jedno spojení mezi porty 1234 a 64205, který jsem teď určil)
Bude to takto fungovat? Jen v případě UDP nebo i TCP ??? To mě taky dost zajímá. (A pro poznámku, vím, že ideál by bylo tam hodit normální VPN, kde vše půjde nativně, ale zajímá mě takovýhle minimalistický řešení i přes ty nevúhody) a jeho provozuschopnost
Pleteš tady několik věcí dohromady (o tom, že to popisuješ kostrbatě ani nemluvím) a tak jak si to představuješ je to nesmysl.
Pokud je ten počítač s veřejnou IP součástí trasy mezi oběma hostiteli kteří mají spolu komunikovat, pak je to otázka klasického portfowardingu.
Pokud je naopak někde na internetu, je potřeba buď NAT punching, nebo lépe nějakou formu VPN, ideálně WG.
Možno to zle chápem, ale podľa mňa by mal byť:
1. PC, ktorý má verejnú IP je server - odpovedá na dotazy od klientov
2. PC, ktorý nemá verejnú IP bude klient - posiela požiadavky na server
Ak to takto nejde, potom VPN, alebo cez aplikáciu na mieru - nejaké P2P spojenie....
Ne: 2. :pc bez verejné IP bude fakticky server ,1. Ukolem Pc s verejnou ip bude zajistit, se komunikacie dostala na "1"
Klienti : zvysok internetu.
Pres VPN by to slo nádherně. Ale zkoumám, zda to jde timto "raw" způsobem
Ak teda pc, kde má byť server nemá verejnú ip adresu, ako sa chceš na jeho ip adresu - rozhranie routru, ktorý je z vonkajšieho internetu neviditeľný vôbec dostať ?
Kde chceš a čo forwardovať, keď sa na jeho adresu nedostaneš?
Podľa mňa je to nerealizovateľné bez VPN...
Stejně jako, lze forwardovat na adresu VPN tunelu - ta je dosažitelná právě vďaka tomu tuneli. Nějak, že by "server" musel iniciovat spojení na ten počítač s veřejnou IP.
Ale už jsem přišel na závěr:
Přemýšlel jsem o tom a došel jsem k závěru, že to prakticky není možné (pro server obsluhující víc než 1 klienta) , z tohoto důvodu omezení: "server" iniciuje jen jedno spojení na počítač s veřejnou IP a potom kvůli forwardingu s pouze jedním párem sourceport-destination port zanikne informace, který klient komunikuje a "server" nedokáže rozlišit, pokud bude komunikovat víc klientů
Teoreticky by mohl "server" vytvořit pool spojení na server (16) a veřejný PC by musel nějak (de+)multiplexovat které spojení kam patří a i tak by to bylo omezené na 16 současných spojení ... A to už je složitější, že už se vyplatí ta VPN.