Ретрекер BTRT позволяет опрашивать другие трекеры и ретрекеры,

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

В связке c dpi позволяет реприоритезировать раздачи в пользу локальных раздач, уменьшая долю торрентов во внешних каналах до 12%,

перенаправлять запросы торрент клиентов к внешним трекерам на локальный ретрекер.

 

Инструкция по установке на CentOS 6.x (RedHat и клоны) (осторожно, возможно требует доработки, т.к. в КЭШе он подключается по другому, в связке с nginx):

 

1. Подключите внешний репозиторий vasexperts

rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru
rpm -Uvh http://vasexperts.ru/centos/6/x86_64/btrt/btrt-repo-1-0.noarch.rpm

 

2. Установите ретрекер

yum install btrt

3. Загрузите схему данных в mysql

chkconfig mysqld on
service mysqld start
mysql_secure_installation
--указываем пароль root, на остальные вопросы отвечаем ответами по умолчанию

mysql -u root -p
вводим команды:
CREATE USER 'btrt'@'localhost' IDENTIFIED BY 'secret_password';
GRANT USAGE ON *.* TO 'btrt'@'localhost' IDENTIFIED BY 'secret_password';
CREATE DATABASE IF NOT EXISTS `btrt` ;
GRANT ALL PRIVILEGES ON `btrt` . * TO 'btrt'@'localhost';
GRANT FILE ON *.* TO 'btrt'@'localhost';

подгружаем схему данных
mysql -ubtrt -p btrt < /etc/btrt/btrt.db_creation.sql

4. Корректируем конфигурацию

cp /etc/btrt/btrt.conf.default /etc/btrt/btrt.conf
vi /etc/btrt/btrt.conf
--исправляем настройки 
password:   "secret_password"
   listeners:                          
       -   host:       "localhost"     -> ваш IP или host
           port:       2720            -> 80
cidr_file:  "/etc/btrt/local_cidrs.conf" -> в файл помешаем список CIDR оператора
cidr_file:  "/etc/btrt/neighboring_cidrs.conf" ->  файл помешаем список CIDR операторов из локального пиринга
neighbors:
добавляем другие трекеры и ретрекеры, у которых запрашивать пиры, либо полностью комментарим секцию

5. Запускам ретрекер

service btrt start

Лог в каталоге /var/log/btrt/

 

6. Настройте в dns зону retracker.local

 

Пример настройки для сервера BIND

 

/etc/bind/named.conf.local 
zone "retracker.local" {
       type master;
       file "master/db.retracker.local";
       notify no;
};

/etc/bind/master/db.retracker.local 

$TTL    86400
@       IN      SOA     @ root.retracker.local. (
                       2011050302      ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                         86400 )       ; Negative Cache TTL

@       IN      NS      ns.server.net.  ; здесь указываете имя вашего ns
       IN      A       91.194.162.11   ; IPv4 адрес retracker.local в сети Crimea-IX

7. Настройте bep22 http://www.bittorrent.org/beps/bep_0022.html

 

а) убедитесь что в вашей сети для адресов абонентов настроен Reverse DNS

Запрос dig -x 1.2.3.4 выдает что-то вроде 4.3.2.1.myisp.ru или *.myisp.ru

Если reverse dns не работает, то настройте его.

 

б) добавьте в свою зону myisp.ru SRV запись для ретрекера:

 

$ORIGIN _tcp.myisp.ru.
_bittorrent-tracker     SRV     5 0 80 retracker.local.   

 

Документация по настроечным параметрам http://vasexperts.ru/wiki/doku.php?id=btrt

Изменено пользователем DimaM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень круто! Классно :) А исходники планируете открыть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень круто! Классно :) А исходники планируете открыть?

 

да, но позже, для этого нам нужно изолировать его сборку от КЭШ сервера

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Круто. А можно пример neighbors формата?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в каком формате хранятся ip адреса в базе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно пример neighbors формата?

 

Пример есть в документации и в самом файле конфигурации.

 

в каком формате хранятся ip адреса в базе?

 

IP(4байта):PORT(2байта) в host формате и есть готовая функция для декодирования

 

Пример

select get_displayed_ipv4_ep(lcpr_ipv4_endpoint) from btrt_local_peers;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В связке с DPI и приоритезацией может и даст 12%, хотя лично я в это не верю. А вот без DPI и приоритезации польза от реткерера для оператора не заметна, на внешнем канале включение/выключение реткера не заметно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

польза от реткерера для оператора не заметна

 

Точно заметна когда у вас много абонентов, например как в Минске, где все операторы объеденены в локальный пиринг,

в котором присутствуют сотни тысяч абонентов (пиринговый трафик стоит копейки).

PS

Картину несколько портит криво настроенный NAT у многих операторов.

Изменено пользователем DimaM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

польза от реткерера для оператора не заметна

 

Точно заметна когда у вас много абонентов, например как в Минске, где все операторы объеденены в локальный пиринг,

в котором присутствуют сотни тысяч абонентов (пиринговый трафик стоит копейки).

