Squid с авторизацией по ip (из файла) |
Обновлено: 4.05.2014 - 06:41
Машина:
Debian 6.0.1
Linux version 2.6.32-5-686
Squid: Version 3.1.6
Будет рассмотрено:
1. Базовая настройка Squid3
2. Авторизация по ip в Squid3 для определённой сети
3. Авторизация по ip в Squid3 через файл с ip адресами клиентов
Данный вид авторизации/аутентификации подойдёт для небольших сетей, либо для мест, где не предоставляется возможным следить за актуальностью вводимых данных имя/пароль (например интернет кафе).
Устанавливаем Squid3
aptitude update
aptitude install squid3
после установки запускаем и проверяем, на работоспособность с дефолтным конфигом
/etc/init.d/squid3 restart
#значение restart можно использовать, даже если демон находится в состоянии stop
ps –A| grep squid3
2959 00:00:00 squid3
2961 00:00:38 squid3
На случай ядерной войны и/или других мировых катастроф вселенского масштаба, делаем копию дефолтного конфига
mv /etc/squid/squid.conf /etc/squid/squid.conf.orig
#просто переименовываем конфиг, т.к. создавать всё равно будем с нуля
Создаём каталог для кеша и устанавливаем права
mkdir /tmp/squid3-cache
chmod -R 777 /tmp/squid3-cache
В данном примере никакой схемы для авторизации мы пользоваться не будем, squid3 будет просто анализировать ip адреса на входящее подключение и не более.
Редактируем главный конфигурационный файл Squid3
nano /etc/squid3/squid.conf
Приводим его к следующему виду:
http_port 13001 #порт, к которому клиенты будут подключаться
icp_port 0 #это номер порта, который SQUID будет использовать для отправки и приёма ICP запросов к соседским кэшам и от них. но поскольку соседей нет, отключаем, повышаем, хоть на очень маленькую долю, но всё таки производительность
cache_mem 100 MB #кол-во оперативной памяти для SQUID. НО! SQUID использует память для нескольких видов данных, а не только для кэшированных объектов, поэтому, если SQUID’у понадобится больше, он возьмёт больше! (читаем FAQ от разработчиков)
maximum_object_size 8192 KB #максимальный размер объекта, который будет закеширован и сохранён на диск
minimum_object_size 4 KB # минимальный размер объекта, который будет закеширован и сохранён на диск
cache_dir ufs /tmp/squid3-cache 5120 16 256 # 5120 мегабайт под хранилище для кеша, с 16 каталогами первого уровня и 256 каталогами второго уровня для каждого каталога первого уровня (рекомендую вам использовать формат кэша ufs, это стандартный формат для SQUID. если необходимо использовать другой формат, то SQUID нужно собирать из исходников, с дополнительными параметрами для компиляции)
cache_swap_high 98 # колв-во в процентах, после которого SQUID начнёт освобождать кэш
cache_swap_low 90 # кол-во в процентах, после которого SQUID закончит удаление файлов из кэша
access_log /var/log/squid3/access.log #один из важных файлов, в который записываются все события (время, объект, кем и от куда скачан, взят из кэша или напрямую)
cache_log none #логи о том, как используется наш кэш. анализировать его обычно ненужно, поэтому выключаем, экономим процессорное время
cache_store_log none #какие объекты у нас хранятся в кеша, как долго и как часто их используют. опять же, экономим наше процессорное время
emulate_httpd_log off #отключаем эмуляцию ведения логов httpd, SQUID по умолчанию, использует свой родной формат
logfile_rotate 12 #это кол-во ротаций логов SQUID’а, после которого, старые логии будут удаляться. здесь указано кол-во не во времени, а в кол-ве запрошенных ротаций. т.е. если вы в cron сделаете выполнение команды squid -k rotate раз в месяц, то у вас будут логии лежать за последнии 12 месяцев, а те, кто старше, будут удаляться.
error_directory /usr/share/squid3/errors/Russian-1251 #Фирменные страницы SQUID с ошибками показываем юзерам по русски
positive_dns_ttl 5 hours #жизнь успешных dns запросов
negative_dns_ttl 10 minutes #жизнь ошибочных dns запросов
acl vip_users src 192.168.0.100 192.168.0.10 #описываем клиентов 192.168.0.100 и 192.168.0.10 из другой сети (видимой для шлюза) в правиле vip_users
acl all_users src 192.168.2.0/24 #описываем диапазон адресов от 192.168.2.0 до 192.168.2.255 для правила all_users
acl users src "/etc/squid3/users.txt" #указываем путь к файлу с ip адресами (адреса описанные в этом файле могут быть и в vip_users и в all_users (например, этих пользователей мы будем блокировать))
acl port_inet port 80 #описываем 80й порт для port_inet
http_access allow port_inet all_users #разрешамем доступ по 80 порту для клиентов входящих в правило all_users
http_access allow port_inet vip_users #разрешамем доступ по 80 порту для клиентов входящих в правило vip_users
http_access deny all users #всех, кто не прошёл по вышеописанным правилам, блокируем, так-же блокируем users. Заметьте, правило all мы в ACL не описывали, это особенность Squid3, all по умолчанию описан как 0.0.0.0/0 (т.е. все адреса)
Сохраняемся и выходим.
Создаём файл с юзерами, которых блокируем, по одному ip адресу на строку
nano /etc/squid3/users.txt
192.168.2.45
192.168.2.61
Сохраняемся и выходим.
Запускаем Squid3. Директории под кеш создадутся автоматически, необходимости в специальных ключах для запуска нет.
/etc/init.d/squid3 restart
Смотрим, если ошибок нет, значит всё в порядке, можно подключаться к нашему прокси-серверу на порт 13001
Автор статьи — сайт https://rukul.ru/
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Компьютерные советы
Комментарии |