Domanda
Un mio amico mi ha detto che esiste un modo per connettere due IP privati senza utilizzare un server proxy.L'idea era che entrambi i computer si collegassero a un server pubblico e in qualche modo il server si unisse alle connessioni private e non utilizzasse più larghezza di banda.
È vero?Come si chiama questa tecnica?
Soluzione
Esiste una tecnica chiamata "Perforazione" che funziona bene con NAT "Cone" (Cone è una famiglia tecnica di router).Questa non è una tecnica sicura al 100%, oggi funziona bene con UDP su circa l'80% del router.
Esistono alcune implementazioni della libreria per realizzare la perforazione: STORDIRE (Wikipedia)
Altri suggerimenti
Questo è vero.E' il modo Copilota di FogCreek lavori
Dai un'occhiata all'articolo 2 di Joel Articolo di Copilota 2.0.
Il tuo amico potrebbe riferirsi ai VIP (IP virtuali).Da quanto ho capito, un VIP è solitamente controllato da un componente hardware come un router e quindi reindirizza a uno dei tuoi 2 IP privati.Lo usiamo con un cluster di macchine dietro un VIP.Non sono un tipo da rete, quindi questo è più o meno l'ambito delle mie conoscenze.
Se stai cercando di unire due reti private (due reti di macchine dietro un NAT), il modo migliore per farlo è con un VPN.Ci sono molte attrezzature disponibili per raggiungere questo obiettivo.
Non sono sicuro che sia quello a cui stai pensando, ma potresti fare qualcosa di simile con il tunneling ssh.Supponiamo che tu voglia che l'utente A su 10.1.2.3/24 connetta un server mysql sugli utenti B su 192.168.0.3/24.Non esiste una connettività di rete diretta tra le due reti, ma entrambe le macchine possono connettersi al serverA sull'Internet pubblica.
utenteB esegue questo comando:
ssh -R localhost:13306:localhost:3306 username@serverA
utenteA esegue questo comando:
ssh -L 3306:localhost:13306 username@serverA
Ora l'utenteA può utilizzare qualsiasi strumento desideri per connettersi a mysql su localhost e il cxn verrà incanalato attraverso il serverA e al demone mysql in esecuzione su localhost sulla macchina dell'utenteB.
(speriamo senza errori di battitura, scritto con una mano mentre tengo mia figlia di due giorni =))