Установка и настройка Squid на CentOS

Простая инструкция по установке прокси-сервера Squid на CentOS 7

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

Открываем конфиг: /etc/squid/squid.conf

Добавляем клиентскую сеть в acl, если она отличается от стандартной (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12):

 

Настройка Squid

Настройка директории для кэша прокси-сервера:

* где ufs — файловая система (считается, что ufs для SQUID является самой подходящей); /var/spool/squid — директория хранения кэша; 4096 — объем пространства в мегабайтах, которое будет выделено под кэш; 32 — количество каталогов первого уровня; 256 — количество каталогов второго уровня.

Создание структуры папок под кэш:

Запускаем squid и добавляем в автозапуск:

Добавление исключение в файервол (открываем порт 3128):

Открываем порт 3128 в firewalld:

Перезапускаем firewalld:

 

Проверка

Для проверки настраиваем браузер — указываем ip сервера, порт 3128 и заходим на любой whois сайт. Если всё работает правильно, то должен отобразиться ip сервера на котором работает настроенный squid.

 

Transparent Proxy (прозрачные прокси)

Прозрачные прокси обрабатывает весь HTTP-трафик, но не изменяют данные пользователя, в том числе IP-адрес.

Открываем конфиг: /etc/squid/squid.conf

Находим строчку: http_port 3128

И приводим ее к виду: http_port 3128 transparent

Перезагружаем squid:

Авторизация по логину и паролю

Настройка

Открываем конфиг: /etc/squid/squid.conf

Добавляем:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/auth_users
auth_param basic children 10
auth_param basic realm SQUID PROXY HELLO
auth_param basic credentialsttl 5 hours
acl auth_users proxy_auth REQUIRED

/usr/lib64/squid/basic_ncsa_auth — расположение ncsa_auth;

/etc/squid/auth_users — файл с логинами и паролями; children 10 разрешает 10 одновременных подключений;

SQUID PROXY HELLO — фраза для приветствия — м.б. любой;

credentialsttl 5 hours — время удерживаемой сессии — 5 часов, после истечении этого времени — потребуется повторная авторизация.

Находим строку:  http_access deny !Safe_ports

После добавляем: http_access allow auth_users

Создание пользователей

Создаем файл с пользователями и создаем первую пару логина и пароля:

в случае если htpasswd  не установлен, следует установить пакет httpd-tools:

Создаем второго пользователя:

Остаётся только перезагрузить squid: