The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проверка заголовка перед выдачей и подсчет трафика после"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [ Отслеживать ]

"Проверка заголовка перед выдачей и подсчет трафика после"  
Сообщение от Николай email(??) on 20-Мрт-08, 16:29 
Уважаемые знатоки!


очень срочно (готов отплатить пивом :) ) нужно сделать такое:
FreeBSD 7. Есть VPN-соединение. Пользователи обращаются к нашему прокси-серверу в поисках интернета. В заголовках запроса присутствует дополнительная строчка - счет клиента.
Подскажите, пожалуйста, есть ли какая-либо возможность запускать скрипт, который смотрит заголовок, проверяет номер (ищет в своей БД), возвращает "добро" или "зло". Злом в этом случае будет страничка с напоминанием об оплате.
Кроме того, после выдачи нужно опять обращаться к скрипту, чтобы он этот трафик пересчитал и в базе вычел денежку у этого пользователя.

Если не squid - то может быть кто-то еще может это делать?
Говорят, через Апачи можно что-то сделать. Но запросов будет более 100 в секунду - вряд ли он выдержит, тем более с дополнительными запусками программ. Веб-сервер всё равно какой-то будет (склоняюсь к lighttpd), так что его тоже можно использовать.

В сквиде (2.6) есть url_rewrite_program, но заголовки туда не передаются, а значит параметр для меня бесполезен...


Спасибо большое,
с уважением,
Николай

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проверка заголовка перед"  
Сообщение от Andrey Mitrofanov on 20-Мрт-08, 18:45 
>очень срочно (готов отплатить пивом :) ) нужно сделать такое:
>FreeBSD 7. Есть VPN-соединение. Пользователи обращаются к нашему прокси-серверу в поисках интернета.
>В заголовках запроса присутствует дополнительная строчка - счет клиента.

А зачем? Во-первых, подделывается на раз, в во-вторых, не проще ли на VPN-е по логину раздавать каждому свой ip и по нему "рулить" в сквиде, при исчерпании счёта, например, выдавать другой ip, которому показывать только статистику....

>Подскажите, пожалуйста, есть ли какая-либо возможность запускать скрипт, который смотрит заголовок, проверяет
>номер (ищет в своей БД), возвращает "добро" или "зло".

Если штатные методы auth не устраивают, то при такой постановке задачи
external_acl_type + соотв.скрипт клепать...

> Злом в этом случае будет страничка с напоминанием об оплате.

...ну, сообщение об ошибке с редиректом, может быть.

>Кроме того, после выдачи нужно опять обращаться к скрипту, чтобы он этот
>трафик пересчитал и в базе вычел денежку у этого пользователя.

это уже билинг какой-то = не сквид.

>Если не squid - то может быть кто-то еще может это делать?
>
>Говорят, через Апачи можно что-то сделать. Но запросов будет более 100 в
>секунду - вряд ли он выдержит, тем более с дополнительными запусками

В сквиде запросы к auth-хелперам кешируются, насколько я понимаю. То есть
дёргать скрипт сквид будет не на каждое обращение... если повезёт...

>В сквиде (2.6) есть url_rewrite_program, но заголовки туда не передаются, а значит
>параметр для меня бесполезен...

Значит так: берёшь /usr/share/doc/squid/examples/squid.conf (или где оно у вас "там") и смотришь на external_acl_type, радуешься, идёшь на google.ru = задаёшь вопросы (squid external_acl_type site:opennet.ru)...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "+об external_acl_type"  
Сообщение от Andrey Mitrofanov on 20-Мрт-08, 19:09 
>external_acl_type + соотв.скрипт клепать...
>
>В сквиде запросы к auth-хелперам кешируются, насколько я понимаю. То есть
>дёргать скрипт сквид будет не на каждое обращение... если повезёт...
>
>на external_acl_type, радуешься, идёшь на google.ru = задаёшь вопросы (squid external_acl_type
>site:opennet.ru)...

Вот тут как это выглядит примерно: http://opennet.ru/tips/info/1378.shtml
(без редиректов, статистики, со скриптом и обсуждением кеширования ответов).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "+об external_acl_type"  
Сообщение от Николай email(??) on 21-Мрт-08, 12:29 
>>external_acl_type + соотв.скрипт клепать...
>>
>>В сквиде запросы к auth-хелперам кешируются, насколько я понимаю. То есть
>>дёргать скрипт сквид будет не на каждое обращение... если повезёт...
>>
>>на external_acl_type, радуешься, идёшь на google.ru = задаёшь вопросы (squid external_acl_type
>>site:opennet.ru)...
>
>Вот тут как это выглядит примерно: http://opennet.ru/tips/info/1378.shtml
>(без редиректов, статистики, со скриптом и обсуждением кеширования ответов).

Спасибо за ответы!

У меня возникли проблемы с external_acl_type - squid пишет, что дети хелпера быстро убиваются. Уже ставил children=50 - то же самое. Сейчас сделал заглушку, возвращающую (пока эта ошибка не возникает) OK сразу (ну и в логи пишет обращения).
Однако есть еще одна проблема. Придется подробнее описать, зачем мне это нужно (сначала не хотел грузить вас подробностями).
Итак, есть ВПН с мобильными клиентами. У клиентов динамические IP. Мой сервер выступает для доступа в интернет. Клиентов по IP разграничить невозможно, нужно из заголовков запроса вытаскивать MSISDN, искать его в базе клиентов, определять, есть ли доступ, потом отдавать ему трафик или посылать на страницу с оплатой. Клиентов, которых вообще нет в базе - вообще посылать куда-то в третье место :)
Итак, проблема - кеширование мешает разумно считать трафик, так как нам всё равно, сколько наш сервер берет из интернета, а вот сколько клиентам отдается - важно.
Смотрел несколько биллинговых систем - не видел ни одной, чтобы позволяла на основании хидеров пользователей разграничивать - только по IP максимум по маку.
Как вариант - использование mod_rewrite + mod_proxy Apache, но, боюсь, при большом количестве клиентов такое решение рухнет.
Любые идеи приветствуются!!
Количество серваков для системы - 2 шт

Пожалуйста, помогите - в долгу не останусь, обещаю. Любая работа оплачивается, консультационная конечно тоже, если поможет.

Спасибо еще раз!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "+об external_acl_type"  
Сообщение от idle (ok) on 21-Мрт-08, 16:36 
>[оверквотинг удален]
>(сначала не хотел грузить вас подробностями).
>Итак, есть ВПН с мобильными клиентами. У клиентов динамические IP. Мой сервер
>выступает для доступа в интернет. Клиентов по IP разграничить невозможно, нужно
>из заголовков запроса вытаскивать MSISDN, искать его в базе клиентов, определять,
>есть ли доступ, потом отдавать ему трафик или посылать на страницу
>с оплатой. Клиентов, которых вообще нет в базе - вообще посылать
>куда-то в третье место :)
>Итак, проблема - кеширование мешает разумно считать трафик, так как нам всё
>равно, сколько наш сервер берет из интернета, а вот сколько клиентам
>отдается - важно.

Из логов сквида можно всё посчитать и кэшируемый, и общий.
>Смотрел несколько биллинговых систем - не видел ни одной, чтобы позволяла на
>основании хидеров пользователей разграничивать - только по IP максимум по маку.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру