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
paraclientspecified
em seu servidor. Se estiver definido comoyes
ouno
, 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 de40000
(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.