Меню Рубрики

Установка squid для centos

Установка и настройка Squ > Обновлено: 21.10.2018 Опубликовано: 13.03.2017

В данной инструкции выполнена установка Squid на систему Linux CentOS 7.

Подготовка CentOS

Добавляем правило в firewalld:

firewall-cmd —permanent —add-port=3128/tcp

* где 3128 — порт, на котором будет настроен наш прокси-сервер.

и перезапускаем firewalld:

Установка и настройка Squid

Устанавливаем прокси-сервер следующей командой:

И открываем на редактирование конфигурационный файл:

Если сеть клиентских компьютеров отличается от стандартной (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8), необходимо ее добавить в acl, например:

acl localnet src 217.66.157.0/24

acl localnet src «/etc/squid/acl_localnet»

* кавычки обязательны
** после необходимо создать файл /etc/squid/acl_localnet и с каждой строчки перечислить разрешенные IP-адреса.

Чтобы разрешить весь трафик, добавляем следующую строчку:

* важно, чтобы она была выше запрещающей — http_access deny all

Настраиваем директорию для кэша:

cache_dir ufs /var/spool/squid 4096 32 256

* где ufs — файловая система (ufs для SQUID является самой подходящей); /var/spool/squid — директория хранения кэша; 4096 — объем пространства в мегабайтах, которое будет выделено под кэш; 32 — количество каталого первого уровня, которое будет создано для размещение кэша; 256 — количество каталого второго уровня, которое будет создано для размещение кэша.

Теперь создаем структуру папок под кэш следующей командой:

И уже можно запускать squid:

Не забываем разрешить его автозапуск:

Проверка

Заходим в настройки браузера и настраиваем использование прокси-сервера. Например, в Mozilla Firefox настройки нужно выставить такими:

* где 192.168.163.166 — IP-адрес моего прокси-сервера.

Теперь открываем сайт 2ip.ru. После его загрузки мы увидем внешний IP-адрес — он должен соответствовать той сети, от которой работает настроенный SQUID.

Прозрачный прокси

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

Открываем конфигурационный файл:

И приводим ее к следующему виду:

http_port 3128 transparent

Squid + HTTPS

Специально настраивать https для squid в CentOS 7 мне не пришлось — все заработало по умолчанию.

Авторизация по логину и паролю

Открываем конфигурационный файл:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/auth_users
auth_param basic children 25
auth_param basic realm SQUID PROXY
auth_param basic credentialsttl 3 hours
acl auth_users proxy_auth REQUIRED

* где /usr/lib64/squid/basic_ncsa_auth — расположение ncsa_auth (в зависимости от системы может находиться в другом каталоге); /etc/squid/auth_users — файл с логинами и паролями; children 25 разрешает 25 одновременных подключений; SQUID PROXY — произвольная фраза для приветствия; credentialsttl 3 hours будет держать сессию 3 часа, после потребуется повторный ввод логина и пароля.

http_access deny !Safe_ports

http_access allow auth_users

Создаем файл с пользователями и создаем первую пару логина и пароля:

htpasswd -c /etc/squid/auth_users user1

* если система вернет ошибку «bash: htpasswd: command not found» установим htpasswd командой yum install httpd-tools

Создаем второго пользователя:

htpasswd /etc/squid/auth_users user2

Исходящий сетевой интерфейс

На нашем сервере может быть несколько внешний IP-адресов. По умолчанию, все исходящие запросы будут работать через интерфейс со шлюзом по умолчанию. Чтобы иметь возможность работы со squid через разные интерфейсы в настройку вносим:

acl 217_66_157_33 localip 217.66.157.33
tcp_outgoing_address 217.66.157.33 217_66_157_33

acl 217_66_157_34 localip 217.66.157.34
tcp_outgoing_address 217.66.157.34 217_66_157_34

* в данном примере, при подключении к прокси через IP 217.66.157.33, исходящие пакеты будут от IP 217.66.157.33; аналогично для IP 217.66.157.34.

источник

Установка Squ > Технические руководства

Что такое прокси-сервер?

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

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

Подготовка

Squid не требует какого-либо специального оборудования и его можно установить на любой виртуальный или выделенный сервер с Linux.

В данной статье мы рассмотрим установку на CentOS 7, поэтому Вы должны иметь сервер с этой ОС, а также root доступ к этому серверу.

