Sto usando netcat come backend per spalare dati avanti e indietro per un programma che sto facendo. Ho testato il mio programma sulla rete locale e, una volta funzionato, ho pensato che sarebbe stato semplicemente necessario inoltrare una porta dal mio router per far funzionare il mio programma su Internet. Ahimè! Questo sembra non essere il caso.Come posso ottenere netcat per accettare connessioni dall'esterno della LAN?
Se inizio netcat in ascolto sulla porta 6666 con:
nc -vv -l -p 6666
,
poi andare a 127.0.0.1:6666
in un browser, come previsto vedo una richiesta HTTP GET venire attraverso netcat (e il mio browser si siede in attesa invano). Se vado a my.external.ip.address:6666
, tuttavia, nulla viene visualizzato e il browser visualizza "Impossibile connettersi a my.external.ip.address:6666
".
So che la porta è correttamente inoltrata, come www.canyouseeme.org dice che la porta 6666 è aperta (e quando netcat non è in ascolto, è chiusa).
Se eseguo netcat con -g my.adslmodem's.local.address
per impostare l'indirizzo del gateway, ottengo lo stesso comportamento. Sto usando questa opzione della riga di comando correttamente? Qualche idea su cosa sto facendo male?
Hah. No Ho fatto una domanda simile su SF e hanno pensato che fosse troppo nuovo, non saprei dire che cosa fosse una "forcina" (e la gente continuava a riferirsi a "hairpin NAT" e mi diceva a RTFM) finché non ho letto questa risposta Grazie. – isomorphismes
Ha funzionato anche per me Non ho usato 0.0.0.0 Come hai detto, solo porta su target machine. Grazie! –