Автор Тема: Ограничение скорости пользователям.[РЕШЕНО]  (Прочитано 1121 раз)

Оффлайн dormidont3

  • Участник
  • *
  • Сообщений: 703
    • ФотоШоу
Задумался я над тем, что бы некоторым коллегам задать ограничение скорости доступа во всемирную паутину. В принципе через кальмара это делается достаточно просто и у меня получилось прописать нужные строчки. Но столкнулся с такой проблемой. В squid указываются конкретные ip или их диапазон, для которых нужно произвести органичение. Но у нас в школе работает dansguardian через который идет весь трафик и на squid приходят у всех одинаковые ip 127.0.0.1. Как теперь быть не могу придумать. С одной стороны нужна фильтрация, с другой хочется задать ограничение скорости.
« Последнее редактирование: 08.04.2016 11:11:57 от dormidont3 »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....

Оффлайн dormidont3

  • Участник
  • *
  • Сообщений: 703
    • ФотоШоу
Спасибо, если то работает до squid  и dansguardian  и позволяет разным паользователям выдавать разную скорость, то это то что надо. Пошел изучать

Оффлайн dormidont3

  • Участник
  • *
  • Сообщений: 703
    • ФотоШоу
Поизучал внимательно ссылку. К сожалению не то. Там описана технология разграничения скорости для интерфейсов, а у меня интерфейс один и нужно ограничить скорость для отдельных пользователей по маку или ip

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Поизучал внимательно ссылку. К сожалению не то. Там описана технология разграничения скорости для интерфейсов, а у меня интерфейс один и нужно ограничить скорость для отдельных пользователей по маку или ip
См. модули веб-интерфейса в alterator-net-iptables
Андрей Черепанов (cas@)

Оффлайн dormidont3

  • Участник
  • *
  • Сообщений: 703
    • ФотоШоу
Всё, нашел решение проблемы. Может кому поможет. Сделал так.
в dansguardian.conf установил
описание параметра
Спойлер
# Если включено (on), то это добавляет X-Forwarded-For: <clientip> в заголовке
# запроса HTTP. Это решение может помочь на некоторых проблемных участках,
# на которых необходимо знать IP-источника.
# on | off
forwardedfor = on

потом в squid.conf установил
описание параметра
Спойлер
#  TAG: follow_x_forwarded_for
#       Разрешить или запретить заголовок X-Forwarded-For для отслеживания
#       и поиска оригинального источника запроса.
#
#       Запросы могут пройти через цепочку из нескольких прокси до того,
#       как достигнут нас. Заголовок X-Forwarded-For будет содержать
#       разделенный запятыми список IP-адресов, последний адрес в цепи
#       справа будет самым последним.
#
#       Если запрос доходит до нас от источника, в котором разрешен этот элемент
#       конфигурации, то мы обращаемся к заголовку X-Forwarded-For, чтобы увидеть,
#       от кого этот узел получил запрос. Если заголовок X-Forwarded-For содержит
#       несколько адресов, мы продолжаем поиск с возвратом до тех пор, пока не
#       достигнем адресов, у которых мы не можем отслеживатть заголовок
#       X-Forwarded-For, или до тех пор, пока мы не достигнем первого адреса в
#       списке. Для списков ACL, используемых в директиве follow_x_forwarded_for,
#       тип директивы src ACL всегда совпадает с адресами, которые мы проверяем и
#       srcdomain соответствует его rDNS.
#
#       Конечным результатом этого процесса является IP-адрес, на который мы
#       будем ссылаться в качестве косвенного адреса клиента. Этот адрес можно
#       рассматривать как адрес клиента для контроля доступа, ICAP, пулов задержки
#       и регистрации, в зависимости от параметров acl_uses_indirect_client,
#       icap_uses_indirect_client, delay_pool_uses_indirect_client и
#       log_uses_indirect_client.
#
#       ВОПРОСЫ БЕЗОПАСНОСТИ:
#
#               Любой узел, у которого мы отслеживаем заголовок X-Forwarded-For
#               может поместить неверные сведения в заголовке, и Squid будет
#               использовать неверную информацию, как будто это адрес источника
#               запроса. Это может позволить удаленным хостам обойти любые
#               ограничения контроля доступа, основанные на исходном адресе клиента.
#
#       Например:
#
#               acl localhost src 127.0.0.1
#               acl my_other_proxy srcdomain .proxy.example.com
#               follow_x_forwarded_for allow localhost
#               follow_x_forwarded_for allow my_other_proxy
follow_x_forwarded_for allow localhost
в итоге кальмар видит адреса с которых идут запросы, даже если они идут через dansguardian и спокойненько подрезает скорость как нужно.

Минусов в этом способе не вижу, вроде всё супер.