uTorrent e PuTTY -> Come trasformare la connessione in attiva?


4

C'è una modalità attiva e passiva quando parliamo di torrent. Passivo, è quando non è possibile connettersi attivamente ai peer. Attivo è quando le tue porte sono forwarder e altri possono connettersi a te.

Quello che ho fatto finora, è installato un Debian sul mio server. Quindi ho aggiunto il GatewayPorts yesmio file sshd_config. Successivamente, in PuTTY, ho impostato la seguente configurazione:
- Le porte remote fanno lo stesso
- Le porte locali accettano connessioni da altri host
Quindi ho aggiunto un nuovo forward come:
4D8080(IPv4, Dynamic, sulla porta 8080 del mio PC).

Dopodiché, ho impostato il mio uTorrent per utilizzare il proxy SOCKS5 per ogni possibile connessione alla localhostporta 8080. Ma il mio cliente mostrerà il segno rosso nella parte in basso a destra.

c'è una soluzione a questo? (Qualcosa non è certo giusto, ho anche 0 nodi DHT.)


La tua descrizione ci dice come ti connetti al tuo server debian, quindi presumibilmente la tua connessione torrent in uscita è putty-> debian-> internet. Stai pubblicizzando un intervallo di porte nel tuo client, in che modo queste porte arrivano al server debian? È su un IP pubblico?
Paolo,

Il server è su un IP pubblico, sì. Sto usando una porta casuale (diciamo 23456 nel mio client torrent) e una porta simile a 8085 nella mia pagina proxy di PuTTY + uTorrent. Il mio PC (uTorrent) -> SOCKS5 (127.0.0.1) -> PuTTY (IP remoto) -> server Debian (con IP pubblici e server SSH e GatewayPorts yes) -> Internet.
Shiki,

C'è un howto dell'autore di MyEnTunnel, che purtroppo non funziona. nemesis2.qx.net/forums/index.php?topic=23.0 Ma forse qualcuno sarà in grado di risolvere il mistero.
Shiki,

Risposte:


4

I tuoi due problemi (non essere collegabili e non trovare nodi DHT) sono correlati, ma hanno cause diverse e soluzioni (parziali) diverse.

Connettività

Per poter accettare le connessioni in entrata, devi compiere tre cose:

  • Inoltra la porta remota uTorrent ascolta il tuo computer client.

    In Preferenze → Connessione → Porta in ascolto → Porta utilizzata per le connessioni in entrata , uTorrent ti consente di specificare una singola porta per le connessioni in entrata. Impostalo su 40000(ad esempio).

    Per inoltrare questa porta, immettere Connessione → SSH → Tunnel in PuTTY e aggiungere la seguente porta inoltrata:

    R40000 127.0.0.1:40000
    

    Controllare che le porte locali accettino connessioni da altri host non è richiesto né desiderato per questo. Viene utilizzato per consentire ad altre macchine di connettersi al computer e utilizzare le porte locali e dinamiche inoltrate.

    Controllo Porte remote fanno lo stesso è richiesto solo se si imposta GatewayPortsper clientspecified il vostro server. Se è impostato su yeso no, questa opzione non ha alcun effetto.

  • Fai in modo che uTorrent riporti al tracker l'IP corretto.

    Per impostazione predefinita, il tracker risulta la migliore ipotesi quando si aggiunge un IP all'elenco peer. Il port forwarding dinamico (questo dipende dal tracker) potrebbe far sì che un indirizzo IP locale ( 10.xxx.yyy.zzz) venga aggiunto all'elenco peer. L'IP che dovrebbe essere aggiunto invece è quello del tuo server .

    Puoi specificarlo in Preferenze → BitTorrent → IP / Nome host per segnalare al tracker . Non tutti i tracker rispettano questa impostazione, ma dovrebbe aiutare.

  • Consenti a uTorrent di accettare le connessioni in entrata.

    In Preferenze → Avanzate , puoi modificare il campo bit bt.transp_disposition .

    Quando si utilizza un tunnel SSH con port forwarding remoto per connessioni TCP e UDP (vedere di seguito), lo imposto su 13. Ciò consente TCP in uscita e connessioni peer-to-peer TCP e UDP in entrata.

Connessioni DHT / UDP

