Программа ProxyLim. Версия 1.0.6.2 1. Назначение 1.1. Программа предназначена для ограничения и приори- тезации скорости пользователей прокси-серверов. 1.2. Данная версия может выполнять функции прокси-сервера HTTP 1.0 и прокси-сервера FTP типа user@site. 1.3. В случае использования программы для ограничения и приоритезации доступа к существующим прокси-серверам подключение пользователей осуществляется через данную программу с помощью мапирования портов либо каскадирования. 2. Общие положения 2.1. Использование с существующим прокси-сервером. 2.1.1 Предполагается, что подключение клиентов ЛВС к Intrenet осуществляется через прокси-сервер. В этом случае между прокси-сервером и пользователями ставится программа ProxyLim (может ставиться на этом же компьютере), и доступ к портам прокси-сервера осуществляется через нее. На компьютерах клиентов в установках броузеров "прокси- сервер" ставится ip-адрес и порт (порты) компьютера, на котором стоит ProxyLim. Теперь все пользователи, подключенные через ProxyLim, получат скорость в зависимости от приоритета и ограничений, причем даже если пользователь будет открывать несколько соединений, то скорость всех его соединений в сумме не будет превышать выделенной ему по приоритету и по ограничению. При этом если пользователи с более высоким приоритетами ничего не при- нимают или не передают по своим открытым соединениям, то весь их "положенный" трафик делится между соединениями других пользовате- лей. 2.2 Общая скорость может быть задана отдельно по портам или в сумме по всем портам. Пример использования с существующим прокси-сервером. В сети стоит прокси-сервер с именем PROXYSERVER с установленными портами 8080 - http, 8021 - ftp. Чтобы не менять установки у каждого пользователя, меняем порты на прокси-сервере 8080 на 8580, 8021 на 8521. Создаем два Share port в ProxyLim 8080 и 8021 (Options->Configuratin->Share ports->New port). Для 8080 указываем следующие параметры: Share port:8080, Type:normal, Map host/ip: PROXYSERVER, Map port:8085, Show messages:off, Max speed on port:0, No limit on this port:off Для 8021 указываем следующие параметры: Share port:8021, Type:FtpCascade, Map host/ip: PROXYSERVER, Map port:8521, Show messages:off, Max speed on port:0, No limit on this port:off Указываем максимальную скорость по всем портам, например 4000: Options->Configuratin->Other->Maximum speed of all ports. 3. Установка программы 3.1. Данная версия программы не имеет программы установки. Поэтому, чтобы установить программу необходимо создать рабочий каталог программы (например c:\Program files\ProxyLim) и перепи- сать туда файлы ProxyLim.exe и ProxyLim.ini. 3.2. Данная программа может работать как приложение (Windows 98/NT/2000/XP) либо как сервис (NT/2000/XP). Чтобы программа работала как сервис (служба) нужно предварительно уста- новить ее как сервис запустив ее с параметром /install: ProxyLim.exe /install Чтобы удалить службу нужно запустить с параметром /uninstall: ProxyLim.exe /uninstall 3.3. В ОС Windows NT/2000/XP запуск программы как прило- жение нужно производить с параметром /app: ProxyLim.exe /app 3.4. Регистрация программы. 3.4.1. Для пользователей в бывшем СССР программа является бесплатной. Имя регистрации: Регистрация эксСССР Ключ: GE8OJ-LM2SF-JG1NL-5V63V (4-й символ - это буква O, а не ноль) 4. Параметры конфигурации. 4.1 Закладка "Share ports". Предназначена для редактирования списка портов общего доступа и запуска управляющего порта. 4.1.1 Порт имеет следующие параметры "Share port" - номер порта "Type" - тип порта, normal - обычное мапирование ftp cascade - мапирование ftp на вышестоящий ftp-proxy (user@site) http proxy - http-proxy порт (HTTP/1.0) ftp proxy - ftp-proxy (типа user@site) http proxy cascade - http-proxy на вышестоящий http-proxy. "Map host/ip" - хост или ip-адрес, на который мапируется (для http proxy и ftp proxy не используется) "Map port" - порт хоста, на который мапируется (для http proxy и ftp proxy не используется) "Show messages" - признак вывода сообщения хосту о превышении лимита (в виде http-ответа) "Max speed on port" - макисмальная скорость по порту, используется только если не указана общая скорость по всем портам в закладке Other. "No limit on this port" - все ограничения по данному порту снимаются (данные о трафике по нему не учитываются в лимитах). 4.1.2 Управляющий порт Предназначен для просмотра считанных трафика с подключенных хостов. Задается номер порта и затем он активируется (или деактивируется). На компьютере клиента просмотреть его трафик можно с помощью браузера указав следующий URL: http://server:port, где server - это сервер ProxyLim, port - номер заданного контрольного порта. 4.2 Закладка Hosts. Предназначена для редактирования списка хостов, подключаемых к прокси-серверу. Хост имеет следующие параметры "Host" - имя или ip-адрес хоста "Prioriy" - приортет хоста от 1 до 1000, Disconnect - хост отключен, Default priority - приоритет по умолчанию (задается на закладке Other) "Max speed" - ограничение скорости хоста; default - по умолчанию, берется из параметра "Default max speed, bytes/sec", устанвливаемого на закладке "Other" NoLimit - не задано, зависит от приоритета "Max connections" - максимально разрешенное количество одновременных соединений, Default - по умолчанию (задается на закладке Other) "Day limit" - ограничение на дневной размер загружаемых данных Default - по умолчанию (на закладке Other), NoLimit - нет ограничений. "Week limit" - ограничение на недельный размер загружаемых данных Default - по умолчанию (на закладке Other), NoLimit - нет ограничений. "Month limit" - ограничение на месячный размер загружаемых данных Default - по умолчанию (на закладке Other), NoLimit - нет ограничений. "Write traffic to log" - тип записи трафика данного хоста; вводится номер типа записи трафика, который совпадает с номером типа записи трафика по умолчанию (на закладке Other) "Use ban list" - признак использования списка запрещенных сайтов yes-использовать, no-не использовать, default-использовать если установлен признак Use ban list (default) на закладке Ban list. Ban list используется толко для портов http proxy, ftp proxy, http proxy cascade "MAC address limitation" - данные для ограничения доступа с данного хоста по MAC адресу, MAC address - MAC адрес хоста, Use - признак того, что нужно задействавать это ограничение для данного хоста; Detect - переход в процедуру определения MAC адреса хоста. В данной версии определяются MAC адреса хостов, находящихся в одном сегменте ЛВС для ОС Win2000/XP Для правильного действия лимитов необходимо, чтобы было установлено "Write to stat log" на закладке Other. 4.3. Закладка Other. Предназначена для редактирования следующих параметров "Threads control" - один из основных параметров - разрешение контроля соединений для приоритезации и ограничения трафика refresh - время обновления параметров соединений в милисекундах (перераспределение скорости между хостами и сединениями). "Timeout for close inactive connection" - тайм-аут для закрытия неактивных соединений, Ftp control - для управляющего соединения ftp, Ftp data - для данных ftp, Other - для остальных типов соединений. "Ftp data ports (ftp-proxy)" - данные для работы порта данных ftp (связано с особенностями реализции ftp-proxy), FtpData first port - первый разрешенный для использования порт, FtpData max port - максимальный разрешенный для использования порт. "Default priority for other hosts" - приоритет по умолчанию и для неописанных хостов на закладке Hosts; если установлен в 0, то неописанные хосты не смогут подключиться к портам, так же не смогут подключаться те хосты, у которых стоит приоритет по умолчанию. "Maximum speed to all ports, bytes/sec" - максимальная скорость для всех портов (за исключением NoLimit=yes); если она указана больше 0 то относительно этой скорости расчитывается текущая максимальная скорость для каждого хоста (и для каждого соединения от этого хоста); если задана равной 0, то для расчета скорости хостов используется максимальная скорость, заданная для каждого порта (Max speed, причем в этом случае эта скорость обязательно должна быть задана, за исключением NoLimit=yes). "Default max speed, bytes/sec" - максимальная скорость хостов, не описанных в закладке "Hosts", а так же для хостов, у которых максимальная скорость задана по умолчанию. Если установлено в 0, то нет ограничения скорости по умолчанию. "Default max connection from host" - максимальное количество одновременных соединений по умолчанию (от одного хоста). "Thread status in main application window" - нужно ли показывать общую статистику в главном окне программы (для слабых компютеров можно отключать). "Hide application on start" - сворачивать окно приложения при загрузке "Http cache" - использование кеша для портов типа HttpProxy и HttpProxyCascade; "On - type 1, (only GET)" модифицирует запрос GET от хоста, если ресурс уже есть в кеше, анализирует заголовок ответа, если ресурс имеет такой же размер и более раннюю дату, то берется из кеша, иначе берется текущий "On - tyep 2, (HEAD-GET)" сначала посылает от запрос HEAD и если ресурс уже есть в кеше, то пересылает хосту ресурс из кеша "Read traffic limit, kilobytes" - лимиты по умолчанию. "Write traffic to log files" - различные типы записи трафика в логи "Log files" - признаки записи данных в лог файлы "Write to main log" - данные о работе программы "Write to stat log" - запись в файлы статистки, нужны для отчетов и для отслеживания лимитов "Write to disp.log" - запись текущих соединений в текстовый файл, данный файл можно просматривать например с помощью программы Far и видеть текущие соединения с другого компьютера в сети Refresh - время обновления файла в милисекундах "Delete old log files (days ago)" - за сколько дней оставлять лог файлы, Days number - количество удаляемых дней 4.4. Закладка IncludeIp. Применяется для формирования списка разрешенных ip-адресов. Если задан хоть один диапазон, то он и будет разрешен, если не задано ничего, то разрешено все. 4.5. Закладка ExcludeIp. Применяется для формирования списка запрещенных ip-адресов. Имеет преимущество перед IncludeIp. 4.6. Закладка Ban list. Применяется для формирования списка запрещенных сайтов. "Use ban list (default)" - признак использования данного списка для всех хостов, кроме указанных на закладке Hosts, у которых данный признак указывается индивидуально. В каждой строке списка можно указать символ "*" в начале и/или в конце строки. Этот символ означает любую строчку. Ban list используется толко для портов http proxy, ftp proxy, http proxy cascade 4.7. Закладка "No limit ext IP". Применяется для формирования списка внешних ip-адресов, которые не влияют на лимиты. 5. Дополнения 5.1. Данная программа хорошо придерживается указанных параметров скорости и приоритетов при доступе к "своим" серверам, расположенным внутри ЛВС, причем на малых скоростях (до сотен килобайт в секуду). При доступе в internet зависимость не такая явная, хотя конечно, при разнице в приоритетах в десятки раз различие скорости тоже видно. 6. Недостатки программы 6.1. Для того, чтобы использовать трафик по приоритетам по всем мапируемым портам ( параметр MaxBpsToAll) необходимо знать (или предположить) наибольшую скорость. Например при соединении на скорости 33600 бит/сек скорость в байтах в сек. примерно равна 4000 байт/сек. Но может быть и больше (при использовании сжатия) или меньше (при плохом соединении). Однако программа будет раздавать скорость именно с учетом заданной максимальной скорости 4000. 6.2. Медленная работа при мапировании портов FTP протокола. 6.3. При установке "Не ограниченой" скорости по порту (опция NoLimit=on), например при мапировании на внутренние сервера ЛВС, не достигается максимальная скорость. Максимум равен примерно 600 килобайт в сек. 6.4. Отсутствие мапирования UDF. Отзывы, описания ошибок, предложения и пр. прошу присылать по адресу: yuribab@hotmail.com Юрий Бабушкин. Новые версии программы можно переписать с сайтов: www.download.ru (Интернет->Серверы->ProxyLim) yurib77.narod.ru