Почему DHT не может найти ресурс при загрузке через торрент без трекера?

Пожалуйста, сделайте то же, что и я, на вашем vps, и тогда, возможно, проблема воспроизведется, замените переменную $vps_ip вашим реальным IP-адресом vps во время следующих шагов.

wget  https://saimei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-10.4.0-amd64-netinst.iso
transmission-create -o  debian.torrent   debian-10.4.0-amd64-netinst.iso

Создать безтрекерный торрент, показать информацию о нем:

transmission-show  debian.torrent
Name: debian-10.4.0-amd64-netinst.iso
File: debian.torrent

GENERAL

  Name: debian-10.4.0-amd64-netinst.iso
  Hash: a7fbe3ac2451fc6f29562ff034fe099c998d945e
  Created by: Transmission/2.92 (14714)
  Created on: Mon Jun  8 00:04:33 2020
  Piece Count: 2688
  Piece Size: 128.0 KiB
  Total Size: 352.3 MB
  Privacy: Public torrent

TRACKERS

FILES

  debian-10.4.0-amd64-netinst.iso (352.3 MB)

Откройте порт, передача которого выполняется на вашем vps.

firewall-cmd --zone=public --add-port=51413/tcp --permanent
firewall-cmd --reload

Проверьте это с вашего локального компьютера.

sudo nmap $vps_ip -p51413
Host is up (0.24s latency).
PORT      STATE SERVICE
51413/tcp open  unknown
Nmap done: 1 IP address (1 host up) scanned in 1.74 seconds

Добавьте торрент и заполните его именем пользователя и паролем по умолчанию для передачи на вашем vps (с вашим собственным, если вы уже изменили его):

transmission-remote  -n  "transmission:transmission"  --add  debian.torrent
localhost:9091/transmission/rpc/ responded: "success"
transmission-remote  -n  "transmission:transmission"  --list
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1     0%       None  Unknown      0.0     0.0   None  Idle         debian-10.4.0-amd64-netinst.iso
Sum:              None               0.0     0.0
transmission-remote  -n  "transmission:transmission"  -t 1 --start
localhost:9091/transmission/rpc/ responded: "success"

Получите debian.torrent с вашего vps на локальный компьютер.

scp root@$vps_ip:/root/debian.torrent   /tmp  

Теперь попробуйте загрузить его на свой локальный компьютер.

aria2c --enable-dht=true  /tmp/debian.torrent

06/08 09:28:04 [NOTICE] Downloading 1 item(s)

06/08 09:28:04 [NOTICE] IPv4 DHT: listening on UDP port 6921

06/08 09:28:04 [NOTICE] IPv4 BitTorrent: listening on TCP port 6956

06/08 09:28:04 [NOTICE] IPv6 BitTorrent: listening on TCP port 6956
 *** Download Progress Summary as of Mon Jun  8 09:29:04 2020 ***              
===============================================================================
[#a34431 0B/336MiB(0%) CN:0 SD:0 DL:0B]
FILE: /tmp/debian-10.4.0-amd64-netinst.iso
-------------------------------------------------------------------------------

Я жду около часа, загрузка всегда 0%.


person showkey    schedule 08.06.2020    source источник
comment
Этот вопрос кажется более подходящим для superuser.com   -  person the8472    schedule 11.06.2020
comment
Используйте UDP для DHT. Проверьте все порты, какая передача прослушивается   -  person bukkojot    schedule 13.06.2020


Ответы (1)


Если вы используете DHT, вы должны открыть порт UDP в своем брандмауэре, а затем, в зависимости от того, что вы делаете, вы можете указать этот порт для aria2c. Из документов:

DHT использует UDP. Поскольку aria2 не настраивает брандмауэры или маршрутизаторы для переадресации портов, вы можете сделать это вручную.

$ aria2c --enable-dht --dht-listen-port=6881 file.torrent

См. эту страницу. еще несколько примеров использования DHT с aria2c.

person lfalin    schedule 17.06.2020