ES Proxy
Описание файла настройки клиентов

Настройки клиентов ESPS содержатся в специальном построчном текстовом файле, имя которого должно быть указано в параметре "Groups File" секции "Users" файла esps40.ini. Клиенты сервера ESPS делятся на группы таким образом, чтобы все ее (группы) члены имели равные права. Деление клиентов на группы сделано для облегчения процесса конфигурирования, так как достаточно указать права один раз для всей группы, а не много раз, для каждого клиента в отдельности. Информация в рассматриваемом файле настройки клиентов располагается построчно, так что каждая строка содержит одну из перечисленных ниже команд настройки, а сами команды располагаются блоками, по группам клиентов. Каждая команда состоит из ряда полей, разделенных символом двоеточия, причем в первом поле всегда располагается код команды, а в последующих полях строки - параметры данной команды. Нераспознанные команды игнорируются, то есть рассматриваются как комментарии. Также игнорируются любые дополнительные поля в любой команде, так что администратор может свободно добавлять их в конце строки в качестве комментария. Пробелы и табуляции в полях игнорируются, так что их можно использовать как форматирующие символы для улучшения читаемости. Все команды, находящиеся в блоке той или иной группы, действуют только на клиентов данной группы, а на клиентов групп других блоков никакого влияния не оказывают. Блок группы клиентов начинается с команды "GROUP" и заканчивается на следующей команде "GROUP" или с окончанием самого файла настройки клиентов.

Команда GROUP

Эта команда создает группу и должна идти первой в блоке описания группы клиентов с равными правами. Все последующие строки будут описывать права этой группы клиентов, пока не встретится следующая команда GROUP (или же не закончится сам управляющий файл). Эта команда имеет один параметр - имя данной группы. Это имя будет отображаться на страницах статистики в соответствующих местах.

Команда USER

Эта команда сообщает серверу ESPS какие именно IP-адреса должны пользоваться правами текущей группы. Эта команда имеет два параметра - адрес сети и маску сети. Если маска сети указана как 255.255.255.255, то такая запись будет определять один компьютер, если используется другая маска, то команда определяет много компьютеров. Команда USER может подаваться в пределах блока группы много раз, таким образом в группе могут находиться несколько различных сетей (или отдельных хостов, если используется маска 255.255.255.255). Если команда USER подается несколько раз в пределах группы, то никакие ограничения на силу маски в разных экземплярах этой команды не налагаются: может быть подана одна команда с маской 255.255.255.255, определяющей одну машину, другая команда - с маской, определяющей 16 машин, третья - с маской, определяющей 256 машин и т.д. Отметим также, что адреса сетей, заданных этой командой в разных блоках групп могут пересекаться (но, конечно, не могут быть тождественными). В этом случае, сервер ESPS определяет принадлежность того или иного хоста к конкретной группе по силе маски (по ее наибольшей точности). Например, если в группе 1 задано

USER : 192.168.0.1 : 255.255.255.0 :

а в группе 2 задано

USER : 192.168.0.3 : 255.255.255.255 :

то машина 192.168.0.3 будет при этом отнесена по своим правам к группе 2, поскольку именно там ее адрес задан с наибольшей точностью.

Команда WEIGHT

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

Команда SHOW STATISTICS

Эта команда имеет один параметр, принимающий значение 0 или 1. Она определяет доступность для клиентов данной группы страниц статистики сервера ESPS: если параметр равен единице, то статистика доступна, если ноль - недоступна. (Речь, естественно, не идет о том, что для той группы, у которой указан ноль, статистика не собирается, а лишь о том, что такие клиенты не смогут ее увидеть.) Обычная настройка заключается в единице для группы администраторов, и нуле - для обычных клиентов.

Команда ENABLE ROUTE PORT

Эта команда дает разрешение данной группе воспользоваться роутингом портов. Она имеет один параметр - номер локального порта, с которым можно работать этой группе клиентов. Следует отметить, что сам роутинг должен быть создан отдельно - через соответствующий файл настройки роутинга портов, однако любой созданный там роутинг не становится сразу доступным любой группе. Его смогут использовать лишь те группы, в настройках которых имеется соответствующая команда ENABLE ROUTE PORT.

Команда ENABLE HTTPS PORT

