uTorrent e PuTTY - Como transformar a conexão em uma ativa?

4

Há um modo ativo e passivo quando falamos de torrent. Passivo, é quando você não consegue se conectar aos colegas ativamente. Ativo é quando suas portas são redirecionadas e outras podem se conectar a você.

O que eu fiz até agora, é instalado um Debian no meu servidor. Então eu adicionei GatewayPorts yes no meu arquivo sshd_config. Depois disso, no PuTTY, configurei a seguinte configuração:
- Portas remotas fazem o mesmo - portas locais aceitam conexões de outros hosts
Então eu adicionei um novo forward como: 4D8080 (IPv4, Dynamic, na porta 8080 do meu PC).

Depois disso, configuro meu uTorrent para usar o proxy SOCKS5 para cada conexão possível, em localhost , port 8080 . Mas meu cliente mostrará o sinal vermelho na parte inferior direita.

Existe uma solução para isso? (Algo certamente não está certo, eu recebo 0 nós DHT também.)

    
por Shiki 14.12.2011 / 13:08

3 respostas

4

Seus dois problemas (não sendo conectáveis e não encontrando nós DHT) estão relacionados, mas eles têm diferentes causas e soluções (parciais) diferentes.

Conectividade

Para poder aceitar conexões de entrada, você precisa realizar três coisas:

  • Encaminhe a porta remota uTorrent escuta a sua máquina cliente.

    Em Preferências → Conexão → Porta de escuta → Porta usada para conexões de entrada , o uTorrent permite especificar uma porta única para conexões de entrada. Defina como 40000 (por exemplo).

    Para encaminhar esta porta, digite Conexão → SSH → Túneis no PuTTY e adicione a seguinte porta encaminhada:

    R40000 127.0.0.1:40000
    

    A verificação de portas locais aceitam conexões de outros hosts não é necessária nem desejada para isso. Ele é usado para permitir que outras máquinas se conectem ao seu computador e façam uso das portas locais e dinâmicas encaminhadas.

    A verificação de que portas remotas fazem o mesmo só é necessária se você definir GatewayPorts para clientspecified em seu servidor. Se estiver definido como yes ou no , essa opção não terá efeito.

  • Faça com que o uTorrent relate o IP correto ao rastreador.

    Por padrão, o rastreador resulta em seu melhor palpite ao adicionar um IP à lista de pares. O encaminhamento dinâmico de portas pode (isso depende do rastreador), fazendo com que um endereço IP local ( 10.xxx.yyy.zzz ) seja adicionado à lista peer. O IP que deve ser adicionado é o do seu servidor .

    Você pode especificá-lo em Preferências → BitTorrent → IP / Hostname para reportar ao rastreador . Nem todos os trackers respeitam essa configuração, mas isso deve ajudar.

  • Permitir que o uTorrent aceite conexões de entrada.

    Em Preferências → Avançado , você pode modificar o campo de bits bt.transp_disposition .

    Ao usar um túnel SSH com encaminhamento de porta remota para conexões TCP e UDP (veja abaixo), eu o definiria como 13 . Isso permite conexões TCP e TCP e UDP peer-to-peer de saída.

Conexões DHT / UDP

O PuTTY e o SSH não escutam em nenhuma porta UDP, portanto, nem a porta dinâmica nem a remota que você enviou funcionarão imediatamente. Como o DHT usa o UDP, também não funcionará.

  • Conexões UDP de entrada

    Se você instalar socat no seu servidor ( apt-get install socat ) e na sua máquina cliente (usando Socat for Windows ), você pode transformar conexões UDP de entrada em conexões TCP, encaminhá-las pelo túnel e convertê-las de volta para conexões UDP na sua máquina cliente.

    Para fazer isso, execute

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

    no seu servidor e

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

    na sua máquina cliente.

    A escolha do número de porta 50000 é arbitrária, mas deve ser diferente de 40000 (para poder distinguir um tipo de conexão do outro).

    Para o encaminhamento real, digite Conexão → SSH → Túneis no PuTTY e adicione a seguinte porta encaminhada:

    R50000 127.0.0.1:50000
    
  • Conexões UDP de saída

    O roteamento de conexões UDP de saída através do túnel SSH não é tão fácil e pode até ser impossível. O método acima não funcionará, pois socat apenas atende a uma porta específica, enquanto a porta de destino de uma conexão de saída pode ser qualquer coisa. Além disso, quando um pacote TCP atinge a porta encaminhada dinamicamente, você não pode controlar o que acontece com ele.

    Seria possível configurar conexões UDP em pares, mas provavelmente não valeria a pena. O DHT deve funcionar bem com conexões de entrada, uma vez que você tenha se conectado ao primeiro ponto.

por 03.08.2012 / 03:46
0

você precisa fazer o contrário ... Você precisa ter portas remotas aceitando conexões de outros hosts. E uma regra de firewall no seu servidor, permitindo o tráfego de entrada para a porta de escuta definida nas preferências do utorrent. (embora eu não tenha certeza se isso é propagado através de meias - você precisa testá-lo e checar netstat )

    
por 14.12.2011 / 13:28
0

O modo de proxy SOCKS dinâmico (a opção "D") não pode manipular conexões de entrada para você porque não há tal provisão no protocolo. Um protocolo de proxy só deve manipular suas conexões de saída, afinal.

Você precisa adicionar um redirecionamento remoto (a opção "R"), para que seu servidor SSH ouça em uma porta e redirecione os pacotes para você. Veja o seguinte extrato da página 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)).

Note, no entanto, que este recurso de encaminhamento de porta pode alterar o IP de origem do peer remoto, o que pode atrapalhar o protocolo bittorrent. Se este for o caso, você precisa usar VPN em vez de SSH.

    
por 14.12.2011 / 16:44