LINUX.ORG.RU

Squidward для SQUID3

 , , ,


1

4

Squidward позволяет управлять правилами доступа прокси-сервера Squid с помощью веб-интерфейса. При необходимости с помощью Squidward можно делегировать право управления доступом сотрудников в подразделения компании отдельным администраторам. Деление организации на подразделения осуществляется посредством привязки подсетей.

При использовании многоядерного или нескольких процессоров на высоконагруженном сервисе применение Squidward существенно снижает нагрузку на CPU путем перераспределения нагрузки на вычисления ACL на сторону сервера БД MySQL благодаря вспомогательной программе (external_acl_type), входящей в состав Squidward. Изначально Squidward разрабатывался для внутренних нужд крупной компании и на текущий момент имеет большое количество успешных внедрений.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 3)
Ответ на: комментарий от sonic

существенно снижает нагрузку на CPU путем перераспределения

круть!

anonymous
()

Squidward существенно снижает нагрузку

Вы шутите? Пых и мускул снижают нагрузку? Разве что перераспределяют, при условии, что мускул стоит на соседнем сервере. И при этом, в любом случае, вносят существенную задержку.

P.S. Ввиду убогости документации выводы делал по:

external_acl_type ext_dstdom_regex children=60 ttl=300 negative_ttl=300 %DST /var/www/html/squidward/ext_acl/ext_dstdom_regex.php
external_acl_type ext_usr children=60 ttl=300 negative_ttl=300 %LOGIN  /var/www/html/squidward/ext_acl/ext_usr.php

MumiyTroll ★★★
()
Последнее исправление: MumiyTroll (всего исправлений: 1)
Ответ на: комментарий от MumiyTroll

Снижает и перераспределяет, причем очень хорошо. Когда у вас в acl по 20 тысяч урлов, а это dstdom regex...

sonic
() автор топика
Ответ на: комментарий от zgen

SAMS это комбайн которому скоро и сам squid уже нужен не будет) Squidward сделан чтобы выполнять узкий круг задач и делать это хорошо. У нас 4-х узловой кластер, работает squidward, мы легко адаптировали его под такую конфигурацию.

sonic
() автор топика

годнота!!

anonymous
()

для оутсорса подойдёт.
настроил, отдал кому-то для дальнейшего тыкания.

dada ★★★★★
()

Следующим шагом надо написать веб-интерфейс для управления ограничениями скорости доступа. Назвать Spongebob.

anonymous
()

Посмотрел в код, превосходный джумла-стайл. Запилите человеческий шаблон для вебморды, отделив всю логику от хтмл.

spiro ★★
()
Ответ на: комментарий от sonic

А нефик было на похапе писать.

anonymous
()
Ответ на: комментарий от vasya_pupkin

на данный момент нет. Вы самостоятельно можете дописать такой модуль.

iNadya
()
Ответ на: комментарий от MumiyTroll

Для скептиков скажу следующее. Данная концепция родилась не сразу, а вынашивалась практикой пару лет. В первоначальном варианте вся конфигурация экспортировалась в текстовый конфиг и далее инклудилось все в сквид.конфе. Были большие проблемы, сквид выедал одно ядро на 100% и все. Когда вынесли вычисление regex на сторону MySQL стало сразу все лучше, он быстрее вычисляет их прям запросом, кеширует, а главное умеет хорошо расползаться по ядрям. То, что хелпер написан на php тормознутости не добавляет, он очень маленький, его за 10 мин можно переписать на что угодно, основная нагрузка ложится на MySQL.

sonic
() автор топика
Ответ на: комментарий от sonic

Для кулика, восхваляющего своё болото скажу следующее. Данная концепция убога принципиально. «20 тысяч урлов, а это dstdom regex» я даже представить не могу. С трудом могу представить пару сотен url_regex. В принципе могу представить и 20000 dstdomain (НЕ _regex!). dstdom_regex - может быть 2-3 десятка. И в любом случае я бы переложил эту работу на редиректор.

Вы же на каждый HTTP-запрос выполняете SQL-запрос в мускул. По-вашему это нормально, если кроме самой страницы (html) ещё грузится 100500 картинок, стили, скрипты, шрифты и прочая хрень. И на каждый (!) элемент по SQL-запросу...

MumiyTroll ★★★
()
Ответ на: комментарий от anonymous

ох, уж эти школьники... сидите на таком сайте, а вбить фамилию и имя в гугл не можете...

iNadya
()
Ответ на: комментарий от anonymous

Спасибо Надя. Думаю на ЛОРе ты найдешь много новых друзей и люлей с оригинальными мыслями.

anonymous
()
Ответ на: комментарий от MumiyTroll

1. Вы не можете представить 20т, а это работает на ура! И именно dstdom_regex.

2. А какая разница редиректор или внешний хелпер?

3. Да, каждый запрос мускул хорошо кэширует. А редиректор ведь тоже запрос будет прогонять через себя все теже 100500 картинок и т.д...

iNadya
()
Ответ на: комментарий от anonymous

и люлей с оригинальными мыслями.

По Фрейду!

yoghurt ★★★★★
()
Ответ на: комментарий от iNadya

Надя, а вы на не расскажете в какой именно крупной компании так издеваются над людьми? Десятки тыс. регеспов в базе - афигеть, у них там, что только на яндекс ходить можно?

anonymous
()

sudo -i, ящитаю

anonymous
()

При использовании многоядерного или нескольких процессоров на высоконагруженном сервисе...

По-русски так можно? На машинный перевод похоже

vonenij
()

Эх, нынче proxy сервера стали нишевым решением, уделом организаций с сильно закрученными гайками по части безопасности. А ведь раньше реально народ пользовался чтоб пропускную способность каналлов экономить!

jekader ★★★★★
()
Ответ на: комментарий от jekader

цитата]
[цитата]


Эх, нынче proxy сервера стали нишевым решением, уделом организаций с сильно закрученными гайками по части безопасности. А ведь раньше реально народ пользовался чтоб пропускную способность каналлов экономить!


Трафик экономить можно и сейчас.

blackst0ne ★★★★★
()

Идея годная, сам хотел что-то сделать подобное на Ruby и MySQL.

anonymous
()

Добавил в закладки. Попробую, когда в следующий раз будет лень ставить sams.

Deleted
()
Ответ на: комментарий от iNadya

1. Вы не можете представить 20т, а это работает на ура! И именно dstdom_regex.

Ваш коллега уже раскололся. Оно работает не «на ура», а на 4-х узловом кластере.

2. А какая разница редиректор или внешний хелпер?

Да никакой. Я говорил о том, что у меня и мысли бы не возникло городить 20000 регэкспов в конфиге squid'а.

3. Да, каждый запрос мускул хорошо кэширует. А редиректор ведь тоже запрос будет прогонять через себя все теже 100500 картинок и т.д...

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

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

MumiyTroll ★★★
()
Ответ на: комментарий от MumiyTroll

Ваш коллега уже раскололся. Оно работает не «на ура», а на 4-х узловом кластере.

2 железных сервера и 2 виртуалки... балансер распределяет все на железные сервера, виртуалкам почти ничего не остается, это просто эксперимент... 2 железки не потому, что одна не тянет, а для обеспечение непрерывности предоставления сервиса, мы можем спокойно в любой момент времени перезапустить любою железку незаметно для пользователей. Смотрю данные за вчера... было обслужено 18199 уникальных пользователей.

Думаю, что не стоит это обсуждать... мы сделали для себя систему, с годами отладили и предложили сообществу. Будем рады если она окажется полезной.

sonic
() автор топика
Ответ на: комментарий от sonic

А вы не думали разнести нагрузку другим образом ? Например, построить иерархию сквидов. Нижние фильтруют что-то локальное, верхние применяют глобальные политики ?

spiro ★★
()

делегировать право управление доступом
по средством
благодаря программе, входящий в состав.

Даже и не нужно смотреть проверявшего.

anonymous
()

Я такую хрень делал 10 лет назад. http://bars.neman.by/projects/sqlredir/
Только для морды php нужно с register_global on. А потом уже лень было морду переделывать.
И подсети были, и по времени-дате-дням блокировки, и банерорезалки и еще чего-то. Уже не помню.

hbars ★★★★★
()
Ответ на: комментарий от MumiyTroll

squidguard berkeleyDB использовал, если мне память не изменяет

W ★★★★★
()

Попробовал сабж, есть впечатление лаконичности и простоты, но наткнулся на пару проблем:

  • Не понял откуда должны взяться acl, а пока их там нет сквид стартовать отказывается.
    include "/etc/squid/squidward.d/*.acl"
    Возможно их должен был создать squidward, но где-то прав не хватило.
  • создавая OU указал пользователя так же admin (как дефолтный от всей морды) но с другим паролем, теперь под основным админом зайти нельзя.

Ну и конечно разделение пользователей по подсетям для моих задач никак не подойдёт, нужны группы AD.
Если бы сюда добавить некоторые возможности и статистику, при этом не породив монстра, то было бы чудесно.

nixargh
()
Ответ на: комментарий от nixargh

Не понял откуда должны взяться acl, а пока их там нет сквид стартовать отказывается.
include «/etc/squid/squidward.d/*.acl»
Возможно их должен был создать squidward, но где-то прав не хватило.

Видимо пропущен какой-то шаг из документации по установки. Данные файлы создаются после создания OU, после чего уже, по документации, запускается сквид

sonic
() автор топика
Ответ на: комментарий от sonic

Я так и догадался, но при создании OU они по какой-то причине не создались, это я вполне мог где-то промахнуться, так как ставил на Ubuntu Server 12.04, а не на CentOS 6, как в доке. Хотел попробовать пересоздать OU, но потерял доступ в консоль по описанной выше причине.
Так как функционал я понял, то чинить пока не стал.

nixargh
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.