суббота, 26 июня 2010 г.

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

Вот и пришла моя пора рассказать о своем опыте работы со squid. Признаться, я думал, что это что-то грамоздкое и не подвластно рядовому пользователю, однако оказалось, что разработчики все уже написали в конфигурационный файл по умолчанию и, для того чтобы squid заработал необходимо добавить всего несколько строк.

Кстати, для тех кто еще слабо понимает зачем нужен squid на предприятии,  то попробую объяснить по простому.
  • необходимо ускорить работу интернета
Когда все сотрудники предприятия посещают одни и теже сайты, то squid кэширует их, тем самым часть данных берутся не с интернета, а напрямую с сервера
  • директор (сисадмин) хочет видеть какие сайты посещают его подчиненные, а также какие файлы они качают
  • необходимо заблокировать определенные сайты или закачку определенных файлов
  • необходимо настроить работу интернета на предприятии в определенные часы рабочего дня
  • необходимо распределить загруженность канала между пользователями
и этого далеко не все возможности squida, а только те, с которыми я разобрался и пользуюсь в настоящее время.

Итак, для работы squid его необходимо соответственно установить. Можно взять последнюю версию с официального сайта, а можно и с репозиториев Ubuntu.

sudo apt-get install squid3

После установки - отредактируем конфигурационный файл

sudo nano /etc/squid3/squid.conf

И внесем в него соотвествующие измнения при условии, что у вас локальная сеть 192.168.1.0/24, а сервер имеет адрес 192.168.1.1

http_port 3128 transparent
visible_hostname любое_название_прокси_сервера

Можно указать абсолютно любой порт, но лучше оставить по умолчанию. transparent - указывает на то, что сервер будет "прозрачным" для пользователей. Если слово transparent не указывать, тогда придется вручную у каждого пользователя прописывать адрес proxy-сервера и порт 3128, а это на мой взгляд не удобно.
visible_hostname: если не указать имя proxy-сервера, то он будет сильно ругаться.
 
После раздела "TAG : acl" и перед разделом "TAG : http_acces" пишем следующее

acl our_networks src 192.168.1.0/24

Этой строкой мы создаем сеть 192.168.1.0/24 с названием our_networks, чтоб в последующем разрешить пользоватьcя proxy-сервером только из локальной сети 192.168.1.0/24

В конце раздела "TAG : http_access" перед строчкой "http_access"deny all" пишем следующее

http_access allow our_networks

Этой строкой мы разрешаем сети с именем our_networks пользоватся proxy-сервером.
 
Добавляем правило в iptables

sudo iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.1.1:3128
Перенаправляем весь трафик с портов 80, 8080 на proxy-сервер 192.168.1.1:3128
 
перезапускаем squid командой и наслаждаемся проделанной работой
sudo /etc/init.d/squid3 restart






Комментариев нет:

Отправить комментарий