Эта команда дает разрешение данной группе воспользоваться протоколом https. Она имеет один параметр - номер удаленного порта, с которым можно работать этой группе клиентов по методу CONNECT. Эту команду можно повторить для любой группы несколько раз, указав при этом последовательно все необходимые порты. Можно также в качестве номера порта использовать ноль, тогда это будет означать разрешение на все порты сразу. Следует отметить, что в дополнение к этому возможность работы https должна быть еще глобально разрешена для сервера ESPS в целом (параметр "Enable" секции "Connect" файла esps40.ini).

Команды ограничения трафика

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

Коды единиц измерения: Например, команда

Day Input Limit : 800 : K :

устанавливает любому клиенту данной группы дневной лимит входящего трафика в 800 килобайт.

(Под "входом" подразумевается передача данных из внешнего канала клиенту ESPS, а под "выходом" - передача информации от клиента ESPS во внешний канал.) Если в описании той или иной группы соответствующая команда ограничений отсутствует, то такой группе соответствующий трафик сервером ESPS ограничиваться не будет. В любой группе могут быть наложены одни лимиты, при полном отсутствии других. Могут быть также наложены все возможные лимиты одновременно, либо не наложены никакие вообще. Допускаются, таким образом, любые возможные комбинации.

Управления доступом к отдельным страницам

Имеется две команды для управления доступом:

Обе эти команды имеют один параметр - URL, доступом к которому необходимо управлять. В этом параметре можно использовать обобщающий символ звездочку, причем не один раз. Например, команда

Disable URL : *porno*.gif* :

предотвратит возможность получения gif-файлов с любого сервера, в имени которого содержится фрагмент "porno". Обе эти команды должны размещаться в пределах того или иного блока клиентов и оказывают действие только на клиентов того блока, в котором они размещены. Если в каком-то блоке используются как команды "Disable URL", так и команды "Enable URL", и некоторый URL подпадает под действие нескольких различных команд, то окончательное решение принимается по той команде, с которой у такого URL зафиксировано наибольшее количество совпадающих символов, не считая звездочек. Например, если написать

Disable URL : *123* :
Enable URL : *123*.gif* :

то нельзя будет получить страницу "http://123.ru/index.htm", но картинку "http://123.ru/35.gif" - можно. В заключение отметим, что любой URL, не подпадающий под действие ни одной из команд управления, считается доступным.

Команда DAY OFF

Эта команда объявляет для данной группы клиентов нерабочим днем (то есть таким, в течение которого обслуживание данных клиентов сервером ESPS не производится) тот день недели, код которого содержится в параметре этой команды. Коды дней:

Например, команда

Day Off : 5 :

не позволит группе, в описании которой она находится, работать в течение всей пятницы. Разумеется, команда "Day Off" может повторяться в любом блоке не один раз, так чтобы запретить работу в любое необходимое количество дней недели.

Команда WORK TIME

Эта команда позволяет работать через ESPS данной группе клиентов в определенный день недели в определенном интервале времени. Первым параметром этой команды является код дня, к которому она относится (коды дней совпадают с описанными выше в команде "Day Off"), а два последующих параметра дают время от которого и до которого можно работать. Например, команда

Work Time : 5 : 12 : 18 :

позволит группе, в описании которой она находится, работать по пятницам с 12 до 18 часов. В описании любой группы эта команда может быть подана неоднократно (в том числе, и для одного дня), так чтобы разрешить работу в течение любого количества необходимых интервалов времени в любые нужные дни недели. При отсутствии этой команды для любого дня недели, работа в этот день допускается с 0 до 24 часов, то есть постоянно.

Команда MAX INPUT RATE

Эта команда определяет ограничение сверху скорости работы любого клиента данной группы на вход. Значение ограничения (в байтах в секунду) содержится в ее единственном параметре. Следует отметить, что система квотирования самостоятельно определяет полосу для каждого активного клиента, поэтому использовать эту команду без особой нужды настоятельно не рекомендуется. Смысл этой команды состоит в том, чтобы при малом количестве активных клиентов каждый из них не получал слишком широкую полосу внешнего канала (в абсолютных цифрах).

Команда MAX OUTPUT RATE

Эта команда определяет ограничение сверху скорости работы любого клиента данной группы на выход. Значение ограничения (в байтах в секунду) содержится в ее единственном параметре. Следует отметить, что система квотирования самостоятельно определяет полосу для каждого активного клиента, поэтому использовать эту команду без особой нужды настоятельно не рекомендуется. Смысл этой команды состоит в том, чтобы при малом количестве активных клиентов каждый из них не получал слишком широкую полосу внешнего канала (в абсолютных цифрах).