Проф. деятельность - Статьи

 

На сегодняшний день последней стабильной версией proxy-сервера Squid под Windows является 2.7.STABLE8. Скачать уту и другие версии Squid под OS Windows можно по здесь: http://squid.acmeconsulting.it/. Там же можно найти и версию  Squid 3.0., тоже стабильную, но носящую статус «Экспериментальной» и еще не поддерживаемой разработчиком. Поэтому остановимся на версии 2.7.STABLE8 и будим рассматривать в статье именно ее.

Скачиваем дистрибутив и распаковываем его в папку c:\squid\

После распаковки мы должны иметь в папке c:\squid\ следующую структуру файлов:

Структура файлов прокси-сервера Squid под Windows

 

 

 

 

 

 

 

 

 

Теперь установим squid  как системную службу Windows. Для этого запускаем командную строку и набираем в ней команду:

c:\squid\sbin\squid -i -f C:\squid\etc\squid.conf -n Squid

После выполнения этой команды мы должны увидеть следующее сообщение:

Registry stored HKLM\SOFTWARE\GNU\Squid\2.6\Squid\ConfigFile value C:\squid\etc\squid.conf

Squid Cache version 2.7.STABLE7 for i686-pc-winnt

installed successfully as Squid Windows System Service.

To run, start it from the Services Applet of Control Panel.

Don't forget to edit squid.conf before starting it.

 

Т.е. система сообщает, что в соответствующий параметр реестра записано расположение конфигурационного файла squid (C:\squid\etc\squid.conf), Squid успешно установлен как Сервис под Windows, а также нам напоминается, чтобы мы не забыли отредактировать конфигурационный файл squid.conf под свою систему. Собственно этим и займемся.

Переходим в директорию C:\squid\etc\ и переименовываем все находящиеся в ней файлы:

cachemgr.conf.default  => cachemgr.conf

mime.conf.default    =>  mime.conf

squid.conf.default    =>  squid.conf

squid_radius_auth.conf.default  - можно не переименовывать, если вы не предполагаете использовать аутентификацию по протоколу radius для пользователей прокси-сервера squid.

