Шаг1 SQUID3 Debian Squeeze простая конфигурация прокси сервера.
Если при попытки установки вы видите следующую картину
Решение следующее на этой странице скачиваете необходимый пакет squid-langpack и устанавливайте в ручную.
http://packages.debian.org/squeeze/all/squid-langpack/download
Или в source.list добавьте строчки
deb http://ftp.debian.org/debian squeeze main
deb-src http://ftp.debian.org/debian squeeze main и выполните команду aptitude update
Далее устанавливаем squid3
Переходим к настройке сервера.
Давайте посмотрим настройки по умолчанию заданные явно.
acl manager proto cache_object - Список для протокола управлением кеша cache_object
Списки доступа для хостов.
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
Списки доступа для портов
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
Списки доступа для метода(GET, POST, CONNECT)
acl CONNECT method CONNECT
Применение политик ACL правила применяются сверху вниз по первого удовлетворяющего.
http_access allow manager localhost Доступ разрешен к действию описанному в списке manager для хостов перечисленных в списке localhost. Или по простому доступ разрешен с локального компьютера для управление кешем.
http_access deny manager Запретить управлять кешем.
http_access deny !Safe_ports Доступ запрещен на все порты кроме перечисленных в списке Safe_ports.
http_access deny CONNECT !SSL_ports Запрещает использовать метод CONNECT для портов отличных от перечисленных в списке SSL_ports. Метод CONNECT нужен для создания туннеля.
http_access allow localhost Разрешить доступ с локального компьютера.
http_access deny all Запретить доступ для всех.
http_port 3128 порт на котором будет слушать прокси сервер.
hierarchy_stoplist cgi-bin ? Данная опция будет действовать если у вас иерархическая структура прокси серверов, если в строке запроса будут встречаться перечисленные слова то обращение будет происходить непосредственно к кешу этого сервера не обращаясь к соседям.
coredump_dir /var/spool/squid3 директория для кеша.
Правила устаревания кеша.
Синтаксис refresh_pattern [-i] regex min percent max [options]
Где
min минимальное время в минутах для объектов, без явного указания, в течении которого объект должен хранится в кеше.
percent время в процентах от возраста (возраст рассчитывается по дате последнего изменения объекта) для объектов, без явного указания, в течении которого объект должен хранится в кеше.
max Соответсвенно максимальное время.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320 #Данное правило всегда должно быть последним т.к оно применимо ко всему содержимому.
Сделаем наш прокси сервер доступным для сети.
Открываем в любимом редакторе файл /etc/squid3/squid.conf
Ищем там закомментированные строки с содержимым acl localnet. Раскомментируем одну из строчек и подставим наш адрес сети у меня получилось следующее
acl localnet src 192.168.0.0/24
Далее раскомментируем строчку http_access allow localnet
Раскомментируем строчку cache_dir ufs /var/spool/squid3 100 16 256 Здесь 100 в МБ-х во избежании ошибки WARNING cache_mem is larger than total disk cache space! Это значение должно быть больше значения cache_mem. По умолчанию cache_mem = 256 МБ. 16 это сколько директорий 1-го уровня может создать squid относительно /var/spool/squid3 256 кол-во директорий 2-го уровня в этих 16.
Итоговый конфиг
Перегружаем сервер
И читаем далее:
Шаг2 SQUID3 cache manager cli squidclient Часть 1 знакомство.
Шаг2 SQUID3 cache manager cli squidclient Часть 2 читаем выводы mgr:info
Шаг2 SQUID3 cache manager cli squidclient Часть 3 читаем выводы client_list, counters
Шаг3 SQUID3 Debian Squeeze лог файлы.
# aptitude install squid3 The following NEW packages will be installed: squid3 squid3-common{ab} 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 1,693 kB of archives. After unpacking 4,264 kB will be used. The following packages have unmet dependencies: squid3-common: Depends: squid-langpack which is a virtual package. The following actions will resolve these dependencies: Keep the following packages at their current version: 1) squid3 [Not Installed] 2) squid3-common [Not Installed]
http://packages.debian.org/squeeze/all/squid-langpack/download
# wget http://ftp.us.debian.org/debian/pool/main/s/squid-langpack/squid-langpack_20100628-1_all.deb root@darhan:/home/dar# dpkg -i squid-langpack_20100628-1_all.deb Selecting previously deselected package squid-langpack. (Reading database ... 27036 files and directories currently installed.) Unpacking squid-langpack (from squid-langpack_20100628-1_all.deb) ... Setting up squid-langpack (20100628-1) ...
deb http://ftp.debian.org/debian squeeze main
deb-src http://ftp.debian.org/debian squeeze main и выполните команду aptitude update
Далее устанавливаем squid3
root@darhan:/home/dar# aptitude install squid3
Давайте посмотрим настройки по умолчанию заданные явно.
# grep ^[[:alnum:]] /etc/squid3/squid.conf acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 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 http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
Списки доступа для хостов.
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
Списки доступа для портов
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
Списки доступа для метода(GET, POST, CONNECT)
acl CONNECT method CONNECT
Применение политик ACL правила применяются сверху вниз по первого удовлетворяющего.
http_access allow manager localhost Доступ разрешен к действию описанному в списке manager для хостов перечисленных в списке localhost. Или по простому доступ разрешен с локального компьютера для управление кешем.
http_access deny manager Запретить управлять кешем.
http_access deny !Safe_ports Доступ запрещен на все порты кроме перечисленных в списке Safe_ports.
http_access deny CONNECT !SSL_ports Запрещает использовать метод CONNECT для портов отличных от перечисленных в списке SSL_ports. Метод CONNECT нужен для создания туннеля.
http_access allow localhost Разрешить доступ с локального компьютера.
http_access deny all Запретить доступ для всех.
http_port 3128 порт на котором будет слушать прокси сервер.
hierarchy_stoplist cgi-bin ? Данная опция будет действовать если у вас иерархическая структура прокси серверов, если в строке запроса будут встречаться перечисленные слова то обращение будет происходить непосредственно к кешу этого сервера не обращаясь к соседям.
coredump_dir /var/spool/squid3 директория для кеша.
Правила устаревания кеша.
Синтаксис refresh_pattern [-i] regex min percent max [options]
Где
min минимальное время в минутах для объектов, без явного указания, в течении которого объект должен хранится в кеше.
percent время в процентах от возраста (возраст рассчитывается по дате последнего изменения объекта) для объектов, без явного указания, в течении которого объект должен хранится в кеше.
max Соответсвенно максимальное время.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320 #Данное правило всегда должно быть последним т.к оно применимо ко всему содержимому.
Сделаем наш прокси сервер доступным для сети.
Открываем в любимом редакторе файл /etc/squid3/squid.conf
Ищем там закомментированные строки с содержимым acl localnet. Раскомментируем одну из строчек и подставим наш адрес сети у меня получилось следующее
acl localnet src 192.168.0.0/24
Далее раскомментируем строчку http_access allow localnet
Раскомментируем строчку cache_dir ufs /var/spool/squid3 100 16 256 Здесь 100 в МБ-х во избежании ошибки WARNING cache_mem is larger than total disk cache space! Это значение должно быть больше значения cache_mem. По умолчанию cache_mem = 256 МБ. 16 это сколько директорий 1-го уровня может создать squid относительно /var/spool/squid3 256 кол-во директорий 2-го уровня в этих 16.
Итоговый конфиг
# grep ^[[:alnum:]] /etc/squid3/squid.conf acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 192.168.0.0/24 # 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 http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow localhost http_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? cache_dir ufs /var/spool/squid3 1024 16 256 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
# /etc/init.d/squid3 restart
Шаг2 SQUID3 cache manager cli squidclient Часть 1 знакомство.
Шаг2 SQUID3 cache manager cli squidclient Часть 2 читаем выводы mgr:info
Шаг2 SQUID3 cache manager cli squidclient Часть 3 читаем выводы client_list, counters
Шаг3 SQUID3 Debian Squeeze лог файлы.
Спасибо! Все работает! Теперь буду углублятся и тоньше настраивать
ОтветитьУдалить