Название: Ограничение торрентов Отправлено: AlexKr от 04 Февраля 2011, 10:23:38 Добрый день, Господа. Ай нид хелп.
У меня ооочень мало опыта по работе с ОС FreeBSD, хотя фрю и нодени установил и настроил сам с помощью мануалов и данного форума. Такая вот ситуация: У нас небольшая сеть (мы не провайдер, чисто по общежитию). Наружу канал АДСЛ. Исходящая скорость max 512 кБит/сек. Торрентокачатели забивают эту трубу на исход по максимуму, и соответственно интернет начинает тормозить у всех (хотя входящей скорости достаточно, 5-6 мБит). Ограничение скорости на отдачу не спасает, когда ограничиваешь её в разумных пределах. Запретить торренты можно конечно (например запретом скачивания файлов .torrent), но этого делать не нужно :) . Есть такая мысль, ограничить количество одновременных потоков как на вход так и на исход (хотябы только исход). Торрент использует одновременно кучу портов (при закачке) и один порт на отдачу (поправьте если я ошибаюсь). Вобщем суть вопроса, как можно создать такое правило: - порты 80, 53 не трогаем - все порты кроме 80, 53 - max 10 потоков (на всю кучу портов) Я думаю, что не нужно ограничивать 80 и 53 (возможно в этот список ещё нужно будет добавить какие-либо порты) по причине если юзер забьёт лимит потоков торрентами, то чтобы у него работал http и DNS. Название: Re: Ограничение торрентов Отправлено: Aivanzipper от 04 Февраля 2011, 12:45:09 ну раз Вы взялись работать с freebsd и nodeny то Вам придется вникнуть в принципы работы. Почитайте документацию по ipfw.
Название: Re: Ограничение торрентов Отправлено: AlexKr от 08 Февраля 2011, 00:51:13 ну раз Вы взялись работать с freebsd и nodeny то Вам придется вникнуть в принципы работы. Почитайте документацию по ipfw. тут я с Вами полностью согласен, поскольку тут не обойтись методом проб и ошибок - решил обратиться к опытным людям, ибо боюсь ковырять рабочий сервер.Название: Re: Ограничение торрентов Отправлено: Aivanzipper от 08 Февраля 2011, 09:41:08 Что-то типа такого, перед трубой:
Код: ipfw add 1234 allow ip from <int_net> to not me via <int_if> not dst-port 53,80 limit src-addr 10 Но в этом случае для каждого порта будет отдельных 10 потоков. Я бы посоветовал создать отдельный пайп для привилегированных портов с гарантированной резервацией, а все остальное во второй пайп. Правда хочу заметить что онлайн игры тоже попадут в одну трубу с торрентами если их явно не выделить по портам как в случае 53 и 80. Еще можно покапать в сторону QoS. И поднимите свой кеширующий днс ;) Название: Re: Ограничение торрентов Отправлено: AlexKr от 06 Июня 2011, 18:59:34 В общем не получилось у меня то, что нужно.
Топик ап! Парни, кто поможет на платной основе? Может кто разработает как дополнительный платный модуль? Думаю, не одному мне понадобится. Название: Re: Ограничение торрентов Отправлено: dzensys от 22 Июля 2011, 02:27:51 ee /etc/all.pf
Код: 192.168.254.22/32 Код: set limit staеtes 128000 Название: Re: Ограничение торрентов Отправлено: kuhar от 04 Января 2012, 13:10:46 никто не пробовал ограничить торрент таким макаром?
http://www.opennet.ru/base/net/ng_bpf_build.txt.html Название: Re: Ограничение торрентов Отправлено: Efendy от 18 Января 2012, 11:46:55 Для себя я сделал так:
table <me> { self } table <users_bad> { 10.0.0.0/16 } нат pass quick on lo0 all pass in quick on { $int_if ng } proto { tcp udp } from any to <me> keep state pass in quick proto tcp from any to <me> port { 22 80 443 } keep state тут мои специфические правила pass in quick on { $int_if ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $int_if ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) По 80му порту даю больше потоков, чтобы при использовании торрента, абонент мог лазить по сайтам. По идее для онлайн игр можно дать больше потоков, однако это оказалось излишним т.к клиенты стали замечать, что если вырубить торрент, то вау, все начинает летать Название: Re: Ограничение торрентов Отправлено: stix от 18 Января 2012, 11:57:24 как pf справляется с большой нагрузкой?
Название: Re: Ограничение торрентов Отправлено: Efendy от 18 Января 2012, 12:32:35 как pf справляется с большой нагрузкой? По top-у это pfpurge? Если да, то далеко не в первых рядах. У меня сеть недостаточно большая чтоб на этом были проблемы.Название: Re: Ограничение торрентов Отправлено: stix от 18 Января 2012, 13:06:20 как pf справляется с большой нагрузкой? По top-у это pfpurge? Если да, то далеко не в первых рядах. У меня сеть недостаточно большая чтоб на этом были проблемы.затем с 19:00 до 23 шейплю весь роутер доступа + рубаю порты TCP/UDP (src 10000-65000 <> dst 10000-65000) юзеров в 5 раз больше, чем суммарная ширина канала :) Название: Re: Ограничение торрентов Отправлено: kuhar от 08 Февраля 2012, 10:00:12 Для себя я сделал так: table <me> { self } table <users_bad> { 10.0.0.0/16 } нат pass quick on lo0 all pass in quick on { $int_if ng } proto { tcp udp } from any to <me> keep state pass in quick proto tcp from any to <me> port { 22 80 443 } keep state тут мои специфические правила pass in quick on { $int_if ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $int_if ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) По 80му порту даю больше потоков, чтобы при использовании торрента, абонент мог лазить по сайтам. По идее для онлайн игр можно дать больше потоков, однако это оказалось излишним т.к клиенты стали замечать, что если вырубить торрент, то вау, все начинает летать Вопрос а 200 потоков хватит для просмотра онлайн видео? Ваши клиенты не жаловались? Название: Re: Ограничение торрентов Отправлено: Efendy от 08 Февраля 2012, 11:35:33 а оно в несколько потоков смотрится? Не знаю, не жаловались. В любом случае, все ограничения нужно самому проверять, запустить скайп, даунлоуд менеджер, запустить музло во вконтакте, видео и параллельно посерфить. Будет время я и сам протещу это
Название: Re: Ограничение торрентов Отправлено: stix от 08 Февраля 2012, 16:04:56 с pf у меня как-то не судьба.
как насчет ipfw add 90 deny udp from any 2000-65535 to "table(1)" 2000-65535 limit src-addr 100 ? Название: Re: Ограничение торрентов Отправлено: kuhar от 09 Февраля 2012, 08:26:30 а оно в несколько потоков смотрится? Не знаю, не жаловались. В любом случае, все ограничения нужно самому проверять, запустить скайп, даунлоуд менеджер, запустить музло во вконтакте, видео и параллельно посерфить. Будет время я и сам протещу это Просто как-то пробовал в настройках групп в админке поставить количество потоков до 200, и как только клиент начинает смотреть онлайн фильм, биллинг его сразу отрубает, вот и пришлось увеличить. Название: Re: Ограничение торрентов Отправлено: Efendy от 09 Февраля 2012, 12:48:09 а оно в несколько потоков смотрится? Не знаю, не жаловались. В любом случае, все ограничения нужно самому проверять, запустить скайп, даунлоуд менеджер, запустить музло во вконтакте, видео и параллельно посерфить. Будет время я и сам протещу это Просто как-то пробовал в настройках групп в админке поставить количество потоков до 200, и как только клиент начинает смотреть онлайн фильм, биллинг его сразу отрубает, вот и пришлось увеличить. Название: Re: Ограничение торрентов Отправлено: kuhar от 09 Февраля 2012, 16:19:03 а оно в несколько потоков смотрится? Не знаю, не жаловались. В любом случае, все ограничения нужно самому проверять, запустить скайп, даунлоуд менеджер, запустить музло во вконтакте, видео и параллельно посерфить. Будет время я и сам протещу это Просто как-то пробовал в настройках групп в админке поставить количество потоков до 200, и как только клиент начинает смотреть онлайн фильм, биллинг его сразу отрубает, вот и пришлось увеличить. Ага, я понял, спасибо. А можете подсказать, как проверить срабатывает ли это ограничение потоков установленное через pf? Название: Re: Ограничение торрентов Отправлено: Efendy от 09 Февраля 2012, 17:55:05 а оно в несколько потоков смотрится? Не знаю, не жаловались. В любом случае, все ограничения нужно самому проверять, запустить скайп, даунлоуд менеджер, запустить музло во вконтакте, видео и параллельно посерфить. Будет время я и сам протещу это Просто как-то пробовал в настройках групп в админке поставить количество потоков до 200, и как только клиент начинает смотреть онлайн фильм, биллинг его сразу отрубает, вот и пришлось увеличить. Ага, я понял, спасибо. А можете подсказать, как проверить срабатывает ли это ограничение потоков установленное через pf? Название: Re: Ограничение торрентов Отправлено: Sis от 08 Июня 2012, 23:54:26 Код: set limit states 128000 но что-то не работает, где я ошибся? Название: Re: Ограничение торрентов Отправлено: smallcms от 09 Июня 2012, 01:15:01 Вот создал такие правила по образу и подобию предложенного Efendy варианта. Внес их в pf.conf $int_if у вас определён в конфиге? ng?но что-то не работает, где я ошибся? вместо $int_if ng пишите свой интерфейс или определите его переменной. Название: Re: Ограничение торрентов Отправлено: Sis от 09 Июня 2012, 11:16:13 [/quote] $int_if у вас определён в конфиге? ng? вместо $int_if ng пишите свой интерфейс или определите его переменной. [/quote] Да определил указал адрес внутреннего интерфейса. а теперь как проверить что он работает? Название: Re: Ограничение торрентов Отправлено: Sis от 12 Июня 2012, 02:30:52 Работает...спасибо
Название: Re: Ограничение торрентов Отправлено: k291 от 29 Июля 2014, 22:13:57 а как ограничить торренты на реальных IP, которые проброшены с внешнего на внутренний интерфейс путем bridge ?
Я заметил, что и трафик с реальных IP не считается(( Цитировать ifconfig_igb0="inet 10.0.0.1 netmask 0xffffff00" В итоге, абоненты с реальными IP отдаю трафика под 90Мбитifconfig_igb1="inet 217.1.1.242 netmask 255.255.255.240" # real IP defaultrouter="217.1.1.241" fconfig_lo0_alias0="inet 1.1.1.1 netmask 255.255.255.255" #Dlya probrosa real-IP v set cloned_interfaces="bridge0" ifconfig_bridge0="addm igb1 addm igb0 up" Название: Re: Ограничение торрентов Отправлено: k291 от 29 Июля 2014, 23:07:04 а как ограничить торренты на реальных IP, которые проброшены с внешнего на внутренний интерфейс путем bridge ? Сделал так, смотрю трафик через Nload:Я заметил, что и трафик с реальных IP не считается(( Цитировать ifconfig_igb0="inet 10.0.0.1 netmask 0xffffff00" В итоге, абоненты с реальными IP отдаю трафика под 90Мбитifconfig_igb1="inet 217.1.1.242 netmask 255.255.255.240" # real IP defaultrouter="217.1.1.241" fconfig_lo0_alias0="inet 1.1.1.1 netmask 255.255.255.255" #Dlya probrosa real-IP v set cloned_interfaces="bridge0" ifconfig_bridge0="addm igb1 addm igb0 up" Цитировать #Mir Может есть, что дополнить?ext_if = "igb1" #Lan lan_if2 = "igb0" #Most bri_if = "brodge0" set limit states 128000 set optimization aggressive nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if) #nat pass on $lan_if2 from 10.77.0.0/24 to any -> ($lan_if2) #nat pass on $ext_if from 217.66.99.240/28 to any -> ($ext_if) table <me> { self } table <users_bad> { 10.0.0.0/24 } pass quick on lo0 all pass in quick on { $lan_if2 ng } proto { tcp udp } from any to <me> keep state pass in quick proto tcp from any to <me> port { 22 80 443 } keep state pass in quick on { $lan_if2 ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $lan_if2 ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) pass in quick on { $bri_if ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $bri_if ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) #IPTV igmp pass on $ext_if inet proto igmp to any allow-opts pass in on $ext_if inet proto udp to any port {4001, 7788} pass on $lan_if2 inet proto igmp to any allow-opts pass in on $lan_if2 proto udp to any port {4001, 7788} Название: Re: Ограничение торрентов Отправлено: k291 от 29 Июля 2014, 23:07:29 а как ограничить торренты на реальных IP, которые проброшены с внешнего на внутренний интерфейс путем bridge ? Сделал так, смотрю трафик через Nload:Я заметил, что и трафик с реальных IP не считается(( Цитировать ifconfig_igb0="inet 10.0.0.1 netmask 0xffffff00" В итоге, абоненты с реальными IP отдаю трафика под 90Мбитifconfig_igb1="inet 217.1.1.242 netmask 255.255.255.240" # real IP defaultrouter="217.1.1.241" fconfig_lo0_alias0="inet 1.1.1.1 netmask 255.255.255.255" #Dlya probrosa real-IP v set cloned_interfaces="bridge0" ifconfig_bridge0="addm igb1 addm igb0 up" Цитировать #Mir Может есть, что дополнить?ext_if = "igb1" #Lan lan_if2 = "igb0" #Most bri_if = "bridge0" set limit states 128000 set optimization aggressive nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if) #nat pass on $lan_if2 from 10.77.0.0/24 to any -> ($lan_if2) #nat pass on $ext_if from 217.66.99.240/28 to any -> ($ext_if) table <me> { self } table <users_bad> { 10.0.0.0/24 } pass quick on lo0 all pass in quick on { $lan_if2 ng } proto { tcp udp } from any to <me> keep state pass in quick proto tcp from any to <me> port { 22 80 443 } keep state pass in quick on { $lan_if2 ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $lan_if2 ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) pass in quick on { $bri_if ng } proto tcp from <users_bad> to any port 80 keep state (source-track rule, max-src-states 200) pass in quick on { $bri_if ng } proto { tcp udp } from <users_bad> to any keep state (source-track rule, max-src-states 100) #IPTV igmp pass on $ext_if inet proto igmp to any allow-opts pass in on $ext_if inet proto udp to any port {4001, 7788} pass on $lan_if2 inet proto igmp to any allow-opts pass in on $lan_if2 proto udp to any port {4001, 7788} |