Squid для windows настройка: Прокси Squid под Windows — Сисадминство
Прокси Squid под Windows — Сисадминство
Решил написать мини-обзор по установке и настройке прокси-сервера Squid под Windows. Сразу хочу сказать, что статья рассчитана на начинающих, которые хотят познакомиться со Squid как таковым, поэтому прошу все коменты типа «фи, как это можно юзать под виндой» оставить при себе.
Для ценителей истинного Squid прошу пожаловать в наш специальный обзор на эту тему — Прокси Squid на Linux с авторизацией в Active Directory. А пока разберем более простой вариант. Конечно, версия под Windows не так хороша как под родные unix-like системы, но для первого знакомства подойдет.
Прокси бывает очень полезен, когда нужно несколько разграничить доступ в интернет либо просто выпусить в интернет несколько компов, а скорость подключения оставляет желать лучшего. Прокси обычно устанавливают на отдельный комп, чаще всего на тот, который собственно и «раздает» интернет в локальную сеть, браузеры других компов настраивают на работу с этим прокси-сервером. Далее уже на прокси пишутся правила: кому и когда на какие сайты ходить можно, куда ходить нельзя, что можно скачивать, что нельзя и т.д. Вариантов бесконечное множество.
Итак, Squid — это кэширующий прокси с внушительным набором функций. Распространяется по лицензии GNU GPL (читай бесплатно). Немного о Squid можно почитать в Wiki. Готовые к скачиванию дистрибутивы под винду можно найти на официальном ресурсе здесь. Крайняя стабильная версия Squid — 2.7, разрабатываемая версия — 3.0, при этом под unix-like платформы 3.0 уже идет как резиная версия, а под Windows как Beta из-за некоторых проблем с адаптацией под винду. По этой причине для знакомства мы рекомендуем воспользоваться именно версией 2.7.
Надеюсь, что пока никаких вопросов нет, поэтому давайте скачаем дистрибутив и займемся установкой. После загрузки распаковываем архив в котором будет папка squid. Помещаем эту папку прямо на диск С. Должно получиться так, чтобы в папке C:squid находились все подпапки типа etc, bin, sbin и пр. Кто-то спросит нафига там столько подпапок? Отвечаем: в отличие от Windows, в которой программа чаще всего распологается в одном каталоге, в unix-like системах каждый каталог предусмотрен под какие-то определенные нужды. Один каталог — под файлы настроек для всех установленных программ, второй каталог — под исполняемые файлы всех программ, третий каталог — плагины, четвертый — логи и т.д. Т.е. разные файлы одной программы хранятся сразу в нескольких папках. Пока нам надо усвоить то, что исполняемый файл Squid находится в каталоге sbin, файл настроек в каталоге etc, а все логи будут записываться в каталог varlog.
Самое главное что нам нужно сделать — это написать конфигурационный файл. В папке etc есть файл squid.conf.default копируем рядом и переименовываем копию в squid.conf. Должно получиться вот так:
После этого аналогичным образом копируем:
mime.conf.default в mime.conf и cachemgr.conf.default в cachemgr.conf.Открываем squid.conf в любом текстовом редакторе, например, в блокноте и стираем всё, чтобы у нас получился пустой файл, сохраняемся. mime.conf и cachermgr.conf трогать не нужно.
Прокси работает следующим образом: в настройках каждого браузера на компах локальной сети устанавливается опция с IP-адресом и портом прокси, например вот так (адрес моего прокси-сервера 192.168.1.2 и порт 3128):
Т.о. весь web-трафик от браузеров идет на указанный адрес, Squid в свою очередь передает эти запросы от своего имени в интернет. Входящий трафик из интернета попадает сначала на прокси и потом переадресовывается в локальную сеть клиентскому браузеру. Эта схема распространена повсеместно, но у нее есть один очевидный недостаток — все браузеры нужно руками настраивать на работу с прокси-сервером, иначе доступа в интернет не будет вообще. У прокси есть второй режим работы, называемый transparent, т.е. прозрачный. В прозрачном режиме в браузерах вообще ничего настраивать не нужно, как будто и нас нет никакого прокси. В этом случае все запросы идут на шлюз по умолчанию, коим должен являться маршрутизатор, раздающий интернет в локальной сети. На маршрутизаторе нужно добавить правило перенаправления, чтобы все web-запросы шли на комп с прокси. Этот вариант более интересный, однако здесь требуется дополнительная настройка маршрутизатора. К тому же Squid по Windows не поддерживает функцию прозрачного проксирования, поэтому мы пока не будем рассматривать этот вариант.
Вернемся к нашему пустому файлу конфигурации. Первым делом нам надо указать на каком IP-адресе и порту будет работать прокси. IP-адрес берется адрес компа в локальной сети (пусть у нас он будет 192.168.1.2), а порт в принципе можно выбрать любой, но обычно придерживаются стандартных значений, коими являются 3128 или 8080. Пишем в файл строку:
http_port 192.168.1.2:3128
Еще Squid любит, чтобы ПК, на котором он установлен как-то назывался. Для этого в конфиурационный файл нужно добавить строку visible_hostname [имя]. Мы напишем так:
visible_hostname myproxy
Решение о том, какой трафик и куда пропускать или запрещать принимается на основании правил, которые в свою очередь строятся из списков доступа.
Сейчас мы определим несколько списоков доступа и сделаем одно правило. В данном случае значение слова «список» нужно понимать несколько иначе: одна строка, которая начинается со слова acl это и есть один список. Две строки — два списка, много строк acl — списки. Общий синтаксис для списков выглядит вот так:
acl [имя_списка] [тип параметра] [параметр 1] [параметр 2] … [параметр n].
Первым идет служебное слово acl, затем имя списка. Имя может быть произвольным за одним исключением, о нем чуть позже. Тип параметра — чаще всего используются значения src (источник) или dst (получатель). Параметры — это кокретные значения, которые относятся к src или dst.
В конфигурационном файле обязательно должен присутствовать как минимум один список доступа, который описывает всех клиентов прокси. Все клиенты обозначаются стандартным словом all. В итоге наша первая команда дорожна выглядеть вот так:
acl all src 0.0.0.0/0.0.0.0
В данном случае 0.0.0.0/0.0.0.0 обозначает любые адреса и маски. Затем определим нашу локальную сеть, список назовем LAN:
acl LAN src 192.168.1.0/255.255.255.0
Следующий список доступа будет описывать у нас тип проходящего трафика. Для начала мы возьмем обычный HTTP-трафик, который передается по 80-му и 443 портам. В следующей строке пишем:
acl HTTP port 80 443
И теперь напишем правило, которое будет разрешать хождения HTTP-трафика со всех компов нашей локальной сети. Правила обозначаются командой
http_access [allow (разрешить) или deny (запретить)] [перечисление имен списков доступа через пробел].
Мы напишем вот такое правило:
http_access allow LAN HTTP
Надо сказать еще одну важную вещь. Когда мы пишем перечисление нескольких параметров через пробел, то нужно знать, что в списках доступа каждый пробел понимается как «ИЛИ», а в правилах доступа как «И». Например, наше написанное правило звучит так: доступ (http_access) разрешить (allow) если пакет с данными можно отнести к списку доступа LAN И в тоже самое время пакет можно отнести к списку доступа HTTP. А вот список доступа HTTP будет звучать так: пакет данных идет на порт 80 ИЛИ на порт 443. Это нужно понимать, чтобы правильно составлять списки доступа и правила. Когда пишем списки доступа, то можно их писать в любом порядке, а вот очередность написания правил играет ключевую роль. Пакет с данными обрабатывает до первого правила, под котрое он подходит по своим параметрам.
Далее я покажу простой пример ограничения доступа в интернет. Например, на компом с адресом 192.168.1.10 у нас сидит работник, которому нужно ограничить доступ. Нет ничего проще. Сначала пишем список доступа:
acl Vasya src 192.168.1.10
После этого нужно создать правило блокировки и поместить его до того правила, которое разршает доступ и интернет всем компам локальной сети. В итоге оба правила должны выглядеть так:
http_access deny Vasya
http_access allow LAN HTTP
Мы прописали самые необходимые вещи, теперь конфигурационный файл можно сохранить. Целиком он должен выглядеть вот так:
http_port 192.168.1.1:3128
visible_hostname myproxy
acl all src 0.0.0.0/0.0.0.0
acl LAN src 192.168.1.0/255.255.255.0
acl HTTP port 80 443
acl Vasya src 192.168.1.10
http_access deny Vasya
http_access allow LAN HTTP
Далее нам нужно сформировать каталоги для хранения кэша. Делается это просто: в командной строке надо набрать
С:squidsbinsquid.exe -z
После этого установим Squid в качестве службы Windows, набрав
С:squidsbinsquid.exe -i
Теперь идем в Панель управления/Администрирование/Службы, ищем там Squid и запускаем его. Остается настроить какой-нибудь браузер на наш прокси-сервер и проверить работоспособность.
По мере сил и возможностей мы периодически дополняем и редактируем этот обзор.
Если вам хочется иметь функциональность Squid, но нет сил/времени/навыков настраивать всё это — обязательно посмотрите другие альтернативы — BlockAdultProxy или 3proxy
Похожие посты
Как установить Squid в Windows 7 — Information Security Squad
Squid — это инструмент прокси-кэша с различными конфигурациями acl, и он выпущен под GPL 3.
Он обычно используется для уменьшения пропускной способности и увеличения времени отклика.
Он также используется для фильтрации трафика по HTTP, FTP и HTTPS.
Это также увеличивает скорость для веб-сервера с помощью кеширования.
Очень просто установить Squid, и в этой статье вы узнаете о методе установки и настройки Squid в Windows.
Установка Squid
Перейдите на официальный сайт Squid и загрузите пакет установки Squid.
Затем откройте загруженный файл в диспетчере файлов.
Затем выполните загруженный файл и запустите его.
После этого вам нужно перейти к следующему шагу.
На следующем шаге «Принимаю» и нажмите «Далее».
Проверьте сведения и нажмите «Далее», чтобы продолжить.
Теперь вы должны нажать кнопку «Установить», чтобы запустить установку.
Теперь ваш Squid устанавливается.
Когда эта страница появится, вам нужно нажать «Готово». Это означает, что ваша установка завершена.
Теперь, когда установка завершена, вы можете щелкнуть значок squid на панели задач и открыть конфигурацию squid.
Появится страница конфигурации squid.
В этом случае вам нужно открыть папку squid.
Ваша папка Squid выглядит так, как показано на следующем рисунке.
Позже включите порт в брандмауэре и для этого откройте его.
Теперь настройки брандмауэра открыты. Выберите опцию дополнительных настроек.
В разделе «Дополнительные параметры» вы выбираете правила «Входящие» в левой панели.
Затем нажмите кнопку «Новое правило».
Позже выберите порт и нажмите «Далее», чтобы продолжить.
После этого вам нужно выбрать TCP и ввести номер порта, после чего вам нужно нажать «Далее».
После этого выберете опцию «Далее».
И после этого вам нужно выбрать вариант «Далее».
В мастере входящих правил вам нужно указать имя и нажать «Готово».
Проверьте, правильно настроено новое правило во входящих правилах.
Процесс установки Squid завершен.
Установка и настройка SQUID — Записная книжка IT-шника — ЖЖ
Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и HTTPS.
Утановка:
apt-get install squid
Прежде, чем редактировать конфигурационный файл, вам стоит сделать копию оригинального файла и защитить ее от перезаписи, чтобы у вас всегда оставались оригинальные настройки в качестве справочника и для повторного использования при необходимости.
Скопируйте файл /etc/squid/squid.conf и защитите его от записи следующими командами в терминале:
cp /etc/squid/squid.conf /etc/squid/squid.conf.original
Убирем все коментарии для удобства конфигурирования:
cat /etc/squid/squid.conf.original | grep -v ‘^\(#\|$\)’ > /etc/squid/squid.conf
открываем файл настроек для редактирования:
[nano /etc/squid/squid.conf]nano /etc/squid/squid.conf
# настройка авторизации
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# новый пользователь заводится командой » htpasswd -c /etc/squid/passwd petrov «
# последующие » htpasswd /etc/squid/passwd sidorov «
# ACL
# default
#
acl all src all
#
acl manager proto cache_object
#
acl localhost src 127.0.0.1/32
#
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
#
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
#
acl purge method PURGE
#
acl CONNECT method CONNECT
# довереные адреса
acl trusted_host src x.x.x.x/32
# авторизованные пользователи
acl password proxy_auth REQUIRED
# настройка Списков доступа
# разрешаем localhost
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
# пропускаем довереные адреса
http_access allow trusted_host
# пропускаем авторизованных пользователей
http_access allow password
# запрещаем все остальное
http_access deny all
# общий кэш для локалки
icp_access allow localnet
icp_access deny all
# работаем на портах
http_port 5190
http_port 3128
# default
#
hierarchy_stoplist cgi-bin ?
#
access_log /var/log/squid/access.log squid
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
#
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
#
acl apache rep_header Server ^Apache
#
broken_vary_encoding allow apache
#
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
#
hosts_file /etc/hosts
coredump_dir /var/spool/squid
Схема контроля доступа в Squid достаточно развита и тяжела для понимания некоторым людям. Она состоит из двух различных компонентов: элементов ACL и списков доступа. Список доступа состоит из директивы allow или deny и указанных вслед за ней элементов ACL.
Перезапускаем squid:
/etc/init.d/squid restart
Элементы ACL
Замечание: Информация, представленная здесь верна для версии 2.4.
Squid-у известны следующие типы элементов ACL:
- src: IP-адрес источника (клиент)
- dst: IP-адрес назначения (сервер)
- myip: локальный IP-адрес клиентского соединения
- srcdomain: имя домена источника (клиент)
- dstdomain: имя домена назначения (сервер)
- srcdom_regex: шаблон регулярного выражения источника (клиент)
- dstdom_regex: шаблон регулярного выражения назначения (сервер)
- time: время дня и день недели
- url_regex: шаблон регулярного выражения для URL
- urlpath_regex: шаблон регулярного выражения для части URL, исключая протокол и имя хоста
- port: номер порта назначения (сервер)
- myport: номер локального порта, куда подключается клиент
- proto: тип протокола передачи (http, ftp, etc)
- method: метод HTTP-запроса (get, post, etc)
- browser: шаблон регулярного выражения, совпадающего с заголовком user-agent из запроса
- ident: строка совпадения с именем пользователя
- ident_regex: шаблон регулярного выражения имени пользователя
- src_as: номер Автономной Системы источника (клиент)
- dst_as: номер Автономной Системы назначения (сервер)
- proxy_auth: аутентификация пользователя через внешний процесс
- proxy_auth_regex: регулярное выражение аутентификации пользователя через внешний процесс
- snmp_community: строка SNMP-сообщества
- maxconn: ограничение максимального кол-ва соединений с одного клиентского IP-адреса
- req_mime_type: шаблон регулярного выражения для заголовка content-type запроса
- arp: Ethernet (MAC)-адрес
Заметьте:
Не все элементы ACL могут быть использованы со всеми видами списков доступа (описаны ниже). К примеру, snmp_community предназначено для использования только совместно с snmp_access. Типы src_as и dst_as используются только в списках доступаcache_peer_access.
Тип arp элемента ACL требует специально опции —enable-arp-acl. Кроме того, код ARP ACL портируется не на все операционные системы. Это работает на Linux, Solaris, и некоторых *BSD системах.
Элемент ACL SNMP и список доступа требуют конфигурационной опции —enable-snmp .
Некоторые элементы ACL могут вносить задержки в работу кеша. Например, использование src_domain и srcdom_regex требует обратного преобразования клиентского IP. Это преобразование вносит некоторую задержку в обработку запроса.
Каждый элемент ACL обозначается уникальным именем. Имя элемента ACL содержит список значений. Когда проверяется совпадения для нескольких значений, используется логическое «ИЛИ». Другими словами, элемент ACL совпал, когда совпало одно из значений.
Вы не можете указывать одинаковое имя для двух различных типов элементов ACL. Это вызовет синтаксическую ошибку.
Вы можете присваивать различные значения одному и тому же ACL в различных строках. Squid объединит их в один список.
Списки доступа
Существуют следующие типы списков доступа:
- http_access: разрешает доступ HTTP-клиентам (броузерам) к порту HTTP. Это основной тип списка контроля доступа.
- icp_access: разрешает братским кешам опрашивать ваш кеш по ICP.
- miss_access: разрешает определенным клиентам передавать cache misses через ваш кеш.
- no_cache: объявляет ответы, которые не должны кешироваться.
- redirector_access: контролирует, какие запросы должны пройти через процесс редиректора.
- ident_lookup_access: контролирует, какие запросы требуют Ident lookup.
- always_direct: контролирует, какие запросы всегда должны посылаться напрямую к серверу назначения.
- never_direct: контролирует, какие запросы никогда не должны посылаться напрямую к серверу назначения.
- snmp_access: контролирует доступ клиентов к кешу по SNMP.
- broken_posts: определяет запросы, для которых squid добавляет дополнительный CRLF после тел сообщений POST как того требуют некоторые неверно работающие сервера.
- cache_peer_access: контролирует, какие запросы должны быть переданы соседскому кешу (peer).
Замечание:
Правило списка доступа состоит из слова allow или deny, с последующим указанием списка имен элементов ACL.
Список доступа состоит из одного или более правил списков доступа.
Правила списков доступа проверяются в порядке их объявления. Поиск по списку прекращается, как только одно из правил совпадает.
Если правило содержит несколько элементов ACL, используется логическое И. Другими словами, все элементы ACL, указанные в этом правиле должны совпасть, чтобы правило сработало. Это значит, что есть возможность написать правило, которое никогда не сработает. К примеру, номер порта никогда не может быть равен 80 И 8000 одновременно.
Если ни одно из правил не сработало, по умолчанию будет произведено действие обратное указанному в последнем правиле списка. Поэтому хорошей идеей будет явно указать действие по умолчанию. Наилучший выбор для этого — ACL all. Например:
acl all src 0/0 http_access deny all
Объявите ACL, описывающий IP-адреса клиентов. К примеру:
acl myclients src 172.16.5.0/24
Далее разрешите доступ этим клиента при помощи списка http_access:
http_access allow myclients
acl someserver dstdomain .someserver.com no_cache deny someserver
Предположим, к примеру, что вы желаете избавить пользователей от доступа к рецептам.
Первый способ — запретить любой URL, содержащий слова «cooking» или «recipe.» Вы могли бы использовать следующую конфигурацию:
acl Cooking1 url_regex cooking acl Recipe1 url_regex recipe http_access deny Cooking1 http_access deny Recipe1 http_access allow all
url_regex обозначает — искать указанное вами регулярное выражение в поступившем URL. Заметьте, что это регулярное выражение чувствительно к регистру символов, т.е. URL, содержащие «Cooking» не будут запрещены.
Другой путь — запретить доступ к определенным серверам, если известно что они хранят рецепты. К примеру:
acl Cooking2 dstdomain gourmet-chef.com http_access deny Cooking2 http_access allow all
dstdomain значит искать строку «gourmet-chef.com.» и имени хоста в URL. Заметьте, что когда в URL используется IP-адрес (вместо имени домена), Squid-1.1 выполняет смягченный контроль доступа(?). Если имя домена для IP-адреса было сохранено Сквидом в «FQDN cache,» то Squid может сравнивать домен назначения с контролем доступа. Однако, если домен недоступен немедленно, Squid разрешит запрос и сделает преобразование IP-адреса, которое будет доступно для будущих запросов.
Ident
Вы можете использовать ident lookups чтобы разрешить доступ к вашему кешу определенным пользователям. Это потребует запуска процесса ident server на клиентской машине(ах). В вашем конфигурационном файле squid.conf вам необходимо будет написать нечто подобное:
ident_lookup on acl friends user kim lisa frank joe http_access allow friends http_access deny all
Proxy Authentication
Другая возможность — использование прокси-аутентификации. При этой схеме вы назначаете имена пользователей и пароли индивидуально. При первом использовании прокси пользователю придет запрос на аутентификацию посредством имени пользователя и пароля.
В Squid вер.2 аутентификация производится через внешний процесс. Информацию о том как это настроить это см. в разделе Настройка аутентиикации.
Pedro L Orso переделал htpasswd от Apache в CGI-скрипт, называемый chpasswd.cgi.
Логическое И/ИЛИ
Вы возможно уже заметили (и были разочарованы), что фактически вы не можете комбинировать контроли доступа при помощи конструкций «и», «или.» Эти операции уже встроены в схему контроля доступа, это одна из основополагающих вещей, которую вы должны усвоить.
- Все элементы, указанные в данном acl объединяются при помощи логического «ИЛИ».
- Все элементы, указанные в access объединяются при помощи логического «И». т.к. http_access and icp_access.
К примеру, следующая конфигурация контроля доступа никогда не будет работать:
acl ME src 10.0.0.1 acl YOU src 10.0.0.2 http_access allow ME YOU
Для того, чтобы запрос был разрешен, он должен совпасть и с acl «ME» И acl «YOU». Это невозможно, т.к. IP-адрес в данном случаю может совпасть либо с одним, либо с другим acl. Это должно быть заменено на:
acl ME src 10.0.0.1 acl YOU src 10.0.0.2 http_access allow ME http_access allow YOU
Такая конструкция тоже должна работать:
acl US src 10.0.0.1 10.0.0.2 http_access allow US
перепутанные allow/deny
Я перечитал несколько раз мой squid.conf, поговорил с коллегами, почитал FAQ и документацию по Squid Docs и никак не могу понять, почему следующее не работает.
Я успешно подключаюсь к cachemgr.cgi с нашего web-сервера, но хотелось бы использовать MRTG для мониторинга различных параметров нашего прокси. Когда я пытаюсь использовать ‘client’ или GET cache_object с машины, на которой работает прокси, то всегда получаю «доступ запрещен».
acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl server src 1.2.3.4/255.255.255.255 acl all src 0.0.0.0/0.0.0.0 acl ourhosts src 1.2.0.0/255.255.0.0 http_access deny manager !localhost !server http_access allow ourhosts http_access deny all
Приведенная здесь задача состоит в том, чтобы разрешить запросы кеш-менеджера с адресов localhost и server и запретить все остальные. Такая политика описывалась правилом:
http_access deny manager !localhost !server
Проблема состоит в разрешении запроса, правило доступа не срабатывает. К примеру, если IP-адрес источника localhost, тогда «!localhost» — ложь и правило доступа не срабатывает, Squid продолжает проверять другие правила. Запросы к кеш-менеджеру с адреса serverработают, т.к. server находится в подсети ourhosts, сработает второе правило и запрос будет разрешен. Это значит также, что любой запрос кеш-менеджера из ourhosts будет разрешен.
Чтобы необходимая политика работала корректно, правила доступа должны быть переписаны следующм образом
http_access allow manager localhost http_access allow manager server http_access deny manager http_access allow ourhosts http_access deny all
Если вы используете miss_access, не забывайте также добавить правило miss_access для кеш-менеджера:
miss_access allow manager
Вы можете быть обеспокоены тем, что пять правил взамен трех могут нанести удар по качеству работы кеша. Исходя и нашего опыта, можно сказать, что этого не произойдет. Squid в состоянии поддерживать достаточное количество проверок контроля доступа без снижения качества работы. Можете проверить это самостоятельно.
Различия между src и srcdomain типами ACL.
Для типа ACL srcdomain Squid делает обратное преобразование клиентского IP-адреса и проверяет соответствие результата домену, описанному в строке acl. Для типа ACL src Squid вначале преобразует имя хоста в IP-адрес и только потом сравнивает с клиентским IP. Тип ACL src предпочтительнее, чем srcdomain, т.к. он не требует преобразования адреса в имя при каждом запросе.
Если ACL-лы — причина ваших проблем и вы не знаете почему они не работают, вы можете воспользоваться этой инструкцией, чтобы отладить их.
В squid.conf включите отладку для секции 33 на уровне 2. К примеру:
debug_options ALL,1 33,2
Потом перезапустите Squid.
Теперь, ваш cache.log должен содержать строку для каждого запроса, которая поясняет запрещен или разрешен запрос и с каким ACL он совпал.
Если это не дало вам достаточно информации, чтобы избавиться от проблемы, вы можете также включить детальную отладку процесса обработки ACL
debug_options ALL,1 33,2 28,9
Перезапустите Squid.
Теперь ваш cache.log должен содержать детальную трассировку всего процесса контроля доступа. Будте внимательны, на каждый запрос будет по несколько строк.
См. также Отладка Squid
acl GOOD dst 10.0.0.1 acl BAD dst 0.0.0.0/0.0.0.0 http_access allow GOOD http_access deny BAD
Есть хитрая проблема с контролем доступа, основанным на имени домена, когда один элемент ACL является поддоменом другого элемента. К примеру, взгляните на такой список:
acl FOO dstdomain boulder.co.us vail.co.us co.us
Прежде всего — формат списка просто неверен, потому-что первые два элемента (boulder.co.us и vail.co.us) не нужны. Любое имя домена, которое совпадает с первыми двумя элементами, совпадет и с последним (co.us). Хорошо, но почему это происходит ?
Корень проблемы в структуре данных для индексирования доменных имен в списках контроля доступа. Squid использует Splay trees для списка доменных имен. Как и другие структуры данных в виде дерева, алгоритм поиска требует функции сравнения, которая возвращает -1, 0 или +1 для любой пары ключей (доменных имен). Это подобно тому как работает strcmp().
Проблема в том, что нельзя сказать, что co.us больше чем, равно или меньше чем boulder.co.us.
К примеру, если вы утверждаете, что co.us МЕНЬШЕ чем fff.co.us, то алгоритм поиска по Splay-дереву может никогда не обнаружить совпадения co.us для kkk.co.us.
Аналогично, если вы говорите, что co.us БОЛЬШЕ чем fff.co.us, то алгоритм поиска по Splay-дереву может никогда не обнаружить совпадения co.us для bbb.co.us.
Суть в том, что вы не можете указать значение, которое является поддоменом другого значения. Squid-2.2 сообщит вам, если обнаружит подобное условие.
Это опасно — разрешать Squid соединятся по определенным номерам портов. Демонтсрацией этого может послужить использование Squid кем-либо как SMTP (email) релея. Уверен, что вы знаете, что SMTP релей — один из способов, при помощи кторого спамеры имеют возможность засорять почтовые ящики. Что бы предотвратить релей почты, Squid запрещает запросы в URL которых указан порт номер 25. Для предосторожности другие порты также должны быть блокированы.
Есть два способа фильтрации по номерам портов: либо разрешить определенные порты, либо запретить определенные порты. По умолчанию Squid использует первый вариант. Вот ACL-лы, которые присутствуют по умолчанию в squid.conf:
acl Safe_ports port 80 21 443 563 70 210 1025-65535 http_access deny !Safe_ports
Указанная выше конфигурация блокирует запросы номер порта в URL которых не совпадает со списком. Разрешен список стандартных портов для HTTP, FTP, Gopher, SSL, WAIS, а также непривелигерованых портов.
Другой подход — запретить опасные порты. Список опасных портов должен выглядеть примерно так:
acl Dangerous_ports 7 9 19 22 23 25 53 109 110 119 http_access deny Dangerous_ports
…и возможно некоторые другие.
Загляните в файл /etc/services вашей системы, чтобы получить полный список портов и протоколов.
Этот пример разрешает доступ к special_url только для special_client. Любому другому клиенту доступ к special_url запрещен.
acl special_client src 10.1.2.3 acl special_url url_regex ^http://www.squid-cache.org/Doc/FAQ/$ http_access allow special_client special_url http_access deny special_url
Замечание: представленная здесь информация верна для версии 2.3.
Следующий ACL дает противоречивый или неожиданный результат:
acl restricted src 10.0.0.128/255.0.0.128 10.85.0.0/16
Причина в том, что IP-список доступа помещается в структуру данных в виде «splay»-дерева. Это дерево требует сортировки ключей. Когда вы указываете сложную или нестандартную маску (255.0.0.128), это приводит к неверной работе функции сравнивающей пару адрес/маска.
Лучшее решение избавится от проблемы — использовать отдельные имена ACL для каждого значения ACL. Например, измените вышеуказанное на :
acl restricted1 src 10.0.0.128/255.0.0.128 acl restricted2 src 10.85.0.0/16
При этом, конечно, вам придется переписать ваши правила http_access.
Да, для некоторых операционных систем. В Squid это называется «ARP ACLs» и поддерживается на Linux, Solaris и возможно для BSD вариантов.
ЗАМЕЧАНИЕ: Squid может определить MAC-адрес клиента только для своей подсети. Если клиент находится в другой подсети, Squid не сможет найти его MAC-адрес.
Чтобы использовать контроль доступа по ARP (MAC), вам прежде всего необходимо скомпилировать Squid c поддержкой этой возможности. Это делается при помощи конфигурационной опции —enable-arp-acl:
% ./configure --enable-arp-acl ... % make clean % make
Если src/acl.c не компилируется, значит возможно ARP ACL не поддерживается вашей системой .
Если все откомпилировалось, вы можете добавить несколько строк ARP ACL в ваш squid.conf:
acl M1 arp 01:02:03:04:05:06 acl M2 arp 11:12:13:14:15:16 http_access allow M1 http_access allow M2 http_access deny all
Да, используйте ACL типа maxconn совместно с http_access deny. К примеру:
acl losers src 1.2.3.0/24 acl 5CONN maxconn 5 http_access deny 5CONN losers
Учитивая вышеописанную конфигурацию, когда клиент, чей IP-адрес находится в сети 1.2.3.0/24, попытается установить 6 или более соединений за одни раз, Squid вернет сообщение о ошибке. Пока вы не используете возможности deny_info, сообщение о ошибке будет звучать как «access denied.»
ACL типа maxconn требует использования client_db . Если вы отключили client_db (к примеру, использовав client_db off) то ACL maxconn не будет работать.
Заметьте, что ACL типа maxconn достаточно специфичен из-за использования сравнения «меньше чем». ACL считается совпавшим, когда количество установленных соединений больше величины, которую вы указали. Исходя из этого вы вряд ли захотите использовать ACL типа maxconn в http_access allow.
Заметьте также, что вы вы должны объявлять maxconn совместно с типом пользователя (ident, proxy_auth) раньше, чем объявляется тип по IP-адресу.
В Squid-2.3 мы изменили схему, по которой Squid определяет совпадение поддоменов. Есть разница между .foo.com и foo.com. В первом случае описано соответствие любого домена в foo.com, во втором — это только точное соответствие «foo.com» . Т.е., если вы хотите запретить bar.foo.com, вы должны указать
acl yuck dstdomain .foo.com http_access deny yuck
Вы можете изменять существующие сообщения об ошибках как описано в Пользовательские сообщения об ошибках. Вы также можете создавать новые сообщения о ошибках и использовать их совместно с опцией deny_info.
К примеру, предположим, что вы хотите, чтобы ваши пользователи видели специальное сообщение, когда их запрос совпадает с вашим списком порно. Прежде всего создайте файл с именем ERR_NO_PORNO в директории /usr/local/squid/etc/errors. Этот файл должен содержать нечто подобное:
<p> Our company policy is to deny requests to known porno sites. If you feel you've received this message in error, please contact the support staff ([email protected], 555-1234).
Далее, установите следующий контроль доступа:
acl porn url_regex "/usr/local/squid/etc/porno.txt" deny_info ERR_NO_PORNO porn http_access deny porn (остальные опции http_access ...)
Установка Squid под Windows: korjeek — LiveJournal
- Качаем свежий и стабильный squid http://squid.acmeconsulting.it/
- Распаковываем его в корень c:
- Устанавливаем как системный сервис и добавляем запись в реестр windows c:\squid\sbin\squid -i -f C:\squid\etc\squid.conf -n Squid
- Конфигурируем базовую настройку
- Переходим в директорию C:\squid\etc\ и переименовываем все находящиеся в ней файлы:
- cachemgr.conf.default => cachemgr.conf
- mime.conf.default => mime.conf
- squid.conf.default => squid.conf
- squid_radius_auth.conf.default — можно не переименовывать, если вы не предполагаете использовать аутентификацию по протоколу radius для пользователей прокси-сервера squid.
- Далее открываем в любом текстовом редакторе файл squid.conf. Настроим минимально необходимую рабочую конфигурацию (в дальнейшем вы сможете донастроить и оптимизировать конфигурацию под свои нужды). Итак, в файле squid.conf раскомментируем (убираем символ #) или дописываем следующие строчки:
- Переходим в директорию C:\squid\etc\ и переименовываем все находящиеся в ней файлы:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
# Оставляем ниже одну из записей для своей локальной сети, если прокси-сервер используется
# только на одной машине, на которой он и установлен, то эти записи нужно закомментировать
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
# And finally deny all other access to this proxy
http_access deny all
#Allow ICP queries from local networks only
icp_access allow localnet
icp_access deny all
# Прописываем порт, на который сквид будет ожидать соединения от клиентов.
http_port 3128
#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?
#Default:
cache_replacement_policy lru
# Прописываем расположение директории, в которой будет хранится наш кэш:
cache_dir ufs c:/squid/var/cache 100 16 256
store_dir_select_algorithm least-load
max_open_disk_fds 0
minimum_object_size 0 KB
maximum_object_size 4096 KB
cache_swap_low 90
cache_swap_high 95
update_headers on
access_log c:/squid/var/logs/access.log
logfile_daemon c:/squid/libexec/logfile-daemon.exe
cache_log c:/squid/var/logs/cache.log
cache_store_log c:/squid/var/logs/store.log
logfile_rotate 10
emulate_httpd_log off
log_ip_on_direct on
mime_table c:/squid/etc/mime.conf
log_mime_hdrs off
pid_filename c:/squid/var/logs/squid.pid
log_fqdn off
strip_query_terms on
buffered_logs off
- Таким образом, мы определили в конфигурационном файле три базовых блока — управление доступом (подсети, порты, acl-листы), настройка КЭШа, настройка логов, а также некоторые системные настройки (кстати, не все обязательные). Также обратите внимание на то, что знак в именах директорий нужно писать именно на юниксовый манер «/», а не Windows — «\».
- Теперь сформируем структуры КЭШа прокси-сервера squid, выполнив команду:
c:\squid\sbin\squid —z —f C:\squid\etc\squid.conf После выполнения этой команды мы должны увидеть следующее сообщение: Creating Swap Directories Т.е., все усешно кэш-директория создана.
- Также обратите внимание на то, что при выполнении этой команды сквид проверяет конфигурационный файл squid.conf на корректность, и если в нем что-то написано не так, т выдалось бы соответствующее сообщение.
- Для создания кэш-файла мы использовали тип файловой системы ufs (опция в конф. Файле — cache_dir ufs c:/squid/var/cache 100 16 256). Также можно использовать тип awin32, посмотрите документацию и выберете наиболее подходящий для Вас. Также полезно заглянуть в лог-файл C:\squid\var\logs\cache.log и посмотреть нет ли там каких-либо ошибок.
- Теперь делаем первый пробный старт прокси-сервера Сквид. Запустим его для начала в виде консольного приложения — в случае каких-либо ошибок они будут выведены на экран и нужно будет исправить соотвествующие опции в конфигурационном файле. start c:\squid\sbin\squid —f C:\squid\etc\squid.conf
- Попробуем к нему обратиться, выполнив команду: telnet localhost 3128
- Пробуем зайти на какую либо страничку, например http://vasenin.org. При данной настройке если прокси-сервер находится на той же машине с которой вы пытаетесь выйти в интернет, вы получите ошибку доступа. Чтобы это исправить внесите в конфигурационный файл строчку: acl localnet src 127.0.0.1/32 Теперь и с самой машины, на которой установлен прокси-сервер, можно «ходить» в интернет.
- Если планируете, что proxy-сервер будет работать постоянно, то можно просто установить в службе Squid под windows параметр «Автозапуск».
SQUID для ленивых. Облегчаем себе жизнь / Хабр
Добрый день, уважаемые Хабрапользователи, в связи со сложившейся тенденцией к изучению всем известного прокси сервера SQUID, я бы хотел предложить вариант некой типовой настройки небольшой связки, которая будет полезная для начинающих системных администраторов небольших контор, ну или просто для тех, кому лень разбираться. Данная статья ни в коем случае не претендует на глобальный мануал на все случаи жизни — как я уже и сказал это всего лишь обобщенный частный случай.
Ну, давайте обсудим с чего мы начинаем, у нас есть сервер в моем случае это свежеустановленная Ubuntu Server с выбранными параметрами LAMP и SSH (специально с целью написания статьи):
root@testgateway:~# uname -a Linux testgateway 2.6.32-33-generic-pae #70-Ubuntu SMP Thu Jul 7 22:51:12 UTC 2011 i686 GNU/Linux root@testgateway:~# lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 10.04.3 LTS Release: 10.04 Codename: lucid root@testgateway:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda6 5.5G 723M 4.6G 14% / none 190M 172K 189M 1% /dev none 194M 0 194M 0% /dev/shm none 194M 44K 194M 1% /var/run none 194M 0 194M 0% /var/lock none 194M 0 194M 0% /lib/init/rw /dev/sda7 7.3G 189M 6.7G 3% /var /dev/sda1 92M 21M 66M 25% /boot
Вот с такими вот параметрами, заведомо я подготовил 2 сетевых интерфейса, не удивляйтесь что у обоих интерфейсы из локальных диапазонов, просто машинка установлена внутри xen.
root@testgateway:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:36:73:84:48 inet addr:192.168.0.237 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::216:36ff:fe73:8448/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1361 errors:0 dropped:0 overruns:0 frame:0 TX packets:720 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:111090 (111.0 KB) TX bytes:107285 (107.2 KB) Interrupt:32 Base address:0xa000 eth2 Link encap:Ethernet HWaddr 00:16:36:64:1c:bd inet addr:192.168.122.51 Bcast:192.168.122.255 Mask:255.255.255.0 inet6 addr: fe80::216:36ff:fe64:1cbd/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:82 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8170 (8.1 KB) TX bytes:10923 (10.9 KB) Interrupt:36 Base address:0xe100 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Здесь интернет будет идти от eth2, локальная сеть, т.е. я буду находится со стороны eth0.
Естественно рекомендуется, провести:
root@testgateway:~# apt-get update root@testgateway:~# apt-get upgrade
Следующим шагом мы должны поставить дополнительные пакеты для нашего прокси сервера, как наверное Вы догадались мы будем использовать связку SQUID+SAMS, но настраивать будем типичный случай, авторизация по IP, и для облегчения себе жизни заворот всех пользователей на порт прокси сервера. Эту связку потом можно будет с легкостью настроить на авторизацию по логин/паролю, и даже связать с AD.
Необходимыми пакетами для нашего случая мы установим так:
root@testgateway:~# apt-get install libpcre3 libpcre3-dev libmysqlclient15-dev php5-ldap php-fpdf squid squidguard gcc make php5-gd
Если вдруг будет мало доустановим еще. Следующим шагом будет скачивание и установка самого SAMS, скачиваем стабильную версию 1.0.5, есть еще SAMS 2.0, но как-то попробовал, еще слишком много багов было.
root@testgateway:~# wget http://sams.perm.ru/download/sams-1.0.5.tar.bz2
Далее, распаковываем и устанавливаем его:
root@testgateway:~# bunzip2 sams-1.0.5.tar.bz2 && tar -xpf sams-1.0.5.tar && rm sams-1.0.5.tar root@testgateway:~# cd sams-1.0.5/ root@testgateway:~# ./configure – -with-httpd-locations=/var/www root@testgateway:~# make root@testgateway:~# make install
После этого в принципе не должно получится ошибок, и можно смело продолжать, если есть какие-то ошибки, значит следует вчитаться, и доустановить то чего не хватает.
Далее копируем скрипт запуска sams, к нам на сервер
root@testgateway:~/sams-1.0.5# cp ./etc/sams.debian /etc/init.d/samsd root@testgateway:~/sams-1.0.5# update-rc.d samsd defaults Adding system startup for /etc/init.d/samsd ... /etc/rc0.d/K20samsd -> ../init.d/samsd /etc/rc1.d/K20samsd -> ../init.d/samsd /etc/rc6.d/K20samsd -> ../init.d/samsd /etc/rc2.d/S20samsd -> ../init.d/samsd /etc/rc3.d/S20samsd -> ../init.d/samsd /etc/rc4.d/S20samsd -> ../init.d/samsd /etc/rc5.d/S20samsd -> ../init.d/samsd
Далее чуть-чуть настроим MySQL. Нужно загрузить таблицы, и организовать доступ к ним:
root@testgateway:~/sams-1.0.5# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 39 Server version: 5.1.41-3ubuntu12.10 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "maxim"; Query OK, 0 rows affected (0.02 sec) mysql> GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "maxim"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; mysql> exit root@testgateway:~/sams-1.0.5# cd ./mysql root@testgateway:~/sams-1.0.5/mysql# mysql -u root -p < sams_db.sql root@testgateway:~/sams-1.0.5/mysql# mysql -u root -p < squid_db.sql
Далее чуть-чуть правим файл, /etc/sams.conf:
MYSQLPASSWORD=maxim
Надеюсь все догадались, что это пароль который мы вставляли в команды Mysql.
Наконец, дошла очередь и до настройки самого SQUIDа, но не думайте, что это будет очень сложно, приготовьтесь, что всю грязную работу в будущем за вас будет делать SAMS.
Открываем файл настройки, и изменим там несколько строк:
# Squid normally listens to port 3128 http_port 192.168.0.237:3128 transparent maximum_object_size_in_memory 50 MB cache_dir ufs /var/spool/squid 3000 32 512 Параметры кэша подбираются индивидуально под каждый случай. maximum_object_size 50 MB url_rewrite_program /usr/local/bin/samsredir
Теперь настраиваем обработку лога access.log
Открываем crontab, лучше это делать с помощью crontab -e, и добавляем туда следующую строчку:
*/1 * * * * /usr/local/bin/sams
Далее создадим директории для кэша сквида:
root@testgateway:~/sams-1.0.5/mysql# squid -z
2011/10/13 12:40:12| Creating Swap Directories
и стартуем squid.
root@testgateway:~/sams-1.0.5/mysql# /etc/init.d/squid start
Проверяем:
root@testgateway:~/sams-1.0.5/mysql# ps aux | grep proxy proxy 19158 0.2 1.2 7696 4876 ? Ss 12:40 0:00 /usr/sbin/squid -N -D proxy 19159 0.0 0.4 5080 1636 ? Ss 12:40 0:00 (samsredir) proxy 19160 0.0 0.4 5080 1640 ? Ss 12:40 0:00 (samsredir) proxy 19161 0.0 0.4 5080 1636 ? Ss 12:40 0:00 (samsredir) proxy 19162 0.0 0.4 5080 1636 ? Ss 12:40 0:00 (samsredir) proxy 19163 0.0 0.4 5080 1640 ? Ss 12:40 0:00 (samsredir) proxy 19164 0.0 0.0 1616 316 ? Ss 12:40 0:00 (unlinkd)
Если картина идентична, то значит все запустилось хорошо.
Далее идем настраивать наш SAMS, это уже делается через веб-интерфейс, вбиваем в браузере адрес нашего прокси, у нас он был 192.168.0.237/sams, и видим страницу приглашения ввод и пользователя и пароля.
Но прежде чем мы это сделаем мы должны исправить небольшой баг этой системы, а именно в связи с выходом PHP5.3, немного некорректно отображаются страницы настройки, вернее совсем не отображаются. Но это операция не сложная, просто правим два файла:
/usr/local/share/sams/src/configtray.php
/usr/local/share/sams/src/webconfigtray.php
переименовываем GetHostName в GetHostNameSams и все заработало.
Дальше я буду на примере маленьких скриншотов показывать, что и где нужно править, чтобы все работало, как нам надо. Приглашение, по умолчанию логин: Admin, пароль: qwerty
Следующий шаг, настройка веб-интерфейса, выставляем следующие параметры:
Окно администрирование SAMS не влезло в ширину экрана, поэтому опишу текстом, авторизацию устанавливаем IP, файл перенаправления запроса 192.168.0.237/sams/icon/classic/blank.gif, путь к каталогу, где лежат файлы запрета запроса 192.168.0.237/sams/messages, редиректор встроенный SAMS, и последнее сохранять данные о трафике в базе за последние 12 месяцев.
Далее переходим к настройке шаблонов, удаляем все, чтобы нам ничего не мешало и создаем новый.
Далее добавляем пользователя и связываем его c нашим шаблоном
Далее запускаем демон samsd: /etc/init.d/samsd start. И реконфигурируем SQUID.
После этого, если пользователю прописать прокси в браузере все начинает отлично работать, но так как нам это не удобно будет делать на всех пользователях, так что применим классическую админскую хитрость, заворот HTTP трафика на порт прокси сервера.
iptables -t nat -A PREROUTING -p tcp —dport 80 -j REDIRECT —to-ports 3128
Вот так вот у нас получился прокси, с удобным веб-интерфейсом, возможно кто-то меня обвинит в плагиате, мол уже 100 раз это все было, но сразу хочется отметить, что как я и сказал в самом начале статьи, этот вариант настройки прокси для ленивых, т.к. практически все вкусности SQUID, такие как ограничения по трафику, создание списков доступа, разрешенных доменов, запрет на скачивание, можно получить из веб-настройки. А также мы легко получаем систему просмотра статистики, которой может воспользоваться любой пользователь Вашей организации, зайдя на страничку под своим логином. Конечно остается сложность с учетом трафика торрентов, почты и другого не 80 порта, и на это тоже есть свое решение, которое очень хорошо впишется в общую картину.
Если буду формироваться вопросы, милости прошу, обсудим, все остальные тонкости настройки
Настройка Squid для начинающих | Блог Линуксоида
Содержание статьи
Вступление
Многие администраторы сталкиваются с проблемой разумного использования времени и канала для выхода в сеть Интернет, задумываются о возможности экономии времени и денег, об ограничении скорости для отдельных видов файлов или личностей, в конце концов об экономии всего, что связано с теми или иными аспектами выхода в глобальную сеть. Я, с помощью этой статьи, попытаюсь наглядно и доходчиво объяснить о настройках самого распространенного прокси сервера — прокси сервера Squid.
Начальные настройки squid для доступа пользователей
Мы не будем вдаваться в процесс установки прокси сервера Squid, а перейдем сразу к его настройке. Самое элементарное, что нам после установки следует сделать, так это разрешить доступ пользователям нашей локальной сети. Для этого служат параметры http_port, http_access. Кроме этого, мы заведем acl (список контроля доступа) для нашей локальной сети.
И так, http_port нам нужен постольку, поскольку наш прокси сервер Squid должен обслуживать только компьютеры нашей локальной сети и быть невидимым для внешнего мира, дабы исключить возможность «плохим людям» внешней сети воспользоваться нашим каналом или трафиком, а в случае, если будут обнаружены «дыры» в коде прокси сервера Squid, воспользоваться ими.
Параметр http_access используется для разрешения или запрещения доступа к определенным ресурсам, определенным адресам либо с определенных адресов, к определенным сайтам, по определенным протоколам, портам и всему тому, что непосредственно указано с помощью Acl (списков контроля доступа).
Таблица N 1. Некоторые подсети.|Диапазон адресов |Полная форма |Краткая форма
192.168.0.1-192.168.0.254 192.168.0.0/255.255.255.0 192.168.0.0/24
192.168.20.1-192.168.20.254 192.168.20.0/255.255.255.0 192.168.20.0/24
192.168.0.1-192.168.254.254 192.168.20.0/255.255.0.0 192.168.20.0/16
10.0.0.1-10.254.254.254 10.0.0.0/255.0.0.0 10.0.0.0/8
Предположим, что у Вас сеть с адресами от 192.168.0.1 до 192.168.0.254, тогда добавим новый Acl (см. таблицу N1):acl LocalNet src 192.168.0.0/24
Предположим, что у Вас прокси сервер Squid расположен по адресу 192.168.0.200 на порту 3128, тогда пишем в файле конфигурации:http_port 192.168.0.200:3128
Следующим нашим действием будет запрет использования нашего прокси сервера, кроме как пользователями нашей локальной сети:http_access allow LocalNet
http_access deny all
В данном случае слово allow является разрешением, а слово deny запрещением, то есть мы разрешаем доступ к прокси серверу Squid с адресов нашей локальной сети и запрещаем доступ всем остальным. Будьте внимательны, указывая http_access, так как Squid использует их в порядке указания Вами.
Изучаем acl (списки контроля доступа)
Система управления доступом в прокси сервере Squid является очень гибкой и обширной. Она состоит из элементов со значениями и списков доступа c указанием allow (разрешение) или deny (запрещение).
Формат Acl следующий:acl имя элемент список
Формат списка доступа:http_access указание имя_acl
Мы рассмотрим некоторые элементы, которые позволяет использовать прокси сервер Squid, конечно же с примерами:
* acl имя src список
С помощью этого элемента (src) мы указываем IP-адрес источника, то есть клиента от которого пришел запрос к нашему прокси серверу. В следующем примере мы разрешим Васе Пупкину (Pupkin) и отделу программирования (Progs) доступ к нашему прокси серверу, а всем остальным запретим:acl Progs src 192.168.0.1-192.168.0.9
acl Pupkin src 192.168.0.10
http_access allow Progs
http_access allow Pupkin
http_access deny all
* acl имя dst список
Данный элемент (dst) указывает IP-адрес назначения, то есть IP-адрес того сервера, доступ к которому желает получить клиент прокси сервера. В следующем примере мы запретим Васе доступ к подсети 194.67.0.0/16 (к примеру, в ней находится тот же aport.ru):acl Net194 dst 194.67.0.0/16
http_access deny Pupkin Net194
* acl имя dstdomain список
С помощью этого элемента (dstdomain) мы указываем домен, доступ к которому желает получить клиент прокси сервера. В следующем примере мы запретим Васе доступ к варезным сайтам nnm.ru и kpnemo.ru:acl SitesWarez dstdomain .nnm.ru .kpnemo.ru
http_access deny Pupkin SitesWarez
В случае, если будет необходимо указать домен источника, то используйте srcdomain.
* acl имя [-i] srcdom_regex список
* acl имя [-i] dstdom_regex список
Данные элементы отличаются от srcdomain и dstdomain лишь тем, что в них используются регулярные выражения, которые в данной статье мы не рассматриваем, но пример всё-таки приведём:Acl SitesRegexSex dstdom_regex sex
Acl SitesRegexComNet dstdom_regex \.com$ \.net$
http_access deny Pupkin SitesRegexSex
http_access deny Pupkin SitesRegexComNet
В данном примере мы запретили доступ Пупкину Василию на все домены, содержащие слово sex и на все домены в зонах .com и .net. Ключ -i призван игнорировать регистр символов в регулярных выражениях.
* acl имя [-i] url_regex список
С помощью этого элемента (url_regex) мы указываем шаблон регулярного выражения для URL. Пример указания файлов с расширением avi, начинающихся на слово sex:acl NoAviFromSex url_regex -i sex.*\.avi$
В случае, если Вы желаете указать шаблон только для пути URL, то есть исключая протокол и имя хоста (домена), то используйте urlpath_regex. Пример для указания музыкальных файлов:acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$
* acl имя_acl port список
Указание номера порта назначения, то есть порта, к которому желает подключится клиент нашего прокси сервера. Как пример, запретим всем использование программы Mirc через наш прокси сервер:Acl Mirc port 6667-6669 7770-7776
http_access deny all Mirc
* acl имя_acl proto список
Указание протокола передачи. Как пример, запретим вышеупомянутому Васе использование протокола FTP через наш прокси сервер:acl ftpproto proto ftp
http_access deny Pupkin ftpproto
* acl имя_acl method список
Указание метода http запроса клиентом (GET, POST). Возьмем ситуацию, когда следует запретить Васе Пупкину просматривать его почту на сайте mail.ru, но при этом разрешить прогуливаться по сайту без запретов, то есть запретить Васе возможность войти в свой почтовый ящик через форму входа на сайте:acl SiteMailRu dstdomain .mail.ru
acl methodpost method POST
http_access deny Pupkin methodpost SiteMailRu
Ограничения пользователей
Достаточно часто в нашей стране возникает ситуация, что канала доступа в глобальную сеть Интернет на всех пользователей не хватает и возникает желание дать каждому по максимуму, но при этом не дать каналу «загнуться» из-за любителей позагружать файлы. Средства прокси-сервера Squid позволяют этого добится несколькими путями:- первый путь это оптимизация кеширования объектов;
- второй - это ограничение по времени определенных пользователей, что не
совсем корректно;
- третий путь заключается в ограничении скорости для определенных типов
файлов, пользователей и всего того, что определено нами через Acl.
Ограничения по времени
Ограничить пользователей по времени можно следующим образом: acl имя time дни чч:мм-ЧЧ:ММ
Где день: M — Понедельник, T — Вторник, W — Среда, H — Четверг, F — Пятница, A — Суббота, S — Воскресенье.
При этом чч:мм должно быть меньше чем ЧЧ:ММ, то есть можно указать с 00:00-23:59, но нельзя указать 20:00-09:00.
Давайте запретим всё тому же Васе иметь доступ в сеть Интернет с 10 до 15 часов каждый день:acl TimePupkin time 10:00-15:00
http_access deny Pupkin TimePupkin
Если хочется разрешить Васе пользоваться программой Mirc с 13 до 14 часов, то пишем:acl TimePupkin time 13:00-14:00
http_access allow Pupkin TimePupkin Mirc
http_access deny Pupkin Mirc
А что делать, если необходимо запретить или разрешить в определенные дни недели? Squid также позволяет это сделать, к примеру с 13 до 14 в понедельник и в воскресенье:acl TimePupkin time MS 13:00-14:00
Как видите, ничего сложного в этом нет.
Ограничения по скорости
Регулировка скорости в прокси сервере Squid осуществляется с помощью пулов. Пул — это своего рода бочонок с пивом, в который пиво постоянно заливают до краёв, а клиенты наливают в свои стаканы или иные ёмкости для дальнейшего внутреннего потребления по мере надобности через свои персональные краны.
Пулы регулируются с помощью трех параметров: delay_class, delay_parameters, delay_access. Количество пулов указывается с помощью параметра delay_pools.
Пулы могут быть трёх классов:1. Весь поток пива ограничен одним краном (на всю сеть).
2. Весь поток пива ограничен одним краном, но при этом кран делится на подкранчики (на каждый IP).
3. Весь поток пива ограничен одним краном, но кран делится на подкранчики (на подсети), которые также делятся на мини кранчики (на каждый IP).
Форматы:delay_pools количество_объявленных_пулов
delay_access номер_пула действие имя_acl
действие может быть allow (разрешить) и deny (запретить). При этом, данный пул действует на тех, кому он разрешен и не действует на тех, кому он запрещен. В случае, если указано allow all, а затем deny Pupkin, то на Пупкина данный класс всё-равно подействует, т.к. IP-адрес Пупкина объявленный в acl Pupkin, входит в список адресов acl all. Имейте это ввиду.delay_class номер_пула класс_пула
delay_parameters номер_пула параметры
параметры отличаются в зависимости от класса пула:
для первого класса:delay_parameters 1 байт_на_всю_сеть
для второго класса:delay_parameters 1 на_всю_сеть на_клиента
для третьего класса:delay_parameters 1 на_всю_сеть на_подсеть на_клиента
Для примера, у нас канал на 128 Кбит (в среднем 15 Кбайт в секунду) и мы желаем Васе (Pupkin) дать всего 4 Кбайта/сек (на все про всё один маленький бокальчик), отделу программирования (Prog) дать всего 10 Кбайт/сек и на каждого всего по 5 Кб/сек (всего два бокальчика), всех остальных ограничить в 2 Кбайта/сек на каждого и 10 Кб/сек на всех, а
файлы mp3 (media) ограничить в 3 Кбайта в секунду на всех (на всю бочку пива такой маленький кран). Тогда пишем:acl Prog src 192.168.0.1-192.168.0.9
acl Pupkin src 192.168.0.10
acl LocalNet src 192.168.0.0/255.255.255.0
acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$
delay_pools 4
# сначала ограничим mp3
delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow media
delay_access 1 deny all
# ограничим бедного Васю
delay_class 2 1
delay_parameters 2 4000/4000
delay_access 2 allow Pupkin
delay_access 2 deny all
# ограничим отдел программирования
delay_class 3 2
delay_parameters 3 10000/10000 5000/5000
delay_access 3 allow Prog
delay_access 3 deny all
# а теперь ограничим остальных (второй класс пула)
delay_class 4 2
delay_parameters 4 10000/10000 2000/2000
delay_access 4 deny media
delay_access 4 deny Pupkin
delay_access 4 deny Prog
delay_access 4 allow LocalNet
delay_access 4 deny all
Часто возникает вопрос, а как лучше всего использовать столь малый канал, чтобы он автоматически делился между всеми теми, кто в данный момент что-либо загружает? На этот вопрос имеется однозначный ответ — средствами прокси сервера Squid этого сделать не возможно, но всё-таки кое-что предпринять можно:
delay_class 1 2
delay_parameters 1 -1/-1 5000/15000
delay_access 1 allow LocalNet
delay_access 1 deny all
Таким образом мы выделяем на всю нашу сеть и на подсети максимальный канал (-1 означает неограниченность), а каждому пользователю даем скорость максимум в 5 Кб/сек после того, как он скачает на максимальной скорости первые 15 Кбайт документа. Таким образом клиент не съест весь канал, но достаточно быстро получит первые 15 Кбайт.
Оптимизируем кеширование объектов в squid
Существует множество типов файлов, которые обновляются не достаточно часто, чтобы позволить прокси серверу реагировать на заголовки от вебсерверов о том, что данный объект не подлежит кешированию либо он был на удивление только что изменён. Это довольно частая ситуация. Для разрешения таких ситуаций призван параметр refresh_pattern в файле
настроек прокси-сервера Squid, но полностью с формулами и т.п. мы его рассматривать не будем.
Формат:refresh_pattern [-i] строка МИНВ процент МАКСВ параметры
Данный параметр используется для того, чтобы определить возраст объекта (считайте файла) в кеше, следует ли его обновлять или нет.
МИНВ (минимальное время) — время в минутах, когда объект, имеющийся в кеше считается свежим.
МАКСВ (максимальное время) — максимальное время в минутах, когда объект считается свежим.
Параметры — это один или несколько следующих параметров:- override-expire - игнорировать информацию об истечении свежести объекта и использовать МИНВ.
- override-lastmod - игнорировать информацию о дате изменения файла и использовать МИНВ.
- reload-into-ims - вместо запроса клиентского запроса "не кешировать документы" (no-cache) посылать запрос "Если изменен с" (If-Modified-Since)
- ignore-reload - игнорировать запросы клиентов "не кешировать документы" (no-cache) или "перезагрузить документ" (reload).
И так, мы подошли к самом главному. Ну, так какие же типы файлов реже всех обновляются? Как правило, это разнообразные музыкальные файлы и картинки. Установим свежесть объектов, для этого для картинок и музыкальных файлов укажем, скажем так для примера, целых 30 дней (43200 минут):refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.zip$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.tar$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.tgz$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.exe$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.prz$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.ppt$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.inf$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.swf$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire
Показанные Выше настройки лишь пример, для того, чтобы была понятна суть. Теперь можете проверить эффективность своего прокси сервера, она уж точно возрастет.
Заключение
Прокси сервер Squid не является одним лишь распространенным прокси сервером, существуют и другие. Но как показывает статистика, большинство используют именно этот прокси сервер, но при этом всё равно у многих начинающих возникают проблемы с настройкой. С помощью этой статьи я попытался хоть немного раскрыть для обширных масс некоторые функции прокси сервера Squid.
Взято тут
Быстрая настройка Squid
главная
— Статьи — Linux, FreeBSD — Прокси-сервер Squid
Дата обновления: 05.03.2020
Теги: Настройка сервера Squid Настройка прокси
Ниже приведен пошаговый пример настройки Squid. Комментарии почти не ставил. Если надо подробнее, смотрите статьи «Настройка Squid» и «Прозрачный Squid». Поехали!
1. cd /usr/ports/www/squid/
2. make config
3. make
4. make install
5. Далее в /usr/local/etc/squid/squid.conf добавить следующее (пример):
http_port 3128
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/var/cache 800 16 256
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_effective_user nobody
cache_effective_group nobody
error_directory /usr/local/etc/squid/errors/Russian-1251
visible_hostname proxy.your_domain
dns_nameservers 127.0.0.1 # Через пробел можно записать еще и ДНС прова.
logfile_rotate 10
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl my_network src 192.168.0.0/24
http_access allow my_network
http_access deny all
http_reply_access allow all
6. Создать директории: mkdir /usr/local/squid/var/ mkdir /usr/local/squid/var/cache mkdir /usr/local/squid/var/logs
7. chown -R squid /usr/local/squid/
8. chgrp -R squid /usr/local/squid/
9. chmod -R ug=rwx /usr/local/squid/
10. Запускаем squid: /usr/local/sbin/squid -z
11. /usr/local/sbin/squid
Все, настройка Squid завершена.
Авторизуйтесь для добавления комментариев!
Как установить Squid 3.5 в Windows — Веб-фильтр для вашей сети
Примечание
Пакет
Squid 3.5 собран с использованием Cygwin. Из-за этого он имеет некоторые ограничения (например, Cygwin не поддерживает внешние аутентификаторы и т. Д.). Если вам нужны более сложные сценарии в Windows (фильтрация содержимого, аутентификация пользователей, интеграция с Active Directory и т. Д.), Мы рекомендуем использовать полностью настроенное виртуальное устройство для VMware vSphere / ESXi или Microsoft Hyper-V.
В этом посте объясняется, как легко установить Squid Server v.3.5.x в Microsoft Windows. Мы будем использовать MSI, предоставленный Diladele B.V., который можно загрузить по следующей ссылке http://squid.diladele.com. Этот MSI — результат работы команды Diladele по продвижению Squid в сообществе Windows. Он основан на серверном компоненте Cygwin Squid. Установщик представляет собой проект с открытым исходным кодом, размещенный на GitHub, поэтому, если вы хотите внести свой вклад или у вас возникнут проблемы с его использованием, обратитесь в службу поддержки (at) diladele.com.
Фактический процесс установки очень прост и состоит из следующих шагов.
Настройка на стороне сервера окончена. Теперь давайте настроим клиентскую часть. Для этого вы должны указать прокси в вашем браузере, например, для Internet Explorer, перейдите в Инструменты (Alt + X) / Свойства обозревателя и укажите IP-адрес компьютера, на котором запущен Squid. Например, в нашей тестовой лаборатории IP-адрес 192.168.0.16 (вы можете определить этот адрес, выполнив команду ipconfig / all на компьютере, где установлен Squid).
Нажмите ОК, чтобы закрыть настройки LAN, а затем — Свойства обозревателя. Теперь ваш браузер использует Squid в качестве прокси. В следующем посте мы увидим, как легко настроить Squid для веб-фильтрации HTTP- и HTTPS / SSL-соединений в Windows.
Примечание
По умолчанию squid.conf не работает «из коробки» на виртуальных машинах по умолчанию, подготовленных в средах Rackspace и Amazon EC2 из-за брандмауэра Windows. Пожалуйста, вручную добавьте новое правило в брандмауэр Windows, чтобы разрешить входящие соединения на порт 3128 с правильной маской подсети (т.е.е. 10.0.0.0/8)
.
Как установить и настроить прокси-сервер Squid в Windows — Техническая энциклопедия
Скачать Squid
https://drive.google.com/file/d/0B0l6yQVNgP4AcHdPWXJtV2MxdGs/edit?pageId=111912369470250385148
Чтобы переименовать файлы, перейдите на
C: \ squid \ etc
cachemgr.conf.default mime.conf.default squid.conf.default squid_radius_auth.conf.default
Переименуйте файлы в
cachemgr.conf mime.conf squid.conf squid_radius_auth.conf
Открыть командную строку
CD C: \ squid \ sbin
кальмар -i
кальмар -z
веб-страниц кеша прокси будут храниться здесь
Запустить сервис Squid
Зайдите в сервисы и запустите сервис
Проверить в диспетчере задач, запущена ли служба
Убедитесь, что прокси-сервер Squid работает или не работает
Настройка параметров прокси-сервера Internet Explorer на локальном хосте
Адрес: localhost Порт: 3128
По умолчанию Squid запрещает доступ в Интернет
Настройка прокси-сервера Squid для доступа в Интернет
Открыть кальмаров.conf файл at
C: \ squid \ etc
искать
# И напоследок запретить всем остальным доступ к этому прокси http_access отклонить все
Изменить на
http_access разрешить все
Выполните поиск, чтобы изменить размер кэшируемых веб-страниц (по умолчанию 100 МБ)
# По умолчанию: # cache_dir ufs c: / squid / var / cache 100 16 256
Внесите изменения (не забудьте удалить #) (новый размер — 10 ГБ)
# По умолчанию: cache_dir ufs c: / squid / var / cache 10000 16 256
Перезапустить службу
Проверьте, есть ли у вас доступ в Интернет
Конфигурация клиента
Firefox
Здесь указан IP-адрес прокси-сервера
(192.168.1.50) Порт 3128
Нравится:
Нравится Загрузка …
Связанные
.Скачать установщик Windows
Squid | SourceForge.net
Полное имя
Телефонный номер
Должность
Промышленность
Компания
Размер компании
Размер компании: 1 — 2526 — 99100 — 499500 — 9991,000 — 4,9995,000 — 9,99910,000 — 19,99920,000 или более
Получайте уведомления об обновлениях для этого проекта.Получите информационный бюллетень SourceForge.
Получайте информационные бюллетени и уведомления с новостями сайта, специальными предложениями и эксклюзивными скидками на ИТ-продукты и услуги.
Да, также присылайте мне специальные предложения о продуктах и услугах, касающихся:
Программное обеспечение для бизнеса
Программное обеспечение с открытым исходным кодом
Информационные технологии
Программирование
Оборудование
Вы можете связаться со мной через:
Электронная почта (обязательно)
Телефон
смс
Я согласен получать эти сообщения от SourceForge.сеть. Я понимаю, что могу отозвать свое согласие в любое время. Пожалуйста, обратитесь к нашим Условиям использования и Политике конфиденциальности или свяжитесь с нами для получения более подробной информации.
Я согласен получать эти сообщения от SourceForge.net указанными выше способами. Я понимаю, что могу отозвать свое согласие в любое время. Пожалуйста, обратитесь к нашим Условиям использования и Политике конфиденциальности или свяжитесь с нами для получения более подробной информации.
Для этой формы требуется JavaScript.
Подписывайся
Кажется, у вас отключен CSS.Пожалуйста, не заполняйте это поле.
Кажется, у вас отключен CSS.
Пожалуйста, не заполняйте это поле.
.
Squid для Windows 10 — Бесплатная загрузка и обзоры программного обеспечения
Папирус теперь Кальмар! Дополнительная информация: http://goo.gl/Bc3PYc
Делайте рукописные заметки естественным образом на своем устройстве Windows! В Squid вы можете писать так же, как на бумаге, используя активное перо, пассивное перо или палец. Делайте разметку в PDF-файлах для заполнения форм, редактирования / оценки документов или подписания документов. Импортируйте изображения, рисуйте фигуры и добавляйте печатный текст в свои заметки. Быстро выбирайте, копируйте / вставляйте и перемещайте содержимое между страницами и заметками.Организуйте свои заметки в записных книжках и повысьте продуктивность. Экспортируйте заметки в виде PDF-файлов или изображений, а затем поделитесь ими с другими или храните в облаке!
Squid является векторным — ваши заметки будут красивыми при любом уровне масштабирования и на любом устройстве. Вы можете быстро стирать целые буквы и слова с помощью инструмента «Ластик» или только части слов с помощью настоящего инструмента «Ластик». Инструмент выделения позволяет вам изменять цвет и толщину вашего почерка и даже изменять размер рисунка в любое время без потери качества.
Squid использует особые преимущества активных перьев на соответствующих устройствах, чтобы обеспечить естественный, чувствительный к давлению почерк. Просто напишите ручкой и сотрите пальцем!
Squid разработан как мощный и простой в использовании, позволяющий делать заметки быстро и эффективно.
ПРЕМИУМ-ФУНКЦИИ
— Импорт PDF — легко писать, рисовать и размечать PDF-файлы со всеми мощными функциями, доступными со стандартной заметкой. Также включает в себя инструмент выделения!
— Набор инструментов — добавляет инструмент выделения, «настоящий» инструмент ластика (стирание частей мазков), инструменты формы и инструмент текста.Также разблокирует поиск по почерку (в настоящее время недоступен на Windows Phone).
— Облачные службы — Резервное копирование / восстановление и экспорт заметок в формате PDF в облачные хранилища Dropbox и Box.
Нам хотелось бы услышать ваши отзывы и пожелания на сайте http://feedback.papyrusapp.com.
Если вы обнаружите какие-либо ошибки, напишите нам по адресу [email protected] с описанием ошибки.
Веб-сайт: http://squidnotes.com
Twitter: https://twitter.com/steadfastinnov
Facebook: http: // facebook.com / SteadfastInnovation
Google+: http://google.com/+PapyrusApp
Youtube: http://youtube.com/SteadfastInnovation
Эти функции доступны через покупку в приложении. Ваша поддержка помогает нам внедрять инновации!
.