Squid прокси на CentOS

Содержание материала

Рейтинг:  1 / 5

Звезда активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

CentOSГлавная особенность или обязанность прокси-сервер может быть шлюзом, который получает HTTP-запросы от клиентов и пересылает запрос по назначению и передает ответ обратно запросу.

Squid является самым популярным и открытым исходным кодом. Она также имеет отличные возможности для других функциях, таких как веб контроля доступа, пропускной контроль, ограничение политики и кэширования контента и фильтрации. На самом деле людям установить SQUID в преследовании 2 причин: сначала уменьшить пропускную способность обвинения путем кэширования контента и второй для ограничения доступа к определенным содержанием.

Данное руководство объясняет преимущества использования Squid и покажет Вам, как устанавливать, настраивать, контролировать и обслуживать сервер Squid Proxy на RHEL5 и CentOS Linux.

Примечание

Данное руководство или учебник или как угодно называть, основано на моем личном эксперементе и я не гарантирую вам 100%, что он будет работает у Вас. Так что если Вы установите эти программы, и по каким-либо причинам у Вас появятся технические трудности, просто обратитетесь на наш форум, а не захломляйте сайт комментами с просьой о помощи. (такие комменты проходят модерацию, и как правило удаляются без объяснения причин).

Просто должны знать

Диез "#" перед строкой правила в конфигурационном файлом будет отключить правило. Если Вам необходимо использовать прокси-сервера необходимо изменить настройки браузера на компьютере клиента, например: IE> Интернет-вариант > LAN Setting> Включить прокси-сервер флажок> установить IP-адрес вашего сервера Squid прокси и порт (по умолчанию 3128).

Прежде чем что-нибудь: Если вы не уверены, Squid был установлен, введите следующую команду:

  • rpm -q squid
squid-2.6.STABLE6-5.el5_1.3     //это означает, что Ваш squid установлен на вашем компьютере и не нуждаются в установке, поэтому продолжите настроку.

Установка squid

Для установки на RHEL5/CentOS введите следующую команду:

  • yum install squid

И если Вы не можете использовать yum затем попробуйте так:

Прежде всего, скачайте последнюю версию из squid http://www.squid-cache.org/ (официальный сайт Squid) и переместить его в /tmp:

  • cd /tmp
  • rpm -ivh squid-2.6.STABLE.rpm

Это позволит установить squid конфигурации и файлы в своих каталогах. После этого используем эту команду для запуска программы автоматически при загрузке системы:

  • chkconfig --level 35 squid on

Хорошо, теперь пришло время, чтобы запустить службу, выполним это:

  • service squid start

Для конфигурации необходимо открыть файл конфигурации в зависимости от версии Linux, для RHEL5/CentOS сделать примерно так:

  • nano /etc/squid/squid.conf

Вот-вот, вы можете определить большинство параметров здесь, помните, на старте или перезапуск службы или просмотра файлов журнала Dы можете увидеть эту ошибку:

WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.

Это означает, что имя хоста не правильно определено и Вам нужно изменить visible_hostname в конфигурационном файле. Он должн измениться к личности кэш сервера или для устранения неполадок или просмотра журналов. Измените его, прежде чем продолжать:

  • visible_hostname HowtoForge

Как Вы можете видеть http_port 3128, это означает, Squid принимает запросы от клиентов HTTP через этот порт.


Списки контроля доступа (ACL)

Списки ACL используются для ограничения использования, ограничение доступа в Интернет принимающих, каждая строка ACL определяет конкретный вид деятельности, таких как время доступа к сети или источника, после этого нам нужно связать ACL для http_access правилами, что говорит Squid том, следует ли разрешить или запретить трафик, который соответствует ACL.

При установке Squid в первый раз, Вам нужно внести несколько добавлений, чтобы позволить Вашей сети использовать Интернет, так как Squid по умолчанию запрещает доступ в интернет.

Синтаксиса ACL выглядит примерно так:

acl aclname acltype value

aclname = rulename (it could be some desire name like mynetwork)

acltype = type of acl like : src, dst (src:source ip | dst:destination ip)

value = it could be ip address, networks, URLs ,...

Этот пример даст достуа к Интернету из локального окружения:

  • acl localhost src 127.0.0.1/32
  • http_access allow localhost

Мы допускаем, что компьютер соответствует диапазону IP-адресов, содержащихся в локальный ACL для доступа к Интернету. Есть и другие списки ACL и ACL-операторы доступные для Squid.

Теперь Вы можете сообщить Squid, как работать. Предположим, Вы хотите, чтобы Ваша сеть 192.168.1 диапазона имела доступ к Интернету, Вы можете это сделать, но сначала откройте файл конфигурации и найдите следующие строки:

