torrent / опсос / пиры / тоннель

Обсуждение ПО и его настройки
Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

xvo писал(а): 26 окт 2022, 16:35
add action=mark-packet chain=prerouting comment=torrent connection-mark=torrent-con new-packet-mark=torrent-packet passthrough=no
add action=mark-routing chain=prerouting comment=torrent connection-mark=torrent-con new-routing-mark=torrent-packet passthrough=no
пиры даже вроде как ищет, но не отображает их. видимо что то не так в L7. ума не приложу что

Изображение


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Условие надо ещё добавить в правило для mark-routing, что это исходящий от вас трафик: in-interface-list=LAN или что-то такое по смыслу.


Telegram: @thexvo
Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

xvo писал(а): 26 окт 2022, 17:13 Условие надо ещё добавить в правило для mark-routing, что это исходящий от вас трафик: in-interface-list=LAN или что-то такое по смыслу.
увы но. и с добавлением исходящего лан и без стало так
Изображение


Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

пока не взлетело

/ip firewall layer7-protocol
add name=torrent-dht regexp="^d1:[a|r]d2:id20:.*:y1:[q|r]e"

/routing table add disabled=no fib name=torrent-packet

/ip firewall mangle
add action=mark-connection chain=prerouting comment=torrent-dht layer7-protocol=torrent-dht new-connection-mark=torrent-con passthrough=yes
add action=mark-routing chain=prerouting comment=torrent connection-mark=torrent-con new-routing-mark=torrent-packet passthrough=no

/ip route
add distance=1 gateway=pptp-out1 routing-table=torrent-packet


Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

Изображение
пакеты маркируются но пиров как небыло так и нет.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Так это наверняка у вас входящие через обычный канал соединения тогда получаются.
Логично, что если вы ответы на них попытаетесь завернуть в туннель, то ничего не выходит.

В общем тут либо читать, какой из методов поиска пиров как работает и пытаться заворачивать те, где вы являетесь инициатором.

И ещё вопрос: а оно вообще в теории то будет работать, если рабочее соединение с пиром вы потом будете устанавливать с другого адреса?


Telegram: @thexvo
Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

xvo писал(а): 26 окт 2022, 18:19 Так это наверняка у вас входящие через обычный канал соединения тогда получаются.
Логично, что если вы ответы на них попытаетесь завернуть в туннель, то ничего не выходит.

В общем тут либо читать, какой из методов поиска пиров как работает и пытаться заворачивать те, где вы являетесь инициатором.

И ещё вопрос: а оно вообще в теории то будет работать, если рабочее соединение с пиром вы потом будете устанавливать с другого адреса?
Я в начале топика писал как оно работает сейчас. я пускаю весь трафик через тоннель, пиры ищутся, устанавливается соединение, потом я тонель тушу и все качается через основной ван.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ну значит вероятно не все, что нужно, заворачивается в туннель, а когда часть туда, часть сюда, весь механизм ломается.


Telegram: @thexvo
Ejik76
Сообщения: 47
Зарегистрирован: 02 авг 2016, 12:47

xvo писал(а): 26 окт 2022, 18:30 Ну значит вероятно не все, что нужно, заворачивается в туннель, а когда часть туда, часть сюда, весь механизм ломается.
вот и я о том что что то не маркируем. вопрос что.


Proger125
Сообщения: 22
Зарегистрирован: 14 май 2022, 17:25

Возможно следует разложить для понимания сначала саму технологию торрентов.

Как я понимаю, поиск пиров это отдельный процесс, завязанный на совершенно конкретные сервера-анонсеры (не путать с сайтами трекеров, это другое). Что мешает их тоже выяснить один раз и перечислить в IP/FW/Address Lists с дальнейшим роутингом нужного списка в туннель? Стандартная задачка.

И никаких L7 с RegExp, на мой взгляд, здесь совершенно не требуется. Зачем вам L7 ? Хотите перехватить DNS request? Ну перехватили, ну промаркировали. А ответ (DNS answer) с IP адресом, который в блокировке у провайдера, вы так никогда на уровне правил ROS не получите и блок не обойдете. Он усвистит напрямую к торрент-клиенту мимо вас и клиент будет пытаться долбиться на заблокированный IP. Правильно товарищ написал, что использовал это для обратной цели - для блокировки. Там да, это работает. Но не наоборот.

Видел статью на Хабре. Там были указаны bt-сервера (bt.t-ru.org, bt2.t-ru.org, bt3.t-ru.org, bt4.t-ru.org) по рутрекеру например, и даже некие свободные альтернативные. Если в открытом доступе по нужным анонсерам информации нет, то можно запустить Wireshark и там посмотреть к каким анонсерам идет обращение. Вот их всех в какой-нибудь список IP/FW/Address Lists/"viaVPN". И далее IP/FW/MANGLE этот список через action route на шлюз VPN. При этом прямые коннекты с пирами пойдут разумеется вне туннеля, ничего даже делать не надо.

Будь я на месте провайдера, как бы я заблочил? Да конечно, во первых, по DNS не резольвил бы домены анонсеров (и домены самих трекеров) и во вторых, ставил в блок бы их IP. И поскольку мы говорим о том, что соединения P2P должны идти (и благополучно идут) через WAN опсоса, то явно никакого DPI на торренты специально не натравлено. Только анонсеры в блоке. Вот их вычисляйте и в туннель их.

Да в принципе, можно и без Wireshark. В Микротике перенаправляющий DNS сервер включен? Там есть Cache. Заходим при запущенном торренте и смотрим, вот они болтаются, от разных трекеров:
Изображение

По сути, вы в своём первом сообщении весьма витиевато описали обычную проблему - "провайдер заблокировал сайты торрентов, что делать?".


Ответить