PS

Картину несколько портит криво настроенный NAT у многих операторов.

 

Даже без DPI? Я смотрел на объёме ~25G внутри одного оператора, разницы что с ретркером, что без не было заметно (без DPI и чего-либо ещё)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

польза от реткерера для оператора не заметна, на внешнем канале включение/выключение реткера не заметно.

Согласен. Вот ТОП-10 нашего ретрекера (активных абонентов около 40K, суммарный канал в мир примерно 20Г):

Grand Theft Auto San Andreas + MultiPlayer [0.3e] - 25
X-Men.Apocalypse2016.D.TS.avi - 9
The SIMS 4 by xatab - 9
Counter-Strike_1.6.exe - 8
Zootopia.2016.BDRip.1080p.ExKinoRay.mkv - 7
Na.grebnE.2O15.D.HDRip.1.46Gb.avi - 7
3apros.v.druz1a.2016.D.1400MB.avi - 6
BeLoSneGkO.I.OHOTNIK.2.2O16.D.WEBRip.14OOMB_KOSHERA.avi - 6
Zootopia.2016.D.HDRip.1400MB.avi - 6
DFFIO - 6

Из всех торрентов 96.6% уникальны и не повторяются. При таком раскладе получить хоть сколько-нибудь заметную экономию трафика нереально. ГТА и Зоотопию скачали по разу и все, капля в море. :) Потому ректрер скорее для абонентов чем для оператора - вдруг кому то повезет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то в паре с DPI заметно изменяется распределение:

Распределение BRT<->DPI активно

 

а это распределение когда у оператора нет связки BRT<->DPI:

Не установлена связка с ретрекером

 

это на интервале с полдня до 20:00 у двух разных операторов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

падает сервис с сообщением:

07.06.2016-08:26:59 [CRITICAL  ]: Unexpected error occurred while tracker process executing: remote_endpoint: Transport endpoint is not connected

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

падает сервис с сообщением:

07.06.2016-08:26:59 [CRITICAL ]: Unexpected error occurred while tracker process executing: remote_endpoint: Transport endpoint is not connected

 

это ошибка вашей файловой системы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то в паре с DPI заметно изменяется распределение:

Распределение BRT<->DPI активно

 

а это распределение когда у оператора нет связки BRT<->DPI:

Не установлена связка с ретрекером

 

это на интервале с полдня до 20:00 у двух разных операторов.

 

Не показательно. Можно две такие картинке на одном операторе за один интервал время в разные дни, но только чтоб дни были равноценны (т.е. пн, вт, ср, чтв)?

 

Кстати, а автоматическое подсовывание файла с приоритетами сетей в uTorrent так и не запилили? Всё ещё вручную надо .xml ему скармливать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не показательно. Можно две такие картинке на одном операторе за один интервал время в разные дни, но только чтоб дни были равноценны (т.е. пн, вт, ср, чтв)?

вторник (12:00-20:00):

треккер + DPI

обычная сеть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Bigmazy

Так это две разные сети с разными объёмами трафика, в разных городах и прочими разными условиями. Или я не прав? тогда почему объёмы такие разные в сравнении

 

Я когда работал в ISP, была забавная геозависимость. В городе, который областной центр было в 1.3-1.5(!!!) раза меньше трафика на абонента, чем в городе-спутнике(типичный мухосранск). А в некоторых мухосрансках до сих пор даже DC-хабами пользуются. Это как потребление водки, сигарет, популярность фитнес-центров и прочего - в разных городах оно сильно разное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На пробу запустили у себя BTRT. И столкнулись с тем, что на торренты, которые скачиваются с NNM-Club, ретрекер выдает utorrent'у "HTTP Error 400".

 

Например, торрент http://nnm-club.me/forum/viewtopic.php?t=1104009

В логах у BTRT:

13.02.2017-12:57:23 [ERROR     ]: Remote address: 1.2.3.4 - bad request: "/announce.php?size=3701079709&comment=http%3A%2F%2Fnnmcl
ub.to%2Fforum%2Fviewtopic.php%3Fp%3D8692231&name=%C7%E5%EC%EB%E5%F2%F0%FF%F1%E5%ED%E8%E5+%282016%29+WEB-DL+%5BH.264%2F1080p-LQ%5D&in
fo_hash=%a1%84M%12%2cW%d5%085%8b%9e%e3H%3b%27K%f4c%a7%c8&peer_id=-UT3230-%21p%10%aal0%26%e2N%e6%b2%8a&port=54321&uploaded=49152&down
loaded=0&left=0&corrupt=0&key=A5282258&event=started&numwant=200&compact=1&no_peer_id=1"

Понятно, что запрос какой-то кривой. Но opentracker отрабатывает нормально. Хотелось бы это и на BTRT как-то пофиксить.

 

И еще в логах проскакивает

Remote address: 1.2.3.4 - invalid "event" parameter in announce request: "paused"

Изменено пользователем Agent2006

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
Подписчики 0