http_access allow localhost 
http_access deny all

Замените их:

acl mynetwork src 192.168.1.0/24 
http_access allow localhost 
http_access allow mynetwork 
http_access deny all

Примечание: Укажите правила, перед строкой http_access которая отрицать все. После этого изменения сохраните файл и перезапустить службу squid.

  • service squid restart

Помните, что вы можете увидеть ошибки после перезапуска службы squid для использования "/ 24" в вашей конфигурации, если да, то не паникуйте, Вы можете легко изменить / 24 на / 255.255.255.0 и снова перезапустить службу squid, после перезагрузки всей сети, который использует IP-адреса 192.168.1.1 с 192.168.1.254 имеют доступ к интернету.

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

acl bad_employee src 192.168.1.18
http_access deny bad_employee
acl mynetwork src 192.168.1.0/24
http access allow mynetwork

В приведенном выше примере всей сети будет разрешено пользоваться интернетом, за исключением заблокированных человек (bad_employee). Помните Squid интерпретирует правила сверху вниз, поэтому нужно быть осторожными.

Вы можете создавать правила, ограничивающие раз для вашей компании и назначить эту созданный Вами MyNetwork ACL так:

acl mynetwork src 192.168.1.0/24
acl business_hours time M T W H F 9:00-17:00
acl bad_employee src 192.168.1.18
http_access deny bad_employee
http_access allow mynetwork business_hours

День-сокращено:

  • S - воскресенье
  • M - понедельник
  • T - вторник
  • W - среда
  • H - четверг
  • F - пятница
  • A - суббота

Вы можете также блокировать частности URL вроде этого:

acl block_site dst www.yahoo.com
http_access deny block_site

www.yahoo.com будут отфильтрованы НО mail.yahoo.com является открытым, потому что мы блокируем yahoo.com , поэтому если Вы хотите, чтобы заблокировать один URL и его поддоменов мы делаем это следующим образом:

acl block_domain dstdomain .yahoo.com
http_access deny block_domain

И Вы можете сделать больше, чем блокирование одного URL-адреса, если Вы хотите, чтобы заблокировать более одного домена, мы должны создать файл для хранения частей адреса и дать этому файлу права на чтение, так:

  • touch /etc/squid/block_list.txt
  • chmod 444 /etc/squid/block_list.txt
  • vi /etc/squid/block_list.txt

Введите несколько URL-адресов для блокировки вроде этого:

www.sxx.com
www.yahoo.com
www.hotmail.com

А потом сохранить и выйти, пришло время для создания правил. Откройте конфигурационный файл и загрузить эти параметры в него:

acl block_list url_regex "/etc/squid/block_list.txt"
http_access deny block_list

Вы можете блокировать URL-адреса, которые содержат неожиданные слова так:

acl blockword url_regex sxx
http_access deny blockword

(Вы можете заблокировать без учета регистра слова так:-i sxx)

Вы можете блокировать загрузку EXE. файлов следующим образом:

acl block_exe url_regex .*\.exe$
http_access deny block_exe

Если Вы хотите заблокировать больше расширений для загрузки, Вы можете указать все в файл, как описано выше (точное, как некоторые URL для блокировки).

Вы можете блокировать домены верхнего уровня (.br .eu) Следующим образом:

acl block_tld dstdom_regex \.br$
http_access deny block_tld

Вы можете настроить squid для запроса имени пользователя и пароля от пользователей с ncsa_auth, который читает NCSA-совместимых зашифрованного файла паролей, так:

acl block_tld dstdom_regex \.br$
http_access deny block_tld
  • htpasswd -c /etc/squid/squid_passwd your_username

введите пароль: your_password

  • chmod o+r /etc/squid/squid_passwd

Откройте конфигурационный файл и поместить эти строки в него и измените собственные конфигурации:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
acl ncsa_user proxy_auth REQUIRED
http_access allow ncsa_user

Если вы не хотите модифицировать браузер для использования прокси есть метод, который называется «Прозрачный прокси», нужно сделать вот так:

До Squid версии 2.6:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Squid версии 2.6 до 3.0:

http_port 3128 transparent

Squid версии 3.1 +:

http_port 3128 intercept

Спасибо, что нашли время, чтобы прочитать это руководство, я надеюсь, что это полезно.

Это руководство было частью 1, а в части 2 мы будем знать о "кэширования контента" , "Балансировка нагрузки" , "Управление пропускной способностью" , "Squid Журналы" , "Nmap" и "Мониторинг [Посещенний URL по Пользователям]" и многое другое. ..


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.