Настройка SQUID на FreeBSD

SQUID – прокси сервер для выхода в интернет.
Установка:
# cd /usr/ports/www/squid
# make install clean
Настройки все по умолчанию.
После установки, SQUID настроен на раздачу интернета через порт 3128, без авторизации.
Перед запуском необходимо создать каталог для кэш, для чего нужно выполнить команду:
# squid –z
Запуск:
# /usr/local/etc/rc.d/squid start
Добавим SQUID в автозагрузку, для этого достаточно внести изменение в файл /etc/rc.conf , добавив строчку – squid_enable=”YES
Это минимальные настройки, которые позволяют сразу начать работать программе и раздавать интернет, с указанием необходимых настроек подключения  в браузере(ip прокси сервера и порт)
Для более гибкого изменения настроек, существует файл конфигурации squid.conf, который находится в каталоге /usr/local/etc/squid/

Настройка авторизации через Имя/Пароль
Один из способов – это использования списка, который содержит себе перечень всех пользователей, которым разрешен доступ в интернет. Список этот нужно создать с помощью утилиты htpasswd, только для того понадобиться установить Apache.
Далее добавляем пользователей и создаем новый список:
htpasswd  -b –c /usr/local/etc/passwd admin admin
Ключ –с создает новый фал, при последующем добавлении пользователя, этот ключ не используется.
htpasswd  -b /usr/local/etc/passwd user12345 (user – имя, 12345 – пароль)
В файле squid.conf раскомментируем и отредактируем строчку (у меня в конфиге было написано /usr/local/libexec/ncsa_auth, пришлось исправить на  /usr/local/libexec/squid/ncsa_auth):
auth_param basic program /usr/local/libexec/squid/ncsa_auth  /usr/local/etc/squid/passwd
В этой строчке показано, что будет запущена программа ncsa_auth, которая читает файл паролей passwd.
Раскоментирум и добавим следующие строки:
acl password proxy_auth REQUIRED
acl – это списки доступа, как от источника так и к источнику. В этом примере создается список доступа, который имеет название password , указывающий на то, что все подключения должны проходить через авторизацию Имя/Пароль. Надо отметить только то, что сами списки не влияют на работу всей системы, пока они не будут включены с помощью оператора http_access  с указанием параметра allow (разрешить) или deny (запретить).
http_access allow password
Файл конфигурации читается сверху  вниз, и от того как расположены списки и операторы, будет зависеть работа SQUID.
По умолчанию, как уже писалось, доступ к интернет разрешен для всех компьютеров в локальной сети, о чем свидетельствуют следующие строки в файле конфигурации:
*************
#Списки доступа, указывающие какой сети возможен выход через прокси сервер.
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
#Оператор, разрешающий список под назавние localnet
http_access allow localnet

Как уже писалось, что от того, как расположены списки доступа и операторы, можно строить разные способы работы SQUID. К примеру, если нужно одному компьютеру предоставить беспарольный доступ в интернет, а у всех остальных требовать ввода имени и пароля, то это можно сделать следующем образом:
auth_param basic program /usr/local/libexec/squid/ncsa_auth  /usr/local/etc/squid/passwd
acl password proxy_auth REQUIRED
acl admin src 10.99.50.100
http_access allow admin
http_access allow password
acl all src all
acl localnet 10.99.50.0/24
http_access allow localnet
http_access deny all
При такой записи, компьютер с ip адресом 10.99.50.100 будет выходить в интернет без пароля, а у компьютеров из сети 10.99.50.0 , будет запрашивать имя и пароль. Также были добавлены такие строчки, которые указывают на запрет всем компьютера, не входящим в список localnet
acl all src all
http
_access deny all
Компьютеры можно указывать не только по ip, но и по имени:
acl admin srcdomain admin1.domain.com

Пример предоставления доступа только к одному сайту, для определенного компьютера в сети. Авторизация по ip, без ввода имени и пароля
acl bank srcdomain bank.office.com  # компьютер с ограниченным доступом
acl aval dstdomain .aval.ua                  # сайт, к которому разрешаем доступ
http_access allow bank aval                # разрешаем доступ группе bank к списку aval
http_access deny bank                         # запрещаем все остальные сайты

Список разрешенных сайтов можно вынести в отдельный файл:
acl site dstdomain “/usr/local/etc/squid/site.txt”

(2 оценок)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x