Приветствую Вас, уважаемые читатели. Сегодня статья на тему: "Установка Squid на CentOS 7". Squid – это полноценный прокси-сервер, который можно настроить под свои нужды. В данной статье займёмся его установкой на CentOS 7.

Прокси-сервер – это промежуточный сервер, между клиентскими устройствами и другими устройствами и ресурсами сети. Данный сервер предоставляет свой ip-адрес, а так же ресурсы для кэширования, контроля доступа и трафика.

Установка и базовая настройка Squid

  • Если не установлен репозиторий epel-release, то устанавливаем его.
# yum install epel-release
  • Ну а теперь, устанавливаем и сам Squid.
# yum install squid
  • По завершении установки, находим конфигурационный файл /etc/squid/squid.conf.
конфигурационный файл Squid
  • В начале файла, перечисляются разрешённые сети из числа приватных. При необходимости можно добавить свою подсеть.
  • Если Вы хотите, чтобы доступ к прокси-серверу был для всех, то нужно...
Добавить строчку: 
http_access allow all

выше строчки:
http_access deny all

Либо просто заменить.
  • Под списком приватных сетей, идёт перечисление портов, по которым будет работать прокси-сервер на выходе.
приватные сети и разрешённые протоколы Squid
  • В конфигурационном файле, есть возможность изменить порт Squid по умолчанию, а также активировать и настроить кэширование.
настройка порта и кэширования Squid
  • Чтобы активировать кэширование, нужно раскомментировать соответствующую строчку.
cache_dir ufs /var/spool/squid 100 16 256


--- Первое число – это количество мегабайт оперативной памяти, которое отдаётся под кэш Squid.

--- Второе число – это количество каталогов, которое будет создано в директории кэша.

--- Третье число – это количество подкаталогов, которые будут созданы.



  • После раскомментирования, и настройки параметров кэширования, нужно создать структуру кэша.
# squid –z
создание структуры кэша Squid
  • Базовая настройка прокси-сервера завершена. Можно запустить его, и добавить в автозагрузку.
# systemctl start squid
# systemctl enable squid
  • Теперь нужно настроить брандмауэр. Добавляем правило в iptables.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
открытие порта в брандмауэре
  • Перезапускаем iptables.
# systemctl restart iptables

Проверка работы Squid

  • На этом этапе, уже можно подключатся к Squid. Прокси-сервер настроен для прозрачного проксирования.
  • Можно запустить любой интернет-браузер, зайти в настройки, найти настройки сети…
настройки браузера
  • И указать ip-адрес и порт нашего Squid, в настройках прокси.
настройка браузера для подключения к Squid
  • Для проверки работоспособности, можно запустить на какой-нибудь машине в локальной сети HTTP File Server, и через настроенный браузер, подключится к HTTP File Server на удалённой машине.
  • В логах HTTP File Server будет виден ip-адрес подключившейся машины.
  • Если в логах будет ip-адрес Squid, значит всё сделано правильно.
проверка работы Squid

Доступ к Squid по логину и паролю

  • Есть ещё одна полезная опция, о которой я хотел рассказать в этой статье. Есть возможность организовать доступ к Squid по логину и паролю. Для этого нужно установить дополнительные пакеты.
# yum install httpd-tools
  • По завершении установки, возвращаемся к файлу конфигурации Squid, и добавляем несколько строчек, прямо после перечисления приватных сетей.
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/auth_users
auth_param basic children 15
auth_param basic realm (Текст на латиннице)
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED

http_access allow auth_users


--- Файл с логинами и паролями.

--- Количество одновременных подключений.

--- Текст на латинице, на Ваше усмотрение, который будет выводится в сообщении окна авторизации.

--- Промежуток времени до появления окна для повторной авторизации.

--- Активирована авторизация.

--- Доступ разрешён авторизованным пользователям.



настройка Squid для доступа по логину и паролю
  • Теперь можно создавать пользователей.
# htpasswd -c /etc/squid/auth_users client1
  • После ввода команды, появится приглашение создать пароль для пользователя, и подтвердить его.
  • Обратите внимание, что атрибут –c при создании пользователя, используется только первый раз. При создании следующих пользователей его использовать не нужно.
# htpasswd /etc/squid/auth_users client2
создание пользователей для Squid
  • После создания пользователей, нужно перезапустить Squid.
# systemctl restart squid
  • Теперь при открытии браузера, будет появляться окно для авторизации. И только после ввода логина и пароля, пользователь подключится к прокси-серверу.
окно авторизации Squid
  • Обратите внимание, в кавычках будет текст, который Вы прописали в настройках выше.

Сегодня мы рассмотрели тему: "Установка Squid на CentOS 7". Установили прокси-сервер, а так же произвели базовые настройки. Смотрите также видео по теме.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему "Установка Squid на CentOS 7":