LINUX.ORG.RU

rtorrent и порты


0

0

Всем здрасьте.

Пытаюсь сделать так, чтобы rtorrent мог принимать входящие соединения.

1) настроил его на определенный порт (40890)

2) в port forwarding в роутере сделал соотв. настройку (порт 40890 на IP моего компа 192.168.0.111)

запускаю rtorrent, смотрю уторрентовским порт-чекером http://www.utorrent.com/testport - порт закрыт :(

запускаю netstat:

/etc# netstat -puta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:time                  *:*                     LISTEN      3800/inetd
tcp        0      0 *:x11                   *:*                     LISTEN      4052/X
tcp        0      0 *:auth                  *:*                     LISTEN      3800/inetd
tcp        0      0 localhost.localdoma:ipp *:*                     LISTEN      3913/cupsd
tcp        0      0 *:40890                 *:*                     LISTEN      19741/rtorrent
tcp        0      0 *:msg-icp               *:*                     LISTEN      19778/sshd
tcp        0      0 192.168.0.111:37950     ey-in-f18.1e100.n:https ESTABLISHED 4129/opera
tcp        0  37440 192.168.0.111:60865     66.50.155.22:38867      ESTABLISHED 19741/rtorrent
tcp        0      0 192.168.0.111:42241     bos-m087b-sdr3.blue:aol ESTABLISHED 7681/climm
tcp        0     69 192.168.0.111:57005     CPE002170dbb9e3-C:59650 FIN_WAIT1   -
tcp        0      0 192.168.0.111:49956     78-106-105-124.br:45416 ESTABLISHED 19741/rtorrent
tcp        0  57736 192.168.0.111:34850     190.32.158.26:39247     ESTABLISHED 19741/rtorrent

но получается, что rtorrent фигачит по разным портам, правильно? Непонятно, почему - port_random в конфиге выключен.

часть конфига rtorrent:

#номер порта (или нескольких портов) который открывает клиент для обмена данными
port_range = 40890-40890

#случайный выбор порта для обмена данными. В данном случае он отключён
port_random = no

Подскажите, как решить?

Спасибо заранее

Ответ на: комментарий от edigaryev

аа, точно. Спасибо за ликбез.

Но тогда в чем же дело? Почему порт остается закрытым? No idea :(

dimonomid
() автор топика
Ответ на: комментарий от edigaryev

или подскажите пожалста, как можно еще проверить «открытость» порта, кроме уторрентовского порт-чекера? (Хотя, я проверял с его помощью порт SSH - сказал, что все ОК, порт открыт. Так что, видимо, 40890 действительно почему-то закрыт..)

dimonomid
() автор топика
Ответ на: комментарий от edigaryev

эх, iptables я пока вообще не трогал, вот скоро начну осиливать :) по умолчанию, насколько я знаю, он пропускает все, правильно? Если так, то вряд ли он тут при делах..

dimonomid
() автор топика
Ответ на: комментарий от dimonomid

по умолчанию, насколько я знаю, он пропускает все, правильно?

Да.

Что говорит canyouseeme?

btw, а торренты-то качаются?

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Товарищи, попрошу еще немного ликбеза.

Решил проверить таким образом: остановил sshd, проверил - порт не принимает соединения. Тогда остановил rtorrent, прописал в его настройках порт 29 (который ранее использовался для ssh), пытаюсь запустить rtorrent, получаю

~$ rtorrent
rtorrent: Could not open/bind port for listening: Отказано в доступе

Вопрос: где прописаны правила доступа приложений к портам? Ранее о них ниче не слышал..

dimonomid
() автор топика
Ответ на: комментарий от edigaryev

canyouseeme говорит то же, что и utorrent: порт закрыт. (проверяю порт 29, который для ssh: открыт)

торренты качаются, конечно, но ведь я могу соединиться только с теми, кто может принимать входящие соединения. А с такими же, как я (которые порты не могут настроить), я соединиться не могу.

dimonomid
() автор топика
Ответ на: комментарий от dimonomid

Порты 1-1023 являются привилегированными, обычному пользователю на них «висеть» нельзя.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

