17

3 соседа по комнате разделяют одно соединение 2 Мбит / с. Иметь ограничение на загрузку 40 ГБ в месяц, сверх которого скорость падает до 256 Кбит / с, что раздражает.

Один из соседей по комнате злоупотребляет подключением, загружая за пределы квоты. У меня есть беспроводной маршрутизатор Netgear WNR1000v2 + модем ADSL для подключения к Интернету. Все мы подключаемся к Интернету через беспроводной маршрутизатор, который подключается к модему ADSL.

Мне нужно бесплатное решение прокси, которое может помочь мне установить

  1. Ограничение 40 ГБ / 3 (13 ГБ) для каждого человека (у каждого человека есть 2 устройства - ПК и телефон с Wi-Fi)
  2. Унифицированный контроль пропускной способности - когда 2 человека просматривают Интернет, они должны получать 1 Мбит / с каждый, а когда 3 человека получают доступ, они должны получать 2 Мбит / с, деленные на 3.
  3. После того, как каждый человек превысит свой месячный лимит загрузки, он должен иметь доступ к Интернету только со скоростью 256 Кбит / с или меньше.
  4. Могу ли я сделать специальную прошивку на моем беспроводном маршрутизаторе для этого (или) Нужен ли прокси-сервер?

Пожалуйста, укажите мне на любые соответствующие учебные пособия (например, со Squid).

Обновление: я не ищу решения только для маршрутизатора / прошивки, я открыт для запуска прокси-сервера на одном из ПК в сети или для решения любого другого аналогичного типа.

4 ответа4

14

Не делайте этого со Squid: вам нужен контроль для всего, а не только для HTTP на порту 80.

Для ответа требуются iptables с параметром --quota, который реализует сетевые квоты путем уменьшения счетчика байтов для каждого пакета. Аргумент «--quota» является значением в байтах.

Для каждого пользователя должна быть одна цепочка. Первое правило цепочки отсчитывает 13 ГБ квоты для пакетов с 192.168.0.2 и принимает пакет, если он ниже квоты:

iptables -A INPUT -p tcp -s 192.168.0.2 -m quota --quota 13958643712 -j ACCEPT

Второе правило цепочки классифицирует пакеты избыточной квоты в выбранном вами классе tc:

iptables -A INPUT -p tcp -j CLASSIFY --set-class 1:12

Тогда это все классическое формирование трафика: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Конечно, вам нужно использовать статическое распределение IP-адресов или убедиться, что DHCP выделяет адреса, фиксированные по MAC-адресу устройства, - и вам нужно заблокировать все адреса, кроме идентифицированных устройств, принадлежащих одному из трех пользователей.

Кстати, вы упоминаете, что «когда 2 человека просматривают Интернет, они должны получать 1 Мбит / с каждый, а когда 3 человека получают доступ, они должны получать 2 Мбит / с, разделенные на 3», но вы можете добиться большего успеха, чем при настройке иерархии классов трафика Ваше требование должно заключаться в том, что «когда два человека просматривают Интернет, они не должны получать менее 1 Мбит / с каждый, а когда три человека получают доступ, они должны получать не менее 2 Мбит / с, деленные на 3», чтобы каждый мог получить больше, если другие люди используют меньше, чем их гарантированная пропускная способность ... И тк позволяет это сделать!

Поскольку ваш маршрутизатор поддерживается openwrt и dd-wrt, у вас есть все необходимые инструменты!

4

Я не могу вспомнить, поддерживает ли он все функции, о которых вы упомянули, но я настоятельно рекомендую pfSense в качестве решения для маршрутизатора. Он достаточно мал для работы с USB-диском и предоставляет множество решений для совместного использования. У меня была установлена надстройка squid, например, для обеспечения прозрачного прокси для всех внутренних серверов, и даже в установленном пакете для получения подробных отчетов об использовании сети.

Я также предлагаю функции типа интернет-кафе, например, страницу входа для гостей, чтобы использовать систему. Его легко настроить на ВМ, и имеется много документации о том, как установить ее с различными конфигурациями.

Я использовал это дома с 8 другими машинами. При правильной настройке вы можете обнаружить, что вам не нужно вводить лимиты так сильно, как вы.

0

Ваш Netgear WNR1000v2 выглядит полутупым устройством. Я обнаружил, что вы можете включить QoS на основе портов или MAC. Вы можете установить QoS на "низкое" для своего плохого партнера по работе.

Все остальное требует больше "мозгов" - то есть правильного (интеллектуального) прокси.

0

По-видимому, вы можете установить на свой роутер на свой страх и риск прошивку DD-WRT http://www.dd-wrt.com/site/support/router-database, которая имеет широкие возможности QoS - http://www. dd-wrt.com/wiki/index.php/Quality_of_Service

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .