Newsgroup: it.comp.lang.perl
Titolo: Perl e NAT

Salve,
     vorrei creare un piccolo script da far girare su server centrale 
che mi permetta di far comunicare due computer entrambi dietro NAT. Ho 
trovato questo documento in rete molto interessante:
http://www.intel.com/cd/ids/developer/asmo-na/eng/79524.htm?page=5
ora per mi viene difficile realizzare in Perl l'esempio tratto da questo 
documento. In pi vorrei sapere se č meglio usare UDP o TCP per fare 
questo script.
Grazie


spedisco questi dati dritti al mio computer: infatti su "nc" che aspetta 
che arrivi qualcosa in risposta alla request si vede "Hello world!"
se nn voglio usare un browser posso usare telnet su un computer fuori 
dalla mia rete nattata e costruire l'opportuna http request.
Per adesso posso usare solo il mio webhost come server centralizzato.
Tuttavia con questo metodo di script posso comunicare solo in un senso, 
avrei bisogno di sviluppare una comunicazione a due sensi.
spero che il concetto di quello che ho scritto sia chiaro.
Grazie

 Grazie
Il tuo secondo post mi ha confuso: vuoi attraversare 2 nat? Un po come
fanno i telefono VoIP? con l' intermediazione di un server e con dei
NAT compiacenti puoi usare un server STUN di cui c' e' anche una RFC.
Su wikipedia trovi degli articoli su vari tipi di NAT traversing.
Non sono informato su tutte le tecniche, ma mi sembra che STUN si
basi sul fatto che per UDP i NAT debbano associare la porta esterna
alla coppia (IP interno/ Porta Interna) che ha mandato il primo
pacchetto uscente quindi tutti i pacchetti UDP che tornano a quella
porta ANCHE DA ALTRO IP vengano consegnati allo stesso IP interno su
quella porta. Quindi il server di intermediazione serve solo per far
conoscere tra loro due macchine nattate che si sono registrate presso
di lui. Se un tipo di NAT associasse la coppia IP/porta solo lla
tripla Portaesterna/IP Estero/porta estera non funzionerebbe.
quindi le porte UDP sul NAT devono essere "registrate" solo con pacchetti
uscenti, ma una volta che due macchine si sono viste in UDP (un keepalive
per mantenere la porta associata sul NAT...) dentro l' UDP ci puoi anche
far passare l' IP o frames ppp e fare una VPN.
non so se conosci 
http://linide.sourceforge.net/nat-traverse/
questo sembra mandare a reffica pacchetti UDP prenotando molte porte e
si incontra con un corrispondente su una di queste mantiene la connessione.
Non ho idea di come si possa fare con TCP (secondo me non si puo') se il
NAT valuta tutte le variabili del TCP compresi il SEQn e ACKn.
http://en.wikipedia.org/STUN
http://en.wikipedia.org/Network_address_traslation
Ciao
Roberto.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 si incontra con un corrispondente su una di queste mantiene la connessione.
Si!, infatti ho poi trovato questo script che mi fa comunicare due 
computer nattati anche a più livelli/strati, dopo poi passa lo STDIN e 
STDOUT anche ad un programma esterno!
Il mio codice di esempio era di un altra cosa, ovvero che con un form 
dal mio sito potevo mandare dei comandi unix alla mio computer nattato. 
Tutto cio tramite GET HTTP perchè è l'unica cosa possibile che mi 
permette il mio webserver.
Grazie