Далее открываем в любом текстовом редакторе файл squid.conf. Настроим минимально необходимую рабочую конфигурацию (в дальнейшем вы сможете донастроить и оптимизировать конфигурацию под свои нужды). Итак, в файле squid.conf раскомментируем (убираем символ #) или дописываем следующие строчки:

acl all src all

acl manager proto cache_object

acl localhost src 127.0.0.1/32

acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

# Оставляем ниже одну из записей для своей локальной сети, если прокси-сервер  используется

# только на одной машине, на которой он и установлен, то эти записи нужно закомментировать

acl localnet src 10.0.0.0/8             # RFC1918 possible internal network

acl localnet src 172.16.0.0/12      # RFC1918 possible internal network

acl localnet src 192.168.0.0/16   # RFC1918 possible internal network

#

acl SSL_ports port 443

acl Safe_ports port 80                   # http

acl Safe_ports port 21                   # ftp

acl Safe_ports port 443                # https

acl Safe_ports port 70                   # gopher

acl Safe_ports port 210                # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280                # http-mgmt

acl Safe_ports port 488                # gss-http

acl Safe_ports port 591                # filemaker

acl Safe_ports port 777                # multiling http

acl CONNECT method CONNECT

# Only allow cachemgr access from localhost

http_access allow manager localhost

http_access deny manager

# Deny requests to unknown ports

http_access deny !Safe_ports

# Deny CONNECT to other than SSL ports

http_access deny CONNECT !SSL_ports

http_access allow localnet

# And finally deny all other access to this proxy

http_access deny all

#Allow ICP queries from local networks only

icp_access allow localnet

icp_access deny all

# Прописываем порт, на который сквид будет ожидать соединения от клиентов.

http_port 3128

#We recommend you to use at least the following line.

hierarchy_stoplist cgi-bin ?

#Default:

cache_replacement_policy lru

# Прописываем расположение директории, в которой будет хранится наш кэш:

cache_dir ufs c:/squid/var/cache 100 16 256

store_dir_select_algorithm least-load

max_open_disk_fds 0

minimum_object_size 0 KB

maximum_object_size 4096 KB

cache_swap_low 90

cache_swap_high 95

update_headers on

access_log c: /squid/var/logs/access.log squid

logfile_daemon c: /squid/libexec/logfile-daemon.exe

cache_log c: /squid/var/logs/cache.log

cache_store_log c: /squid/var/logs/store.log

logfile_rotate 10

emulate_httpd_log off

log_ip_on_direct on

mime_table c:/squid/etc/mime.conf

log_mime_hdrs off

pid_filename c:/squid/var/logs/squid.pid

log_fqdn off

strip_query_terms on

buffered_logs off

 

Таким образом, мы определили в конфигурационном файле три базовых блока - управление доступом (подсети, порты, acl-листы), настройка КЭШа, настройка логов, а также некоторые системные настройки (кстати, не все обязательные). Также обратите внимание на то, что знак в именах директорий нужно писать именно на юниксовый манер «/», а не Windows - «\».

Теперь сформируем структуры КЭШа прокси-сервера squid, выполнив команду:

c:\squid\sbin\squid -z -f C:\squid\etc\squid.conf

После выполнения этой команды мы должны увидеть следующее сообщение:

Creating Swap Directories

Т.е., все усешно кэш-директория создана. Также обратите внимание на то, что при выполнении этой команды сквид проверяет конфигурационный файл squid.conf на корректность, и если в нем что-то написано не так, т выдалось бы соответствующее сообщение. Для создания кэш-файла мы использовали тип файловой системы ufs (опция в конф. Файле - cache_dir ufs c:/squid/var/cache 100 16 256). Также можно использовать тип awin32, посмотрите документацию и выберете наиболее подходящий для Вас. Также полезно заглянуть в лог-файл C:\squid\var\logs\cache.log и посмотреть нет ли там каких-либо ошибок.

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

start c:\squid\sbin\squid -f C:\squid\etc\squid.conf

Запуск squid под windows в консольном режиме

Все отлично, ошибок никаких не отобразилось на экране. По идее, теперь наш Squid готов принять первого клиента. Попробуем к нему обратиться, выполнив команду:

telnet localhost 3128

Обращение по telnet к squid под windows

Все отлично, мы как говориться «провалились», т.е. вошли на порт 3128, который мы сконфигурировали ранее для приема клиентских запросов по протоколу http, никаких ошибок подключения выдано на экран не было. Теперь можно попробовать настроить браузер.

Настройка браузера для доступа через Squid

Пробуем зайти на какую либо страничку, например http://vasenin.org. При данной настройке если прокси-сервер находится на той же машине с которой вы пытаетесь выйти в интернет, вы получите ошибку доступа. Чтобы это исправить внесите в конфигурационный файл строчку:

acl localnet src 127.0.0.1/32

Теперь и с самой машины, на которой установлен прокси-сервер, можно «ходить» в интернет.

Теперь нам осталось автоматизировать процесс запуска/остановки прокси-сервера Squid.

Если планируете, что proxy-сервер    будет работать постоянно, то можно просто установить в службе Squid под windows параметр «Автозапуск».

Установка параметра автозапуска в службе Squid под Windows

Если же планируете запускать прокси время от времени, то можно создать пару bat-файлов на этот случай:

Файл start_squid.bat

net start Squid

Файл stop_squid.bat

net stop Squid

Файл restart_squid.bat

net stop Squid

net start Squid

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

 
More articles :

» Обезвреживать снаряды на полигонах будет "Робокоп"

Приволжский государственный боеприпасный испытательный полигон (ПГБИП) в Чапаевске (Самарская область) и московский НИИ...

» Узбекистан запустит вторую ПГУ на Навоийской ТЭС в конце 2017 года

Финансироваться проект будет за счет льготного займа Японского агентства международного партнерства (ДЖАЙКА) на 33,01 млрд...

» Cудам с ядерными энергетическими установками разрешено заходить в порт Сабетта

«Сабетта включается в перечень морских портов Российской Федерации, в которые разрешаются заходы судов и иных плавсредств...

» Новосибирская снегоплавильная станция начнет работать в декабре

Первый заместитель мэра Новосибирска Владимир Знатков оценил готовность станции на 99 %. Снегоплавильная установка включает...

» Работа по пресечению бездоговорного потребления электроэнергии позволила энергетикам МРСК Северо-Запада возместить ущерб, нанесенный только одному филиалу - «Архэнерго», в размере 1,99 млн. рублей.

Работа по пресечению бездоговорного потребления электрической энергии позволила энергетикам МРСК Северо-Запада возместить убыток,...