Главная особенность или обязанность прокси-сервер может быть шлюзом, который получает HTTP-запросы от клиентов и пересылает запрос по назначению и передает ответ обратно запросу.
Squid является самым популярным и открытым исходным кодом. Она также имеет отличные возможности для других функциях, таких как веб контроля доступа, пропускной контроль, ограничение политики и кэширования контента и фильтрации. На самом деле людям установить SQUID в преследовании 2 причин: сначала уменьшить пропускную способность обвинения путем кэширования контента и второй для ограничения доступа к определенным содержанием.
Данное руководство объясняет преимущества использования Squid и покажет Вам, как устанавливать, настраивать, контролировать и обслуживать сервер Squid Proxy на RHEL5 и CentOS Linux.
Примечание
Данное руководство или учебник или как угодно называть, основано на моем личном эксперементе и я не гарантирую вам 100%, что он будет работает у Вас. Так что если Вы установите эти программы, и по каким-либо причинам у Вас появятся технические трудности, просто обратитетесь на наш форум, а не захломляйте сайт комментами с просьой о помощи. (такие комменты проходят модерацию, и как правило удаляются без объяснения причин).
Просто должны знать
Диез "#" перед строкой правила в конфигурационном файлом будет отключить правило. Если Вам необходимо использовать прокси-сервера необходимо изменить настройки браузера на компьютере клиента, например: IE> Интернет-вариант > LAN Setting> Включить прокси-сервер флажок> установить IP-адрес вашего сервера Squid прокси и порт (по умолчанию 3128).
Прежде чем что-нибудь: Если вы не уверены, Squid был установлен, введите следующую команду:
|
squid-2.6.STABLE6-5.el5_1.3 //это означает, что Ваш squid установлен на вашем компьютере и не нуждаются в установке, поэтому продолжите настроку.
Установка squid
Для установки на RHEL5/CentOS введите следующую команду:
|
И если Вы не можете использовать yum затем попробуйте так:
Прежде всего, скачайте последнюю версию из squid http://www.squid-cache.org/ (официальный сайт Squid) и переместить его в /tmp:
|
Это позволит установить squid конфигурации и файлы в своих каталогах. После этого используем эту команду для запуска программы автоматически при загрузке системы:
|
Хорошо, теперь пришло время, чтобы запустить службу, выполним это:
|
Для конфигурации необходимо открыть файл конфигурации в зависимости от версии Linux, для RHEL5/CentOS сделать примерно так:
|
Вот-вот, вы можете определить большинство параметров здесь, помните, на старте или перезапуск службы или просмотра файлов журнала Dы можете увидеть эту ошибку:
WARNING: Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
Это означает, что имя хоста не правильно определено и Вам нужно изменить visible_hostname в конфигурационном файле. Он должн измениться к личности кэш сервера или для устранения неполадок или просмотра журналов. Измените его, прежде чем продолжать:
|
Как Вы можете видеть 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 ,...
Этот пример даст достуа к Интернету из локального окружения:
|
Мы допускаем, что компьютер соответствует диапазону 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.
|
Помните, что вы можете увидеть ошибки после перезапуска службы 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-адреса, если Вы хотите, чтобы заблокировать более одного домена, мы должны создать файл для хранения частей адреса и дать этому файлу права на чтение, так:
|
Введите несколько 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
|
введите пароль: your_password
|
Откройте конфигурационный файл и поместить эти строки в него и измените собственные конфигурации:
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 по Пользователям]" и многое другое. ..