значит так, собтвенно проблема решена таким образом: поменял порт на 25702 (разумеется, добавил соотв. правило в роутер), и это заработало. Но очень хочется разобраться, почему не работает с портом 40890, поэтому буду рад дальнейшим наводкам :)

такая строчка есть?

ip = ваш_внешний_IP

нет, такой строчки нет.

вот конфиг rtorrent:

download_rate = 0

#максимальная скорость отдачи. 0 - не ограничена
upload_rate = 0

#каталог для сохранения закачек или откуда буду сидироваться торренты.
directory = /home/dimon/Downloads/torrents/

#каталог куда будет сохраняться состояние торрентов.
#Здесь, в этом примере, они сохраняются в папку  session
session = /home/dimon/Downloads/torrents/session/

#rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы
#и если они есть то ставит их на закачку
schedule = watch_directory,5,5,load_start=/home/dimon/Downloads/torrents/auto_load/*.torrent

#номер порта (или нескольких портов) который открывает клиент для обмена данными
#port_range = 40890-40890
port_range = 25702-25702
download_rate = 0

#максимальная скорость отдачи. 0 - не ограничена
upload_rate = 0

#каталог для сохранения закачек или откуда буду сидироваться торренты.
directory = /home/dimon/Downloads/torrents/

#каталог куда будет сохраняться состояние торрентов.
#Здесь, в этом примере, они сохраняются в папку  session
session = /home/dimon/Downloads/torrents/session/

#rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы
#и если они есть то ставит их на закачку
schedule = watch_directory,5,5,load_start=/home/dimon/Downloads/torrents/auto_load/*.torrent

#номер порта (или нескольких портов) который открывает клиент для обмена данными
#port_range = 40890-40890
port_range = 25702-25702

#случайный выбор порта для обмена данными. В данном случае он отключён
port_random = no

#проверять хэш торрента после закачки
check_hash = yes

#сохранять сессию
session_save = yes

#принимать зашифрованные входящие соединения, устанавливать незашифрованные исходящие соединения,
#если возвращает ошибку, повторять с шифрованием, предпочитать открытый текст после установления
#зашифрованного соединения
encryption = allow_incoming,enable_retry,prefer_plaintext

#использовать udp
use_udp_trackers = yes

#случайный выбор порта для обмена данными. В данном случае он отключён
port_random = no

#проверять хэш торрента после закачки
check_hash = yes

#сохранять сессию
session_save = yes

#принимать зашифрованные входящие соединения, устанавливать незашифрованные исходящие соединения,
#если возвращает ошибку, повторять с шифрованием, предпочитать открытый текст после установления
#зашифрованного соединения
encryption = allow_incoming,enable_retry,prefer_plaintext

#использовать udp
use_udp_trackers = yes

dimonomid
() автор топика
Ответ на: комментарий от dimonomid

нет, такой строчки нет.

А нужно добавить, чтобы с вами могли соединяться другие пиры. Иначе клиент посылает трекеру совершенно другой адрес.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

понял, спасибо, добавил.

(кстати, раз эта опция так важна, то почему, интересно, она не была включена в конфиг по умолчанию?..)

но если перенастроить опять на порт 40890, то порт все равно остается закрытым. А на 25702 - работает

dimonomid
() автор топика
Ответ на: комментарий от dimonomid

>(кстати, раз эта опция так важна, то почему, интересно, она не была включена в конфиг по умолчанию?..)

Наверное потому-что по умолчанию большинство людей не пользуется форвардингом портов, а соединяются напрямую.

но если перенастроить опять на порт 40890, то порт все равно остается закрытым. А на 25702 - работает


А если 40500, например?

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

блин, всее, иду есть и спать.

В процессе попыток сделать так, чтобы работало, сбил настройки порт форвардинга, и только внешний IP был указан верно (40890), а локальный был другой.

Извиняюсь, и огромное спасибо за помощь, edigaryev :)

З.Ы. зато я бы не узнал про опцию ip = мой_внешний_IP, и пребывал бы в неведении, что все хорошо ;)

dimonomid
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.