Настройка сервера Linux и Windows
ITShaman - Сайт для АЙТИшников!
"Машины должны работать. Люди должны думать."
(девиз компании IBM)

Бесплатный прокси-сервер для Windows (ES Proxy)

В этой статье будет рассказано о ES Proxy - бесплатном консольном прокси-сервере для ОС Windows. В статье представлен пример установки и настройки прокси-сервера. По шагам будут разобраны основные моменты конфигурирования ES Proxy.

На что способен и где скачать ES Proxy?
Наверх


Из наиболее значимых достоинств программы: Скачать ES Proxy можно на ITShaman или на официальном сайте.
Рекомендую скачать с сайта ITShaman, так как после установки этой сборки потребуется минимальная настройка «под себя».

Установка ES Proxy.
Наверх


Ниже описана установка ES Proxy, скаченного с сайта ITShaman. Более подробную информацию о установке и настройке программы можно найти на официальном сайте программы.

Установка ES Proxy по шагам:
  1. Распаковываем скаченные файлы в папку C:/Program Files/ES Proxy
  2. Устанавливаем программу в качестве системной службы, для этого в Windows-консоли набираем:
    # sc create "es" binpath= "C:/Program Files/ES Proxy/espsrv.exe" start= auto displayname= "es proxy"

    В последнем параметре можно указать любое другое, выбранное Вами, значение, которое будет соответствовать имени процесса в ОС. Более подробнее об установке программ в качестве системных служб можно прочитать в статье "Работа с системными службами из консоли в Windows: создание, удаление, запуск, остановка и изменение параметров".

  3. Запускаем системную службу:
    # net start es

Настройка ES Proxy.
Наверх


ES Proxy состоит из:
  • esps40.ini — основного конфигурационного файла, в котором содержатся основные сведения работы прокси-сервера: родительский прокси, HTTP-порт, параметры использования кэш и т. д.
  • users.ini — конфигурационный файл, в котором содержится вся информация о группах пользователей: группы, логины, IP-адреса и права пользователей, а так же назначается вес группы (квотирование).
  • esps4_cache_rules.ini — конфигурационный файл, в котором содержатся правила кэширования различных объектов: *.gif, *.png, *.html и т.д.
  • esps4_routers_list.ini — конфигурационный файл, в котором содержится информация о перенаправлении портов.

Все конфигурационные файлы для удобства разбиты на секции. Все пробелы и переносы в файлах игнорируются и нужны только для визуального удобства системного администратора. После каждой команды и между параметрами ставится знак ":".

Ниже приведено содержимое конфигурационных файлов с комментариями ключевых моментов прокси-сервера.

Спойлер: содержимое esps40.ini (нажать для развертывания)

[Server]
Master=
# IP-адрес родительского прокси-сервера. Если он отсутствует, то поле остается пустым.
Port=80
# Порт для подключения пользователей по протоколу HTTP.
Idle Thread Time=100
# Время в милисекундах холостого хода рабочих потоков.
Threads=100
# Целое положительное число количества рабочих потоков.
Threads Type=1
[FTP]
Enable=1
# (0 или 1) разрешение на работу фтп-прокси.
Port=21
# Порт для подключения пользователей по протоколу FTP.
Scan for server name from the begin=0

Log Enable=1
# (0 или 1) ведение log-файла.
Log File Name=C:\Program Files\ES proxy\esps4_ftp.log
# Путь к log-файлу.
Info Log Enable=0
# (0 или 1) ведение log-файла с дополнительной информацией.
;Info Log File Name=C:\Program Files\ES proxy\esps4_ftp_info.log
;Путь к log-файлу
[Connect]
Enable=1
# (0 или 1) Глобальное разрешение использование HTTPS-протокола по методу Connect.
Use Parent=1
# (0 или 1) разрешение работы через родительский прокси.
Log Enable=1
# (0 или 1) ведение log-файла.
Log File Name=C:\Program Files\ES proxy\esps4_https.log
# Путь к log-файлу.
[Statistics]
Show Zero Day Users=1

Show Zero Week Users=1

Show Zero Month Users=1
[Users]
Groups File=C:\Program Files\ES proxy\user.ini
# Путь к конфигурационному файлу, содержащему настройки групп пользователей.
Count=3
# Количество пользователей, подключаемых к прокси-серверу.
Wait Free Thread=100
# Время ожидания (в секундах) освобождения потоков для системы квотирования.
Threads Limit=32
# Количество входящих потоков, которые распределяются между пользователями системой квотирования.
Input Rate Limit=1048576
# Скорость входящего потока в байтах (1Мб/сек = 1048576).
Output Rate Limit=1048576
# Скорость исходящего потока в байтах (1Мб/сек = 1048576).
Save Users File Name=C:\Program Files\ES proxy\user.dat
# Путь к файлу для хранения временной информации во время остановки системной службы.
Show Names=1

Show MAC=0

Report Disable URLs=1
[Main Log]
Enable=1
# (0 или 1) ведение log-файла
File Name=C:\Program Files\ES proxy\esps4_m.log
# Путь к log-файлу запуска и остановки сервера.
[Access Log]
Enable=1
# (0 или 1) ведение log-файла
File Name=C:\Program Files\ES proxy\esps4_http.log
# Путь к log-файлу регистрации доступа клиентов по HTTP.
[Error Log]
Enable=0
# (0 или 1) ведение log-файла.
;File Name=C:\Program Files\ES proxy\esps4_errors.log
# log-файл регистрации ошибок.
[Cache]
Enable=1
# (1 или 0) разрешение или запрещение работы кэша.
Path=C:\Program Files\ES proxy\Cache
# Путь к директории содержащей кэш.
Rules File=C:\Program Files\ES proxy\esps4_cache_rules.ini
# Путь к файлу, в котором содержатся правила хранения для различных типов объектов в кэше.
Max Size=50
# Максимально допустимый размер кэша в Мб.
Test Time=1800
# Периодичность проверки (в секундах) сервером своего кэша.
Clear Log Enable=0
# (0 или 1) ведение log-файла очистки кэша.
;Clear Log File Name=C:\Program Files\ES proxy\esps4_clear_cache.log
# Путь к log-файлу.
[Wait Socket]
Retry Connect=1
# Количество повторов при неудаче связаться с удаленным сокетом.
Retry DNS=1
# Количество повторов при неудаче определения IP-адреса по имени запрошенного ресурса.
Write Local=1000
# Допустимый таймаут на запись для локальных сокетов.
Read Local=1000
# Допустимый таймаут на чтение для локальных сокетов.
Read Remote=1000
# Допустимый таймаут на чтение для удаленных сокетов.
Write Remote=1000
# Допустимый таймаут на запись для удаленных сокетов.
[Routers]
Enable=1
# (0 или 1) разрешение использования перенаправления портов TCP.
List File Name=C:\Program Files\ES proxy\esps4_routers_list.ini
# Путь к файлу, где находятся настройки перенапрвления портов TCP.
Threads=32
# Целое положительное число количества рабочих потоков роутинга портов.
Log Enable=1
# (0 или 1) ведение log-файла.
Log File Name=C:\Program Files\ES proxy\esps4_routers_list.log
# Путь к log-файлу.
[UDP Routers]
Enable=0
# (0 или 1) разрешение использования перенаправления портов UDP.
;List File Name=C:\Program Files\ES proxy\esps4_udp_routers_list.ini
# Путь к файлу, где находятся настройки перенапарвления портов UDP.
;Threads=32
# Целое положительное число количества рабочих потоков роутинга портов.
Log Enable=0
# (0 или 1) ведение log-файла.
;Log File Name=C:\Program Files\ES proxy\esps4_udp_routers_list.log
# Путь к log-файлу.
[Exclude From Limits]
Enable=0
;List File Name=

Спойлер: содержимое users.ini (нажать для развертывания)

GROUP : admin :
# Имя первой группы (групп может быть несколько).
USER : 192.168.1.1 : 255.255.255.255 :
# В группе один пользователь с IP-адресом 192.168.1.1
Enable HTTPS Port : 443 :
# Разрешены HTTPS соединения для группы на 443 порту.
Weight : 3 :
# Вес группы, учитывающийся при распределении входящего канала.
Show Statistics : 1 :
# (0 или 1) запрещает или разрешает просмотр статистики.
GROUP : users :
# Имя второй группы.
USER : 192.168.0.2 : 255.255.255.0 :
# В группе несколько пользователей имеющие IP-адреса из диапазона 192.168.0.2-192.168.0.255.
Enable HTTPS Port : 443 :
# Разрешены HTTPS соединения для группы на 443 порту.
Weight : 2 :
# Вес группы, учитывающийся при распределении входящего канала.
Show Statistics : 0 :
# (0 или 1) запрещает или разрешает просмотр статистики.
Day Input Limit : 500 : M :
# Дневной лимит входящего трафика 500 Мб (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Day Output Limit : :
# Дневной лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Week Input Limit : :
# Недельный лимит входящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Week Output Limit : :
# Недельный лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Month Input Limit : :
# Месячный лимит входящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Month Output Limit : :
# Месячный лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты).
;Day Off: 0 : # Понедельник
;Day Off: 1 : # Вторник
;Day Off: 2 : # Среда
;Day Off: 3 : # Четверг
;Day Off: 4 : # Пятница
;Day Off: 5 : # Суббота
;Day Off: 6 : # Воскресенье
# Запрещает работу в указанный день (может повторятся несколько раз).
;Max Input Rate: :
# Максимально входящая скорость в байтах - шейпер (автором ПО не рекоменуется к использованию без особой нужды).
;Max Output Rate: :
# Максимально исходящая скорость в байтах - шейпер (автором ПО не рекоменуется к использованию без особой нужды).
Disable URL : *porno*.* :
# Запрещены все URL с встречающимся сочетанием *porno*.*
Enable URL : *sporno*
# Но разрешается URL содержащий в имени *sporno* (в примере адрес porno.com не будет отображаться, а sporno.ru будет)

Спойлер: содержимое esps4_cache_rules.ini (нажать для развертывания)

