В этой статье я опишу процесс установки SQUID на CentOS 7. Для тех, кто не знает, SQUID – это прокси сервер, работающий под OS Linux всех модификаций. В основном SQUID используют для раздачи интернета внутри локальной сети, но можно его еще использовать, как внешний прокси сервер.
Первым делом обновим все пакеты:
1 2 3 |
yum update |
Устанавливаем прокси-сервер следующей командой:
1 2 3 |
yum install squid |
Все настройки происходят через конфигурационный файл squid.conf, вот его открываем на редактирование:
1 2 3 |
vi /etc/squid/squid.conf |
По умолчанию доступ разрешен для всех стандартных локальных сетей, директива за это отвечает acl localnet src, вот ее и редактируем для ограничения доступа:
1 2 3 |
acl localnet src 192.168.1.0/24 |
Если хотим разрешить доступ всем сетям, то пишем:
1 2 3 |
acl all src 0.0.0.0/0.0.0.0 |
Чтобы разрешить весь трафик, добавляем следующую строчку:
1 2 3 |
http_access allow all |
важно, чтобы она была выше запрещающей — http_access deny all
Настраиваем директорию для кэш;
1 2 3 |
cache_dir ufs /var/spool/squid 1024 16 256 |
где ufs — файловая система (ufs для SQUID является самой подходящей); /var/spool/squid — директория хранения кэша; 1024— объем пространства в мегабайтах, которое будет выделено под кэш; 16— количество каталого первого уровня, которое будет создано для размещение кэша; 256 — количество каталого второго уровня, которое будет создано для размещение кэша.
При таком раскладе, доступ происходит без пароля, достаточно в браузере прописать ip адрес прокси сервера и порт 3128.
Далее рассмотрим вариант настройки, – вход по логину и паролю.
Добавляем в начале файла /etc/squid/squid.conf следующие строки:
1 2 3 4 5 6 7 |
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/auth_users auth_param basic children 50 auth_param basic realm SQUID PROXY auth_param basic credentialsttl 3 hours acl auth_users proxy_auth REQUIRED |
где /usr/lib64/squid/basic_ncsa_auth — расположение ncsa_auth (в зависимости от системы может находиться в другом каталоге); /etc/squid/auth_users — файл с логинами и паролями; children 50 разрешает 50 одновременных подключений; SQUID PROXY — произвольная фраза для приветствия; credentialsttl 3 hours будет держать сессию 3 часа, после потребуется повторный ввод логина и пароля.
И после строки:
1 2 3 |
http_access deny !Safe_ports |
Добавляем:
1 2 3 |
http_access allow auth_users |
Далее создадим файл с логинами и паролями, только для этого в начале установим httpd-tools:
1 2 3 |
yum install httpd-tools |
Добавляем пользователя для SQUID:
1 2 3 |
htpasswd -c /etc/squid/auth_users user01 |
Появится запрос на ввод пароля. Вот таким образом создаем всех пользователей.
Перезапускаем SQUID:
1 2 3 |
systemctl restart squid |
И сразу добавляем в автозагрузку:
1 2 3 |
systemctl enable squid |