Сетевое администрирование в UNIX, 04 лекция (от 15 марта)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

SQUID

Мы рассматривали авторизацию на прокси сервере. Сегодня рассмотрим на примере сквида.

У него есть файл squid.conf, он может включать разные директивы.

auth_param -- параметр, с помощью которого сквид может аутентифицировать пользователя.

auth_param Win Access Directory -- сквид будет проводить авторизацию через виндовую АД.

При сборке самбы вы указываете что она если не сказано иное собирает авторизующую программу, которую потом смотреть в smb.conf, где будет прописан сервер и какая авторизация. И, соответственно, в сквиде будет прописано две вещи:

auth_param ntlm program path_to_bm/ntbm_auth --helper_protocol=squid-2.5-ntlmssp

Требуется две строчки потому что разные браузеры по разному обращаются к прокси серверу за авторизацией.

auth_param basic program path_to_bm/ntbm_auth --helper_protocol=squid-2.5-basic

Строчек может быть сколько угодно, сквид будет из применять по очереди, пока кто-нибудь не вернёт да, или не закончатся строчки.

В basic протоколе отдаётся строка "логин <пробел> пароль"

Есть у нас программа, с помощью которой сквид может проверить логин и пароль. Какон может понять кого пускать а кого не пускать. У нас есть acl.

В файле squid.conf

acl имя тип значение

Типы

src знач ип/маска

dst знач ип/маска

srcdomain знач дом имя

dstdomain зная дом имя

proxy_auth имя_польз(REQUIRED -- все авторизованные)


Скыид может сам хранить во ткрытом виде логин проль, тогда можно добавить тип

ident

acl all src 0.0.0.0

Ещё есть тип time -- время, день недели.

после всего этого правил, first wins.

http_access allow

http_access deny all #запретить всё, что не разрешилось предыдущими

Общий вид

http_access действие acl1

acl2

acl3


от ацлей берётся пересечение.

http_access -- открыть или закрыть доступ хттп.

Есть ещё http_port ip:port transparent

на каком прту слушать, транспарент -- обрабатывать пакеты без спец заголовоков(тогда естественно никакой авторизции или правил по именам пользователей).


refresh_pattern [-i] regex min % max options

позволяет менять политику сколько объект хранится в кэше прокси сервера. У каждого объекта по стандарту есть время жизни, через некоторое время она устаревает и её надо запрашивать снова. С помощью refresh_pattern мы можем ему сказать что картинка на самом деле может жить в кэше подольше. В опции мы можем сказать -i \gif$ 43200 100% 43200 reload_into_ims. Если пользователь запрашивает картинку то проксисервер сначала запросит время изменения кртинки. 43200 -- время в минутах сколько надо хранить.

можно отсекать или разрешать кэшировать по ацлям, можно по размеру.

purge -- может или удалить объекты из кэша или их куда-нибудь сложить, если ам интересно что там было.


Можно завести делей пулы

delay_pools количество

После того как задали количество их можно конфигурировать. Бывают 3 типов, определяются словом

delay_class 1 общ_труба 2 общ и индив

3 общ сеть и индив


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

Правила следующего вида

delay_access №(номер пула) действующий acl

говорит какой номер какого класса

delay_parameters № общ сеть индив задаем скорости

delay_class 1 2 # первый пул второго класса

параметры число/число -- с какой скоростью мы вкладываем в трубу, второе то скакой скоростью выходит.

пример

delay_parameters 1 -1/-1 1000/8000

в таком случае маленькие станички будут грузится со скорстью 8кбсек, а большие файлы со скоростью 1 кбсек. error_directory отсюда сквид берёт сообщения от том почему что-то не получилось. Например запретили какому то пользователю доступ по http и хотите объяснить ему, почему именно вы это сделали. С помощью команды

deny_info ERR_CUSTOM_DENY nopass

nopass -- значит без пароля, потом говорите что всем кто попал под запрещающие действие ацля нопасс показать конкретную страницу с таким то урлом.

Как задается сколько гд хранить?

never_direct действ ацл

always_direct

Если у вас запущены два прокси сервера -- более главный и более подчиненный, то подчиненному можно прописать главного с помощью команды peer. Если невер_директ, то подчинённый никогда не скачивает, всегда запрашивает у старшего. Если алвейс_директ -- то никогда не ходит к главному. Акадо балуется организацией сетей из проксей.

Размер объектов которые мы сохраняем на диске задается

minimum_object_size

maximum_object_size


Где хранить определяется директиой

cahce_dir тип путь разм число_папок ч

например

ufs /usr/squidcache

Тип бывает

ufs файл объект

aufs в виде файлов но за счёт позикс нитей может обращаться одновременно к нескольким

diskd пытается собрать несколько запросов в один.

null

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

Личные инструменты
Разделы