PuTTY e SSH non ascoltano su nessuna porta UDP, quindi né la porta dinamica né quella remota che hai inoltrato funzioneranno immediatamente. Poiché DHT utilizza UDP, non funzionerà neanche.

  • Connessioni UDP in entrata

    Se installi socat sul tuo server ( apt-get install socat) e sul tuo computer client (usando Socat per Windows ), puoi trasformare le connessioni UDP in arrivo in connessioni TCP, inoltrarle attraverso il tunnel e riconvertirle in connessioni UDP sul tuo computer client.

    Per fare ciò, eseguire

    socat udp4-listen:40000,reuseaddr,fork tcp:localhost:50000
    

    sul tuo server e

    socat tcp4-listen:50000,reuseaddr,fork UDP:localhost:40000
    

    sul tuo computer client.

    La scelta del numero di porta 50000è arbitraria, ma deve essere diversa da 40000(per poter distinguere un tipo di connessione dall'altro).

    Per l'inoltro effettivo, inserisci Connessione → SSH → Tunnel in PuTTY e aggiungi la seguente porta inoltrata:

    R50000 127.0.0.1:50000
    
  • Connessioni UDP in uscita

    Il routing delle connessioni UDP in uscita attraverso il tunnel SSH non è così semplice e potrebbe anche essere impossibile. Il metodo sopra non funzionerà poiché socatascolta solo una porta specifica, mentre la porta di destinazione di una connessione in uscita potrebbe essere qualsiasi cosa. Inoltre, una volta che un pacchetto TCP raggiunge la porta inoltrata in modo dinamico, non è possibile controllare cosa succede.

    Sarebbe possibile impostare connessioni UDP su base peer-by-peer, ma probabilmente non vale la pena. DHT dovrebbe funzionare bene con le connessioni in entrata, una volta connesso al primo peer.


Un'altra risposta a cinque stelle Dennis. Lo proverò domani. :)
Shiki,

0

devi farlo al contrario ... Devi avere porte remote che accettano connessioni da altri host. E una regola firewall sul tuo server che consente il traffico in entrata verso la porta di ascolto impostata nelle preferenze utorrent. (anche se non sono sicuro che questo si propaghi attraverso le calze - devi provarlo e controllare netstat)


Per quanto ne so, GatewayPorts fa la prima cosa che hai menzionato. Informazioni sul firewall ... non esiste un firewall, nessun iptables. È disabilitato
Shiki,

(Uhm .. e se qualcuno sa cosa mi sto perdendo, ti prego di approfondire. Sii gentile con i noob, sono nuovo a questa cosa. E immagino che se qualcuno farà una ricerca su Google sull'argomento, lo apprezzerà anche. :) )
Shiki,

0

La modalità proxy SOCKS dinamica (l'opzione "D") non è in grado di gestire le connessioni in entrata per te perché non esiste tale disposizione nel protocollo. Dopo tutto, un protocollo proxy dovrebbe gestire solo le connessioni in uscita.

Devi aggiungere un reindirizzamento remoto (l'opzione "R"), in modo che il tuo server SSH sia in ascolto su una porta e reindirizzi i pacchetti a te. Vedi il seguente estratto della pagina man:

 -R [bind_address:]port:host:hostport
     Specifies that the given port on the remote (server) host is to
     be forwarded to the given host and port on the local side.  This
     works by allocating a socket to listen to port on the remote
     side, and whenever a connection is made to this port, the connec-
     tion is forwarded over the secure channel, and a connection is
     made to host port hostport from the local machine.

     Port forwardings can also be specified in the configuration file.
     Privileged ports can be forwarded only when logging in as root on
     the remote machine.  IPv6 addresses can be specified by enclosing
     the address in square braces or using an alternative syntax:
     [bind_address/]host/port/hostport.

     By default, the listening socket on the server will be bound to
     the loopback interface only.  This may be overriden by specifying
     a bind_address.  An empty bind_address, or the address '*', indi-
     cates that the remote socket should listen on all interfaces.
     Specifying a remote bind_address will only succeed if the
     server's GatewayPorts option is enabled (see sshd_config(5)).

Si noti tuttavia che questa funzione di port forwarding può cambiare l'IP di origine del peer remoto che può rovinare il protocollo bittorrent. In tal caso, è necessario utilizzare VPN anziché SSH.


Dove posso trovare questa opzione "R" in PuTTY? O dovrei usare Cygwin? A proposito, ho provato a usare il reindirizzamento remoto (in Tunnelier), ma uTorrent non ha funzionato affatto.
Shiki,

(Il protocollo: BTguard.com usa anche il proxy SOCKS5 e funziona perfettamente. Ecco perché pensavo che PuTTY / SSH avrebbe funzionato.)
Shiki

L'opzione si chiama "Remoto" nello stesso posto in cui si trova l'opzione "Dinamica".
billc.cn,

SOCKS5 supporta UDP che viene solitamente utilizzato per eseguire NAT-traversal. Tuttavia, SSH potrebbe non supportare questo.
billc.cn,

Forse sto facendo qualcosa di sbagliato. Spuntare l'opzione "Remoto". POI, porta di origine: 8081 (la porta viene inoltrata nel mio router, per ogni evenienza); Destinazione: 80.211.203.92:23456 e IPv4. Ma dopo aver avviato la connessione, imposta uTorrent su questo indirizzo e non può connettersi affatto. : /
Shiki,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.