Установка Squid

Перед установкой любых пакетов рекомендуется обновить программное обеспечение системы и список пакетов, это можно сделать командой:

Далее, установим репозиторий EPEL, в которой содержится большинство дополнительного ПО:

Далее вновь обовим список пакетов:

Теперь можно приступать к установка Squid:

После завершения установки нужно запустить Squid и включить автоматический запуск при загрузке системы:

Убедиться в правильности установки Squid можно, например, проверив его версию командой:

Вы должны увидеть что-то вроде этого:

Вывод примерный, вывод на разных серверах может отличаться.

Настройка Squid

Базовый файл конфигурации находится по пути: /etc/squid/squid.conf. Вы можете просмотреть его через любой текстовый редактор, например, nano или же mcedit.

По умолчанию Squid настроен на подключения только через локальную сеть. Поэтому первое, что нужно сделать — настроить подключения с любого иного компьютера по логину и паролю.

Откроем файл конфигурации через nano:

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

Читайте также:  Установка pioneer avh p3100dvd

Нам нужно разрешить доступ с нашего IP-адреса. Для этого нужно добавить аналогичную ACL-запись в файл конфигурации.
Squid поддерживает как конкретные IP-адреса, так и сети по маске.
Предположим, что Вашим IP-адресом является адрес 50.0.1.5. Для того, чтобы разрешить доступ только с этого внешнего адреса, нужно добавить строку:

Далее сохраните изменения в файле и перезапустите Squid командой:

Настройка авторизации по логину и паролю

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

Для настройки доступа нужно сначала установить пакет, позволяющий создавать файлы с паролями:

Теперь создадим файл с паролем:

Теперь нужно поместить в файл связку логина и пароля (в данном случае squiduser будет логином):

Программа запросит ввод пароля, который Вы хотите установить:

По умолчанию htpasswd использует шифрование паролей методом MD5, поэтому нам нужно разрешить такое шифрование в файле конфигурации Squid.

Откроем файл конфигурации:

Далее добавим следующие строки в файл конфигурации:

Далее сохраните изменения в файле и вновь перезапустите Squid:

Подключение к прокси-серверу

Для подключения к прокси-серверу перейдите в соответствующее меню настроек в Вашем любимом браузере.

В качестве IP-адреса прокси-сервера введите IP-адрес сервера, на который Вы установили Squid. В качестве порта — 3128.

После применения настроек браузер запросит логин и пароль от прокси-сервера.

Изменение порта Squid

Для изменения порта Squid в файле конфигурации нужно изменить значение параметра http_port .
Например, для изменения порта на 8765 нужно привести конфигурацию в такой вид:

источник

Установка Squ/>

Squid это пожалуй самый распространенный прокси-сервер для Linux. Прокси-сервер позволяет организовывать контролируемый доступ к сети интернет, а также осуществлять мониторинг ресурсов, на которые заходил пользователь. Может быть прозрачным (незаметным) для пользователя или нет, проксировать (пропускать через себя) различные протоколы, авторизовать пользователей через домен или по паролю, использовать списки доступа (ACL) и так далее. Как и большинство демонов Linux установить Squid достаточно несложно. В Centos для этого используется менеджер пакетов yum.

После завершения установки необходимо выполнить настройку squid. Основным файлом настройки являетcя файл /etc/squid/squid.conf. Его можно редактировать обычным текстовым редактором, например Vi, Nano и т.д. Squid имеет достаточно большое количество настроек, они описаны например на официальном сайте. Файл конфигурации работает сверху вниз — т.е то, что описано выше в файле срабатывает первым. Рассмотрим минимально необходимые из них.

  • acl localnet src … и acl localnet src 10.0.0.0/8 — определяют какие сети для squid будут являться локальными. Необходимо оставить одну, остальные закомментировать.
  • acl … ports и acl Safe_ports 21 — определяют какие порты будет контролировать Squid.
  • http_access
  • http_access deny !Safe_ports
  • http_access deny all
  • Правила доступа deny — запрет, allow разрешение
  • Запрещает соединение по всем портам, кроме группы !Safe_ports
  • Запрещает все соединения, кроме тем что были описаны выше. после этих слов не должно быть других описаний правил доступа иначе они не сработают.
  • http_port указывает на каком порту работает прокси-сервер
  • transparent указывает что прокси будет прозрачным.
  • cache_dir ufs /var/spool/squid 4096 32 256 — указывает где будут созданы каталоги под кэш, суммарный размер, и количество каталогов 1 и второго уровня.