URL : *images/* :
Min save time : 20 : H :
# Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
Max save time : 10 : D :
# Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
URL : *.gif :
Min save time : 3 : H :
# Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
Max save time : 7 : D :
# Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
URL : *.png :
Min save time : 3 : H :
# Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
Max save time : 7 : D :
# Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
URL : *.jpg :
Min save time : 3 : H :
# Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).
Max save time : 7 : D :
# Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).

Спойлер: содержимое esps4_routers_list.ini (нажать для развертывания)

Router: pop.mail.ru :
# Название правила перенаправления портов.
remote server : pop.mail.ru :
# Удаленный сервер POP
remote port : 110 :
# Удаленный порт подключения к указанному серверу.
local port : 110 :
# Локальный порт, на который будут приходить сообщения от пользователей.
Router: smtp.mail.ru :
remote server : smtp.mail.ru :
# Удаленный сервер SMTP
remote port : 25 :
# Удаленный порт подключения к указанному серверу.
local port : 25 :
# Локальный порт, на который будут приходить сообщения от пользователей.

Хотелось бы заострить внимание на системе квотирования, реализованной в ES Proxy. Эта система предназначена для распределения внешнего канала между группами пользователей в заданном соотношении. В конфигурационном файле users.ini каждой группе можно задать определенный вес (Weigh). Само по себе значение веса большой роли не играет, играет отношение этого значения между разными группами. Для наглядности работы квотирования приведу пример с сайта проекта:

Например, общая полоса сервера составляет 100000 байт в секунду, а общее количество допустимых сессий - 100. Допустим также, что работают два клиента, один из группы директоров, с весом 3, а другой - из группы менеджеров, с весом 1. В этом случае, директор получит 75% всех ресурсов (то есть 75000 байт в секунду и 75 сессий), а менеджер - 25% (то есть 25000 байт в секунду и 25 сессий). При большем количестве активных "директоров" и "менеджеров" каждый из них получит меньше байт в секунду и меньше сессий, чем в этом примере, но любой директор, при указанном распределении весов, всегда получит ровно в три раза больше ресурсов, чем любой менеджер.

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

Статья опубликована 10.09.2009 · Автор статьи: Зюзгин Иван
Статья относится к windows, служба, сервер, proxy
Случайные 7 статей:
  1. Положение о порядке подключения и работы автоматизированных рабочих мест сотрудников предприятия в сети Интернет
  2. Проблемы при работе с Virtualbox
  3. Создание мультизагрузочной флешки с помощью SARDU
  4. Компьютер = сервер?
  5. Подборка из 8 тем значков для Ubuntu
  6. Silverlight под Linux Ubuntu
  7. Установка Skype в 64-битной Ubuntu
Комментарии [27]
  1. Bart #
    3 Январь, 05:48

    Добавлю то, что насчет первой команды консоль ругалась на синтаксис. service name es нужен в кавычках и путь к программе тоже должен быть в кавычках тк содержит пробелы.
    вот команда:
    sc create “es” binpath= “C:/Program Files/ES Proxy/espsrv.exe” start= auto displayname= “es proxy”
    Автору, в свою очередь, спасибо за статью! Я долго искал проксик с диамическим распеределением полосы пропускания сети между клиентами.

  2. Mut@NT #
    4 Январь, 16:25

    Команду поправил, спасибо.
    Винды под рукой нет, так что поверю на слово. :)) Название службы вроде можно без кавычек, т.к. без пробелов, а в пути – правильно подметили, упустил.
    Еще раз спасибо.

  3. Bart #
    5 Январь, 19:39

    Да не за что:)
    Сейчас вот вожусь с такой проблемой: как поднять SOCKS на ES Proxy?
    Суть в том, чтобы распределить канал между машиной с торрентом и несколькими пользователями. Создал 2 группы с весовыми коэффициентами 25% на торрент и 75% на пользователей. Задумка следующая: когда пользователи не активны, весь канал потребляет торрент, как пользователь подключился – можно серфить с 75% канала.
    Вот только торрент (uTorrent 1.8.5) по HTTP не работает. Проще по SOCKS сделать ИМХО.

  4. Mut@NT #
    6 Январь, 18:20

    Bart: Сейчас вот вожусь с такой проблемой: как поднять SOCKS на ES Proxy?

    Вроде ES не умеет подымать прокси через socks. Можете задать вопрос разработчику прокси-сервера.

  5. Sephiroth #
    20 Апрель, 11:45

    Очень рад что наткнулся на это прокси, пока не ставил но возник вопрос, авторизация пользователей возможна только по IP адресу? или по логину тоже? Если второй вариант возможет то можно пример.

  6. Mut@NT #
    21 Апрель, 21:59

    Sephiroth: Очень рад что наткнулся на это прокси, пока не ставил но возник вопрос, авторизация пользователей возможна только по IP адресу? или по логину тоже? Если второй вариант возможет то можно пример.

    К сожалению авторизация по логину и паролю ES Proxy не работает

  7. Sephiroth #
    27 Апрель, 09:53

    Mut@NT: К сожалению авторизация по логину и паролю ES Proxy не работает

    Жаль, что по логину нельзя, придется искать что то другое, тоже бесплатное.

  8. Mut@NT #
    28 Апрель, 21:52

    Sephiroth: Жаль, что по логину нельзя, придется искать что то другое, тоже бесплатное.

    Попробуйте 3proxy

  9. Sephiroth #
    14 Май, 09:39

    Mut@NT: Попробуйте 3proxy

    Ок как нить попробую. Хотя уже хочу сервер на Linux в скором будущем перевести.

  10. Mut@NT #
    16 Май, 04:38

    Sephiroth: Хотя уже хочу сервер на Linux в скором будущем перевести.

    3proxy работает и на Linux, либо посмотрите на Squid

  11. Lordy #
    20 Май, 12:01

    Можно ли задавать диапозон IP адресов таким образом 192.168.0.1-192.168.0.10, а не по маске?

  12. Mut@NT #
    26 Май, 11:25

    Lordy: Можно ли задавать диапозон IP адресов таким образом 192.168.0.1-192.168.0.10, а не по маске?

    Вроде нет, но точно не знаю, т.к. не было в этом необходимости.

  13. Alex #
    28 Октябрь, 23:46

    Я не могу установить сервер, у меня сеть сервер Win Ser 2008 и клиенты XP и Win 7,
    служба устанавливается, но она никак не реагирует на файл параметров, логи не создаются, к ней никак нельзя подцепится, служба слушает порт 3128, и плевать ей хотелось на пареметр PORT, да и по этому порту клиенты не цепляются, Помогите

  14. Mut@NT #
    31 Октябрь, 13:14

    Alex: Я не могу установить сервер, у меня сеть сервер Win Ser 2008 и клиенты XP и Win 7,
    служба устанавливается, но она никак не реагирует на файл параметров, логи не создаются, к ней никак нельзя подцепится, служба слушает порт 3128, и плевать ей хотелось на пареметр PORT, да и по этому порту клиенты не цепляются, Помогите

    После редактирования конфигурационного файла нужно перезапустить ES-сервер. Все должно меняться, посмотрите права на все файлы ES, возможно дело в этом. У меня были проблемы на Win7, после того как размещенные на диске C: файлы ES-а отказывались работать. Перенос всего на диск D: все поправил.

  15. Ninick #
    13 Январь, 08:08

    Помогите советом. Ни кто из знакомых не сталкивался с подобной поблемой. Надо решить следующую задачу: пользователь перемещается с ноутом, но должен подключаться к чужому серверу всегда с одного и того же конкретного IP (на ноуте установлен клиент-банк). Для этого предложено арендовать в датацентре сервер с Win2008 и настроить на нем прокси-сервер. Какое ПО порекомендуете в качестве прокси-сервера (платное тоже устроит). Спасибо.

  16. mashka #
    18 Апрель, 11:33

    Я всегда пользуюсь сайтом dostupest.ru, на других вырусов можно поймать

  17. pet #
    1 Июнь, 21:59

    По поводу Windows 2008 server: мозг кипел но нашел: при установке в качестве службы винда копирует espsrv.exe в папку c:\windows. Там же сервис создает свой esps40.ini. Заменить на свой отредактированный, перезапустить службу, наслаждаться.

  18. маским #
    27 Июнь, 09:16

    такой вопрос а если у меня клиент с внешним айпишником, допустим совсем от другого провайдера, как в таком случае его добавить в список пользователей?

  19. Mut@NT #
    28 Июнь, 09:36

    маским: такой вопрос а если у меня клиент с внешним айпишником, допустим совсем от другого провайдера, как в таком случае его добавить в список пользователей?

    Хм…
    А зачем Вам обсчитывать пользователя не из вашей сети? Если Вы просто планируете дать ему доступ из вне, то, наверное, нужно поколдовать с с файлом esps4_routers_list.ini

  20. Андрей #
    11 Август, 18:46

    Получилось настроить подобным образом на одном компьютере, только пришлось копировать фаил esps40.ini в папку виндовс. Но не получается подключится к созданному прокси с другого компьютера, находившимся в одной сети. Как можно это исправить?
    Перенаправление портов через маршрутизатор не дало результата.

  21. Mut@NT #
    18 Август, 06:18

    Андрей: Получилось настроить подобным образом на одном компьютере, только пришлось копировать фаил esps40.ini в папку виндовс. Но не получается подключится к созданному прокси с другого компьютера, находившимся в одной сети. Как можно это исправить? Перенаправление портов через маршрутизатор не дало результата.

    А ОС у Вас XP или 7?

  22. Сашок #
    15 Январь, 22:39

    Подскажите, как настроить запуск в консоли? ругается SCManager “нет доступа”, запускаю консоль от имени администратора, тот же эффект.

  23. Mut@NT #
    16 Январь, 05:37

    Сашок: Подскажите, как настроить запуск в консоли? ругается SCManager “нет доступа”, запускаю консоль от имени администратора, тот же эффект.

    Не совсем понял Ваш вопрос

  24. Николай #
    21 Сентябрь, 12:03

    Долго ломал голову почему же эта штука не работает…) в итоге наткнулся на еще один сайт, где вычитал умную вещь).
    Чтобы работали ВСЕ порты в конфиге юзеров стоит прописать
    Enable Https Port : 0 :

  25. Tost #
    21 Декабрь, 20:23

    По настройкам сходите на Http://www.urengoy.net/esproxy/

  26. Юрий Павленко #
    28 Май, 16:45

    Сайт ES Proxy в настоящее время расположен по адресу http://esproxy.extrasystems.biz/

  27. Antonio #
    26 Июнь, 03:34

    Спасибо, судя по описаниям стоящая вещь, пробовал некоторые прокси с графической оболочкой, показалось что замедляют скорость интернет, на Linux конечно же Squid, а вот для Windows пришлось поискать.

Имя (обязательное поле)
e-mail (обязательное поле) Сайт
Текст комментария:
IT-новости
Популярное
Облако тегов
При цитировании документа активная ссылка на сайт обязательна.
Администрирование и настройка серверов, рабочих станций на базе ОС Linux и Windows. www.itshaman.ru - Настройка Linux и Windows © 2009 - 2016