|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Slackware - Перенаправление torrent траффика. |
|
Slackware - Перенаправление torrent траффика.
|
Старожил Сообщения: 225 |
Здравствуйте уважаемые форумчане. Задача в теме, скажу что есть:
1. Сервер (3 сетевые карты eth0 локальная сеть1 eth1 аплинк eth2 локальная сеть2) 2. Есть микротик RB750 на нем pppoe подключение к провайдеру №2 Задача состоит в том, чтобы как-то разгрузить аплинк №1 хочу перенаправить торрент траффик на микротик с pppoe . Задача выполнима? Подскажите варианты реализации. |
|
Отправлено: 13:07, 07-12-2012 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Проще всего было бы сделать, установив opendpi.
Тогда маршрутизация torrent-трафика через второго провайдера выглядело бы примерно так (пишу навскидку и не проверяю): iptables -t mange -A OUTPUT -m opendpi --bittorrent -j MARK --set-mark 2 iptables -t mange -A PREROUTING -m opendpi --bittorrent -j MARK --set-mark 2 ip route add default via <ip шлюза второго провайдера> table torrent ip rule add fwmark 2 table torrent Идея, я думаю, понятна. P.S. Всё написанное выше - увы, бред. Раньше такое работало, но, увы, проект OpenDPI по каким-то причинам прекратил существование, ему на смену пришел какой-то nDPI, но я с ним не знаком. Решил не удалять это сообщение. Пусть останется как напоминание о том, насколько быстро устаревают знания. Можно, конечно, задать диапазон портов для торрента через --destination-port, но это куда менее красивое решение. ![]() |
Последний раз редактировалось AMDBulldozer, 07-12-2012 в 15:33. Отправлено: 14:55, 07-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать Не совсем понял, бред написал я или по поводу opendpi ???
|
Отправлено: 16:30, 07-12-2012 | #3 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Цитата Trinux:
Она обычно решается при помощи комбинации команд iptables с использованием цели MARK (каждому пакету присваивается тэг, по значению которого будет потом происходить маршрутизация) и команд ip rule (ip - это утилита из пакета iproute2) с помощью которых создаются дополнительные таблицы маршрутизации. То есть, пакеты с указанным тэгом маршрутизируются с использованием набора правил для конкретной таблицы, а те, у которых тэга нет, маршруизируются с использованием обычной таблицы маршрутизации. Команда "route" работает только с этой "обычной" таблицей, поэтому её недостаточно для дифференциации трафика по установленному целью MARK тэгу. То есть, если бы Вам нужно было направить весь трафик через одного провайдера, а, скажем, интернет-серфинг осуществлять через другого, можно было бы использовать набор команд: iptables -t mangle -A OUTPUT -p tcp --destination-port 80 -j MARK --set-mark 80 ip route add default via <ip шлюза> table http ip rule add fwmark 80 table http (в данном случае цель MARK находится в цепочке OUTPUT, поэтому правило действовало бы только на пакеты, отправителем которых был бы сам хост на котором установлен этот набор правил. Транзитные пакеты, то есть пакеты, которые маршрутизировались бы через этот хост, не попали бы в цепочку OUTPUT и, следовательно, не могли бы получить тэг. Вернемся к Вашей задаче. Вам нужно пометить тэгом все исходящие пакеты относящиеся к протоколу bittorrent, а потом использовать дополнительную таблицу маршрутизации для того, чтобы установить шлюз для пакетов с этим тэгом. Остается единственный вопрос: каким образом отличить пакеты отправленные торрент-клиентом от всех остальных? Правильный способ дифференциаци трафика основан на использовании DPI - deep packet inspection. В этом случае, пакеты получат тэг даже при использовании нестандартных портов или после трансляции адресов (NAT). В моем примере, я предложил использовать модуль opendpi, который я знал, потому что пару лет назад им пользовался. К сожалению, когда я решил освежить свои воспоминания и залез в поисковую систему, выяснилось, что этот проект был закрыт несколько месяцев назад. В сети я прочитал, что от него было сделано ответвление (fork) получившее название nDPI, ссылку на сайт которого я привел в предыдущем сообщении. Но, opendpi больше не существует, поэтому предложенный мной метод в таком виде работать не будет. Я расстроился, обозвал своё предложение бредом и честно признаюсь, что больше ничем не могу Вам помочь. Уж извините. Единственное, на что я хотел обратить Ваше внимание - это на то, что задача, которую Вам требуется решить не только выполнима, но даже достаточно тривиальна. Просто тривиальное решение с дифференциацией трафика по диапазону портов мне лично не нравится, потому что я считаю его некрасивым. |
|
------- Отправлено: 17:34, 07-12-2012 | #4 |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать Очень доходчиво и понятно. Вот бы помог кто-то, потому как гугл мне внятных ответов не дал.
|
|
Отправлено: 18:05, 07-12-2012 | #5 |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать Вернусь к теме
![]() так же поднял ipp2p, но почему-то не хочет с моим ядром работать. при запросе хелпа говорит возможные опции root@server:/etc/network# iptables -m ipp2p --help iptables v1.4.3 Usage: iptables -[AD] chain rule-specification [options] iptables -I chain [rulenum] rule-specification [options] iptables -R chain rulenum rule-specification [options] iptables -D chain rulenum [options] ......................и т.д. а вот при выполнении говорит следующее root@server:/etc/network# iptables -A FORWARD -m ipp2p --edk --kazaa --gnu --bit iptables: Incompatible with this kernel. Run `dmesg' for more information. Opendpi не могу найти пакет opendpi-netfilter-wrapper-1.1.tar.gz может есть у кого-то? |
Отправлено: 13:38, 18-03-2013 | #6 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Цитата Trinux:
Для ipp2p это модуль ipt_ipp2p. Он не включен в ядро, поэтому должен собираться отдельно. С помощью команды "lsmod" Вы можете проверить, загружен этот модуль или нет. Если модуль отсутствует, установить правила, которые требуют его наличия, будет невозможно. |
|
------- Отправлено: 14:30, 18-03-2013 | #7 |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать Я наверное дал мало информации...
root@server:/etc/network# lsmod | grep ipp2p ipt_ipp2p 5310 0 x_tables 13219 7 ipt_ipp2p,iptable_mangle,xt_mark,iptable_nat,iptable_filter,ip_tables,xt_layer7 и при этом.... root@server:/etc/network# iptables -A FORWARD -m ipp2p --edk --kazaa --gnu --bit iptables: Incompatible with this kernel. Run `dmesg' for more information. |
Отправлено: 15:57, 18-03-2013 | #8 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать Trinux, а в выводе "dmesg" ничего интересного нет?
|
------- Отправлено: 16:09, 18-03-2013 | #9 |
Старожил Сообщения: 225
|
Профиль | Отправить PM | Цитировать YНу как бэ намекает мне о моей версии ядра 2.6.35, но вот пытаюсь пересобрать на 2.6.22 а получается какая-то кака..... ничего не работает одни фейлы сыплются....
![]() [ 142.600956] IPP2P v0.8.2+2.6.22-patch loading |
Отправлено: 16:27, 18-03-2013 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Proxy/NAT - Proxifier и torrent | The_Immortal | Сетевые технологии | 2 | 09-06-2012 17:33 | |
Интернет - Перенаправление траффика | iRusel | Программное обеспечение Windows | 11 | 06-01-2012 22:00 | |
запретить torrent | Antoha Svai | Сетевые технологии | 11 | 22-07-2010 13:41 | |
µTorrent 1.8.5 | OSZone Software | Новости программного обеспечения | 0 | 03-11-2009 18:30 | |
Suse/OpenSuSE - перенаправление траффика | 9112root | Общий по Linux | 8 | 26-12-2007 10:17 |
|