Например нижеприведенный листинг файла /etc/squid/squid.conf настроит прозрачный прокси-сервер (сервер который не заметен пользователю, т.е не требует специальной настройки в браузерах).

После того как первоначальная настройка выполнена Squid необходимо проинициализировать командой squid -z. Это создаст структуру папок для кеша.

Убедится что сервис запущен, а также управлять им, можно используя systemctl.

  • systemctl status squid — проверить запущен ли squid
  • systemctl start squid — запустить squid
  • systemctl stop squid — остановить squid
  • systemctl enable squid — добавить squid в автозагрузку

После этого данный сервер можно использовать для фильтрации трафика в вашей сети.

источник

Устанавливаем прокси сервер Squ >

Случилось так, что мне было необходимо зайти на один американский сайт. А получил я от браузера отказ. Думал я что у провайдера проблемы, но и с работы тоже не удалось зайти на нужный сайт. В довершении смартфон в лице Билайна также меня послал куда подальше.

Вывод один — с моим IP адресом зайти на этот сайт не получится. И для обхода такого фильтра необходимо зайти используя прокси сервер расположенные в «правильном» государстве. Можно было бы воспользоваться бесплатным вариантом, благо в интернете их найти просто. Но так как у меня есть свой VPS сервер расположенный в Германии и с немецким IP адресом, то я решил поднять свой прокси сервер.
Получасовое брожение по сети привело меня к Squid. О котором собрал самые положительные отзывы. Особенно это касалось простоты установки и настройки.

Что такое Squid ?

Squid – это высокопроизводительный кеширующий прокси-сервер для web-клиентов, поддерживающий FTP, gopher и HTTP объекты данных. Squid потребляет очень скромную часть ресурсов системы, что даёт возможность устанавливать его даже на самые посредственные конфигурации железа. Squid поддерживает несколько вариантов авторизации: по IP, через базу LDAP, MySQL, NTLM.

Читайте также:  Установка комплекта бесконтактного зажигания

Как установить Squid на CentOS

И так приступим. Есть виртуальный выделенный сервер с операционной системой CentOS. Которую я на днях проапгрейдил до версии 6.4.
Установка Squid не должна вызвать проблем.

После установки Squid необходимо его немного поднастроить.
У меня стояла простая задача. Пропускать весь трафик с заданно IP адреса (провайдер предоставляет статический белый IP адрес). Поэтому конфигурация Squid прокси сервера сводится к добавлению двух строк в файл конфигурации /etc/squid/squid.conf
Ищем необходимые значения и модифицируем.
Было:

где XXX.XXX.XXX.XXX — это IP адрес выданный провайдером.

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

После чего запустим прокси сервер Squid

И если нет ошибок, проверяем доступ к сайту.
Для этого прописываем в настройках браузера опцию использовать прокси сервер. Указывем адрес нашего VPS сервера и порт 3128 (по-умолчанию, если Вы его не меняли).
В FireFox для управления подключения через прокси серверы я использую дополнение FoxyProxy Standart.
И вот долгожданный результат:

Как видите, все работает.
Однако Вам следует помнить, что приведенные настройки не делают Вас анонимными. И любой сервис легко вычисляет, какой реальный IP адрес находится за прокси сервером. Для проверки можете зайти на http://2ip.ru/
И конечно, возможности программы не ограничены приведенным в статье примером.
Если необходимо пользоваться сервисом Squid постоянно, то можно добавить его в автозагрузку:

Для чего нужен Squid

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

источник

Установка squid+sams+ntlm на centos 6.4 по шагам


Добрый день господа, думаю, я не открою Америку рассказывая про проект SAMS (Squid Accaunt Management System), статьи о нем достаточно распространены, в том числе и на Хабрахабре. Однако хотя я не расскажу вам много нового, но надеюсь, расскажу немного полезного.

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

Задачи

Итак, данное пошаговое HowTo ставит свой целью привести вас к собственному прозрачному прокси-серверу на CentOS 6.4 i386 который позволяет аутентифицировать пользователей через Active Directory. При этом данный сервер будет иметь удобный веб-интерфейс, и самое главное, он бесплатен (кого я этим хочу удивить в топике никсов?).

