Squid

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


Squid — это кэширующий прокси-сервер для web, который поддерживает такие протоколы как: HTTP. HTTPS, FTP, GOPHER и многие другие. Прокси-сервер имеет расширенные функции контроля доступа, качества обслуживания QoS (delay pools) и может создавать «ускоритель» для HTTP серверов (Reverse Proxy). Squid может работать на большинстве из существующих на данный момент операционных систем и лицензируется под лицензией GNU GPL.

Squid очень широко используется в вычислительных сетях по всему миру, в том числе в сетях Интернет провайдеров для предоставления пользователям web доступа. Squid оптимизирует поток данных между клиентом и сервером для увеличения производительности, сохранения популярных данных и определение необходимой пропускной способности. Прокси-сервер также имеет широкие возможности маршрутизации запросов к серверам для построения сложных иерархий кэширующих серверов.

Все запросы Squid выполняет как один неблокируемый процесс ввода/вывода. Squid2 написан на чистом C, squid3 переписан на C++.

Содержание

[править] Режимы работы прокси-сервера Squid

Прокси-сервер Squid может работать в следующих трех основных режимах:

  • Прозрачный режим (Transparent Proxy);
  • Аутентифицирующий режим (Authentication Proxy);
  • Обратный прокси-сервер (Reverse Proxy или httpd-accelerator).

[править] Прозрачный режим

В этом режиме HTTP соединение осуществляемое клиентами перенаправляется на прокси-сервер без их ведома или явной конфигурации. В этом режиме не требуется настройка клиентов.

Squid transparent.png

Недостатки: конфигурация NAT и перенаправления трафика, аутентификация клиентов не работает, не перенаправляются FTP и HTTPS запросы.









[править] Аутентифицирующий режим

Для работы в этом режиме клиенты должны быть настроены для работы с прокси-сервером.

Может выполняться аутентификация и авторизация клиентов через Kerberos, Ldap, Ntlm и Radius.

Squid authent.png

Возможно построение взаимодействия с серверами Microsoft Active Directory путем аутентификации клиентов – членов домена, используя протокол Kerberos, и последующей авторизации членов групп домена используя LDAP в прозрачном режиме (пользователь вводит свой пароль только при регистрации в домене).

Для авторизированных групп возможно применение различных настроек контроля доступа и QoS (delay pools).

Пример настройки Squid для аутентификации по протоколу Kerberos и авторизации через LDAP







[править] Обратный прокси-сервер

Прокси-сервер кэширует исходящие данные. Обратный прокси-сервер Squid получает данные у HTTP сервера от имени клиента и передает их обратно клиенту (например, в Интернет).

Squid reverse.png

Этот режим позволяет осуществить:

  • Использование кэширования, которое снижает нагрузку на HTTP сервера;
  • Распределение нагрузки между HTTP серверами;
  • Маскировку HTTP серверов и их характеристик;
  • Предотвращение web атак на сервера.






[править] Рецепты

[править] Блокирование Skype

Метод достаточно злобный, в том смысле, что блокирует всех, кто лезет по методу CONNECT на численый IP-адрес, но другие более гуманные способы борьбы со Skype средствами Squid пока неизвестны:

  acl CONNECT method CONNECT
  acl skype url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
  http_access deny CONNECT skype

[править] Особенности

  • При обработке команд reconfigure/rotate, закрывает все соединения и открывает их заново, поэтому при большом количестве клиентов лучше этого не делать — создадите кому-то небольшой дискомфорт.
Sep  2 16:31:09 proxy14 squid[64325]: Reconfiguring Squid Cache (version 2.7.STABLE6)...
Sep  2 16:31:09 proxy14 squid[64325]: FD 113 Closing HTTP connection
...
Sep  2 16:31:16 proxy14 squid[64325]: Accepting transparently proxied HTTP connections at 0.0.0.0, port 3128, FD 111.
Sep  2 16:31:16 proxy14 squid[64325]: Loaded Icons.
Sep  2 16:31:16 proxy14 squid[64325]: Ready to serve requests.
  • Из-за своей архитектуры, основной процесс может использовать только одно ядро процессора.

[править] Дополнительная информация

[править] Материалы по прокси-серверу Squid на Xgu.ru

Источник — «http://xgu.ru/wiki/Squid»