Немного о SAMS

Лучше всего, конечно же, прочитать официальный ресурс sams.perm.ru. Для меня SAMS это удобная считалка трафика и лог серфинга пользователей с красивым веб-интерфейсом. Но все же о плюсах и минусах (а они, разумеется, есть) SAMS и стоит ли его использовать судить только вам.

Сложности при установке

Основная проблема в установке SAMS то, что стабильная первая версия (а в настоящий момент энтузиасты продолжают разработку SAMS2, надеюсь, у них все получится) давненько не обновлялась поэтому требует установки старых библиотек не из стандартных репозиториев. “Какая глупость!” — скажете вы и будете не совсем правы, ибо как я уже говорил статья, прежде всего, новичкам совсем не знакомым с линуксом. Так же одной из проблем стало то, что HowTo по установке на CentOS(выбор ОС не тема данной статьи, так сложилось) я не нашел.

Подготовка к установке
Настройка ОС

После перезагрузки заходим в систему под суперпользователем. Дальнейшие действия я произвожу от его имени.

    Если забыли или неправильно настроили сеть, то правим конфигурацию сетевых интерфейсов ifcfg-eth0, ifcfg-eth1 (у нас же шлюз так что интерфейсов, очевидно, не менее двух)

Пример конфигурационного файла:

DEVICE=«eth0»
BOOTPROTO=none
NM_CONTROLLED=«yes»
ONBOOT=«yes»
TYPE=«Ethernet»
UU > HWADDR=6C:62:6D:B7:F0:A3
IPADDR=192.168.0.86
PREFIX=24
GATEWAY=192.168.0.3
DNS1=192.168.0.2
DNS2=192.168.0.3
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=«System eth0»

Установка программ первой необходимости:

Настройка синхронизации времени. В качестве серверов времени указываем контроллеры домена:

Пример конфигурационного файла:

Отключаем selinux. В файле /etc/sysconfig/selinux поставить

Перезагрузить сервер командой:

Читайте также:  Установка гпа 02 принцип действия
Установка требуемых библиотек

    Теперь добавим репозиторий CentOS 5:

И установим оттуда libmysqlclient15:

  • В некоторых случаях требуется для каких-либо старых скриптов понижение версии PHP 5.3.3 до версии 5.2.17. Для проведения установки наиболее оптимально воспользоваться репозиторием Atomic. Установка производилась на свежепоставленный сервер, ниже приведен порядок действий.
  • Подключите репозиторий Atomic

  • И принять лицензию скрипта установки (нажать enter)
  • Далее следует отключить в подключенных стандартных репозиториях системы возможность установки пакетов содержащих файлы PHP. Воспользуйтесь редактором и отредактируйте файл /etc/yum.repos.d/CentOS-Base.repo внеся изменения (добавив exclude=php*) в указанные секции

    После чего сохраните файл (:wq) и удалите пакеты установленного PHP 5.3.3 выполнив команду в shell

    После того как будет удален PHP (также по зависимостям удалится phpmyadmin и squirrelmail) необходимо будет провести установку нужной версии и сопутствующих расширений командами

    Убедитесь, что все необходимые расширения установлены и нет ошибок

    Затем установите обратно PhpMyAdmin и squirrelmail

    Верните файлы конфигурации на место

    После чего следует отключить возможность автоматической установки расширений PHP из репозитория atomic для избежания незапланнированной смены версии PHP при установке какого-либо программного обеспечения — отредактируйте файл /etc/yum.repos.d/atomic.repo также как редактировали файлы других репозиториев

    И в завершение следует перезапустить веб-сервер Apache командой

    Если потребуется установить какие-либо расширения PHP дополнительно наиболее простой способ ставить из через rpm скачав сhttp://www2.atomicorp.com/channels/atomic/centos/6/i386/RPMS/

    Установка и настройка SAMS

    Добавляем необходимое в автозагрузку:

    Cоздаем темповую директорию для сборки SAMS:

    Качаем STABLE версию SAMS (Документация по SAMS):

    если не работает ссылка, то можно попробовать

    Распаковываем архив и устанавливаем

    Качаем STABLE версию SAMS (Документация по SAMS), собранный пакет для CentOS (сам добавляет веб-директорию для apache)

    Далее настраиваем Apache, добавляем в /etc/httpd/conf.d/sams.conf

    Alias /sams /usr/local/share/sams

    Order Allow,Deny
    Allow from all
    Deny from none

    раскомментируем и указываем для переменной ServerName указываем имя нашего шлюза

    то можно воспользоваться редактором nano или воспользоваться фаловым менеджером Midnight Commander, команда mc (Редактирование файла F4). Чтобы выйти из программы vi набрать :w q или просто :x! Если надо выйти без сохранения, набрать :q!

    После того, как был добавлен sams.conf необходимо перезапустить Apache:

    Следом редактируем /etc/sams.conf, в котором меняем всего две записи:

    MYSQLPASSWORD= «ПАРОЛЬ» #(Для пользователя SAMS)
    MYSQLVERSION=5.0 #(Мы используем 5 версию MySQL сервера, при значении 4.0 возможны проблемы)

    Так же закомментируйте все, что связано с squidguard, ldap и rejik (если не планируете использовать)

    Далее на очереди MySQL, запускаем сервер и делаем все то, что предложит скрипт первого запуска, то есть задаем пароль root и после инсталляционную настройку сервера:

    Создаем MySQL пользователя sams и даем ему права на необходимые таблицы:

    Ввести «ПАРОЛЬ» для root в mysql

    Чтобы скрипты создания баз выполнились на mysql 5 необходимо их отредактировать

    #Заменяем везде TYPE=MyISAM на ENGINE=MyISAM
    /usr/local/share/sams/data/sams_db.sql
    /usr/local/share/sams/data/squid_db.sql

    Вливаем дампы SAMS в базу:

    Настала очередь Squid, собираем squid swap, и уже после запускаем прокси-сервер.

    найти и отредактировать следующие строки

    redirect_program /usr/local/bin/samsredir
    redirect_children 5
    auth_param ntlm program /usr/bin/ntlm_auth —helper-protocol=squid-2.5-ntlmssp #NTLM аутентификатор
    auth_param ntlm children 150 #(Количество одновременно сидящих в инете пользователей!)
    auth_param ntlm keep_alive on
    auth_param basic program /usr/bin/ntlm_auth —helper-protocol=squid-2.5-basic
    auth_param basic children 20
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 8 hours

    Перезапускаемся и стартуем squid

    C версии 1.0 SAMS работает в safe_mode php. Настриваем php для работы в режиме safe mode

    safe_mode = On
    safe_mode_exec_dir = «/usr/local/share/sams/bin»
    disable_functions = # если он не пустой, убираем из него запрет вызова функций phpinfo system shell_exec exec

    Ну и в самом конце запускаем SAMS:

    Ввод шлюза в домен

      Редактируем файл (добавляем список контроллеров своего домена)

    «IP_адрес_DC1» «Сетевое_имя_DC1» #(например: 192.168.100.8 serverDC01)
    «IP_адрес_DC2» «Сетевое_имя_DC2»

    Редактируем файл конфигурации самба

    [global]
    workgroup = «Имя_Домена» #(например: serverDC01)
    realm = «FQDN_домена» #(например: serverDC01.firma.ru)
    server string = Samba Server Version %v

    netbios name = Proxy-. #имя шлюза

    interfaces = lo eth0 «IP_адрес_интерфейса + маска» #(например: 192.168.10.1/24)
    hosts allow = 127. 192.168.

    winbind separator = \\
    winbind use default domain = yes
    winbind u > winbind g > winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/winnt/%D/%U
    template shell = /bin/bash
    max log size = 50
    security = domain
    password server = «IP_адрес_DC1» «IP_адрес_DC1» #(например:192.168.100.8 192.168.100.10 обязательно через пробел)
    encrypt passwords = yes

    Перестартовать сервис и ввести в домен

    Перезапустить службы и проверить отклик от домена

    Если все в порядке, добавляем в автозагрузку

    Добавляем примерно в середине правил разрешающие правила для iptables firewall в /etc/sysconfig/iptables и перезапустить его:

    -A RH-Firewall-1-INPUT -p tcp -m tcp —dport 80 -j ACCEPT
    -A RH-Firewall-1-INPUT -p tcp -m tcp —dport 3128 -j ACCEPT
    Альтернатива:
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #правило для 80 порта на http
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #правило для 3128 порта прокси

    Если, по каким-то причинам, необходимо отключить firewall, то надо набрать:

    источник