Pac url ������ linux
Возникла необходимость автоматически настраивать прокси для всех компьютеров и не бегать к ним, если, например, поменялось что-то на прокси сервере. Для этого существует технология Proxy Auto Configuration (PAC).
Создание файла автоконфигурации прокси
Большинство браузеров можно автоматически сконфигурировать для использование прокси. Данная возможность реализуется при помощи Proxy Auto Configuration (PAC). PAC — файл, в котором содержится только одна функция JavaScript — FindProxyForURL ().
Создадим файл будущего скрипта:
И немного ознакомимся с основными понятиями:
Теперь необходимо указать нужные настройки для браузеров. Возможен выбор из двух вариантов, используйте тот, который вам удобнее, например, я использую второй вариант.
Web Proxy Auto-Discovery protocol
Подготовка Apache
Необходимо, чтобы Apache выдавал скрипт при запросе. Для этого надо разрешить обращаться к файлам типа .dat:
1. Добавим в httpd.conf дерективу
WPAD метод основанный на DNS
Механизм WPAD просто строит цепочку известных URL, начинающихся с доменного имени машины и оканчивающего коротким суффиксом wpad.
Например, доменое имя было example.com., то URL будет следующий:
Таким образом, браузер будет пытатся загрузить PAC скрипт известного доменного URL.
Для реализации данного метода сделаем следующее:
1. Создим в DNS имя и присвоим ему IP
Например, создаем запись wpad.example.com с IP адресом 192.168.1.12 или создаем alias на существующий хост (что удобнее).
2. Создадим в Apache виртуальный хост с именем wpad.example.com
3. Скопируем скрипт wpad.dat в директорию виртуального хоста
Второй метод WPAD, основанный на DHCP
WPAD просто выдает PAC скрипт с выбранный номером 252 в «аренду» запросившему IP. Браузер получает URL скрипта и просто качает его по ссылке.
1. Добавим в /etc/dhcp/dhcpd.conf следующие строчки.
2. Перезапустите DHCP сервер.
Небольшой нюанс — у DHCP приоритет выше, чем у DNS, как следствие — гораздо быстрее. И можно вместо имени сайта указать его IP, в этом случае отсутствуют расходы времени на преобразование адреса в имя, что добавляет скорости.
Теперь настроим браузер. В параметрах программы нужно указать определение прокси-сервера:
1) В браузере Explorer
Сервис -> Свойства обозревателя -> Подключения -> Настройка сети
поставим галочку напротив опции «Автоматическое определение параметров»
или поставим галочку напротив опции «Использовать сценарий автоматической настройки» и в поле «Адрес» напишем http://wpad.example.com:80/wpad.dat
2) В браузере Opera
Настройки -> Дополнительно -> Сеть -> Прокси-серверы
поставим галочку напротив опции «Автоматическая конфигурация прокси-сервера» и в поле «Адрес» написать http://wpad.example.com:80/wpad.dat
3) В браузере Firefox
Инструменты->Настройки->Дополнительно->Сеть->Соединение(Настроить)
выберем опции «Автоматически определять настройки прокси для этой сети»
или выберем опцию «URL автоматической настройки сервиса прокси» и в поле «Адрес» напишем http://wpad.example.com:80/wpad.dat
Нажмите кнопку Обновить, чтобы загрузить настройки.
В версии 3.0.1 нормально не работает «Автоматически определять настройки прокси для этой сети» или нужно дополнительно по гуглить =).
Отдельное спасибо Andy за помощь в редактировании статьи =)
размещено: 2008-07-31,
последнее обновление: 2008-08-01,
автор: Raven2000
Хорошо бы упомянуть про вариант fallback:
«PROXY IP_proxy:3128; DIRECT»
Помогает, если прокси лежит.
Баян, но полезный. Почти всё в одном месте. Спасибо.
Kolesya, 2008-08-01 в 8:25:55
Если расширение файлу поставить wdat.pac апач перенастраивать не придется 🙂
Sash, 2008-08-01 в 9:12:43
Хм.. я вот не понимаю зачем это вообще нужно, если прокси как правило юзается в больших офисах, где 99% стоит AD. Используя GPO можно изменять адрес прокси не поднимая задницы со стула, да и правила ipfw fwd тоже никто не отменял на шлюзе из freebsd. нафига козе бойан? или я что-то не понимаю?
Не зацикливайтесь на продуктах M$
Во многих больших и крупных конторах за стандарт идёт Firefox
Shemmy, 2008-08-01 в 10:11:06
Есть уточнение. В автоконфигурирования по DHCP надо применять значение
option local-pac-server «http://wpad.example.com:80/wpad.dat\000»;
Internet Explorer отрезает последний символ в строке.
И как показала практика автоконфигурирование по DHCP работает только для Internet Explorer
Antonio, 2008-08-01 в 10:16:24
Как-то тоже настраивал, но не пошло, потому как только для IE, а это можно задать и в групповых политиках.
to hsw
см в конце все на return «DIRECT»; разве не то?
to Kolesya
Самое интересное, что я при выпуске статьи это урезал
А было в статье еще
+ AddType application/x-ns-proxy-autoconfig .pac
+ Redirect / wpad.dat / proxy.paс
+ ln -s wpad.dat proxy.paс
to Sash
У меня так и есть на работе =) НО в домашней сети, где каждый сам ПК по себе и нет серверов маздая то это самое то и без разговоров =) Да и не забудь, бывает и шлюзов с фри нет и прокси на маздае нет и бессмысленно ставить AD =)
Да и у каждого от Сафари до Мозиллы
to Shemmy
пробовал с \000 и без разницы небыло замеченно тестил на IE, Firefox, Opera так что я это из статьи выкинул тк смысла не увидел (может не прав =) еще раз потестю).
Да и на счет IE про автоконфиг по DHCP ты прав в самую точку, но я в статье это указал В Опере авто по DHCP нет, а в Firefox нормально не пашет, что и написал
to Antonio
Ты не прав это не только для IE, а для всех грамотных браузерах работает и на счет AD писал для Kolesya выше
Shemmy, 2008-08-01 в 12:07:18
to Raven2000
IE кеширует настроки прокси. в Групповой политике есть настройка отключающая кеширование.
to Raven2000
Нет, не то.
Если сработает правило с «PROXY: . «, а прокси не ответит, браузер покажет ошибку.
Если будет «PROXY: . ; DIRECT» — через таймаут пойдёт DIRECT-ом.
Можно указать несколько проксей в порядке уменьшения приоритета.
to Shemmy & hsw
Fixed
Что еще можно добавить?
to Raven2000
упс. retrurn «. «;
«;» в конце не хватает.
Блин фсе %0 сказывается последний день на работе и в отпуск =)
savio, 2008-08-02 в 21:47:35
а не проще сделать «прозрачный» прокси на серваке? на стороне юзера вообще ничего делать не нужно
С автонастройкой в IE тоже ничего делать не надо.
Она включена по умолчанию.
Да, и прозрачный прокси для https, ftp и socks сделать проблематично.
Смотрите ширше. Включение wpad.
.com позволяет загонять клиентов с реальными адресами на proxy провайдера.
Dima, 2008-08-03 в 15:38:58
Не зацикливайтесь на продуктах M$
Во многих больших и крупных конторах за стандарт идёт Firefox
Хотел бы я увидеть те большое компании которые используют Firefox за стандарт 🙂
К сожаление, большинство прог заточенно как раз по ИЕ.
ostrik, 2012-07-06 в 12:55:09
Перед тем как пользоваться протоколом WPAD, обратите внимание на эту статью — http://www.securitylab.ru/analytics/379619.php
после добавления:
AddType application/x-ns-proxy-autoconfig .dat
файл не открывается а пытается скачиваться
зато без неё всё намана 😉
Ховди ttys, ты погляди на сам формат mime:
# MIME type           Extensions
# application/3gpp-ims+xml
# application/activemessage
application/andrew-inset       ez
# application/applefile
application/applixware         aw
application/atom+xml         atom
application/atomcat+xml         atomcat
Добавляй без точки:
# Add WPAD type
AddType application/x-ns-proxy-autoconfig dat
2 Юрий,
я забил на это т.к. решил отказаться от прокси и потушил сквид 😉
но спс за подсказку =)
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540 2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма 2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ 2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией. 2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat 2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp. 2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл. 2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления… 2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий. 2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp. 2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG 2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк 2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты. 2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации. 2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =) 2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы — ZFS 2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
|
Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
Источник
Автоконфигурация прокси — Proxy auto-config
А автоконфигурацию прокси-сервера ( PAC ) определяет файл как веб — браузеры и другие агенты пользователей могут автоматически выбрать соответствующий прокси — сервер (метод доступа) для извлечения заданного URL .
РАС файл содержит JavaScript функцию FindProxyForURL(url, host) . Эта функция возвращает строку с одной или несколькими спецификациями метода доступа. Эти спецификации заставляют пользовательский агент использовать конкретный прокси-сервер или подключаться напрямую.
Множественные спецификации обеспечивают откат, когда прокси не отвечает. Браузер извлекает этот файл PAC перед запросом других URL-адресов. URL-адрес файла PAC либо настраивается вручную, либо определяется автоматически протоколом автоматического обнаружения веб-прокси .
СОДЕРЖАНИЕ
Контекст
Современные веб-браузеры реализуют несколько уровней автоматизации; пользователи могут выбрать уровень, соответствующий их потребностям. Обычно используются следующие методы:
- Автоматический выбор прокси: укажите имя хоста и номер порта, которые будут использоваться для всех URL-адресов. Большинство браузеров позволяют указать список доменов (например, localhost ), которые будут обходить этот прокси.
- Автоконфигурация прокси (PAC): укажите URL-адрес для файла PAC с помощью функции JavaScript, которая определяет соответствующий прокси-сервер для каждого URL-адреса. Этот метод больше подходит для пользователей портативных компьютеров, которым требуется несколько различных конфигураций прокси-сервера или сложные корпоративные настройки с множеством различных прокси-серверов.
- Протокол автообнаружения веб-прокси (WPAD). Позвольте браузеру угадать местоположение файла PAC с помощью запросов DHCP и DNS .
История
Формат файла автоконфигурации прокси был первоначально разработан Netscape в 1996 году для Netscape Navigator 2.0 и представляет собой текстовый файл, который определяет по крайней мере одну функцию JavaScript.
Файл PAC
По соглашению, файл PAC обычно называется proxy.pac . Стандарт WPAD использует файлы wpad.dat . Ожидается, что .pac файл будет содержать как минимум одну функцию:
FindProxyForURL(url, host) , с двумя аргументами и возвращаемым значением в определенном формате: * url — это URL-адрес объекта * host — имя хоста, полученное из этого URL. Синтаксически это та же строка, что и между :// и первой, : или / после нее . * return «. « — это строка подписей в следующем формате ( нотация EBNF , см. примеры ниже):
Для его использования файл PAC публикуется на HTTP-сервере , и пользовательские агенты клиентов получают инструкции использовать его, вводя URL-адрес в настройках прокси-соединения браузера или используя протокол WPAD. URL может также ссылаться на локальный файл , как, например: file:///etc/proxy.pac .
Несмотря на то, что большинство клиентов будут обрабатывать сценарий независимо от типа MIME, возвращаемого в ответе HTTP , для полноты и максимальной совместимости сервер HTTP должен быть настроен для объявления типа MIME этого файла либо application/x-ns-proxy-autoconfig или application/x-javascript-config .
Существует мало свидетельств в пользу использования одного типа MIME перед другим. Однако было бы разумно предположить, что application/x-ns-proxy-autoconfig это будет поддерживаться в большем количестве клиентов, чем application/x-javascript-config было определено в исходной спецификации Netscape, причем последний тип стал использоваться совсем недавно.
Пример
Очень простой пример файла PAC:
Эта функция указывает браузеру получить все страницы через прокси на порт 8080 сервера proxy.example.com . Если этот прокси не отвечает, браузер связывается с веб-сайтом напрямую, без использования прокси. Последний может выйти из строя, если брандмауэры или другие промежуточные сетевые устройства отклонят запросы от источников, отличных от прокси-сервера — обычная конфигурация в корпоративных сетях.
Более сложный пример демонстрирует некоторые доступные функции JavaScript, которые будут использоваться в FindProxyForURL функции:
По умолчанию ключевое слово PROXY означает, что используется прокси, соответствующий протоколу исходного запроса, будь то http, https или ftp. К другим поддерживаемым типам ключевых слов и прокси относятся:
НОСКИ Используйте прокси-сервер SOCKS . HTTP, HTTPS Представлен в более поздних версиях Firefox. Задает прокси-сервер HTTP (S). НОСКИ4, НОСКИ5 Представлен в более поздних версиях Firefox. Задает версию протокола SOCKS.
Ограничения
Кодировка символов PAC
Кодирование сценариев PAC обычно не определено, и разные браузеры и сетевые стеки имеют разные правила кодирования сценариев PAC. В общем, сценарии полностью ASCII PAC будут работать с любым браузером или сетевым стеком. Mozilla Firefox 66 и более поздние версии дополнительно поддерживают сценарии PAC в кодировке UTF-8 .
DnsResolve
Эта функция dnsResolve (и аналогичные другие функции) выполняет поиск в DNS, который может заблокировать браузер на долгое время, если DNS-сервер не отвечает.
myIpAddress
myIpAddress Функция часто сообщалось давать неверные или непригодные результаты, например 192.168.1.128 , IP — адрес локального хоста. Это может помочь удалить в файле хоста системы (например, /etc/hosts в Linux) все строки, относящиеся к имени хоста машины, в то время как строка 192.168.1.1 localhost может и должна остаться.
Безопасность
В 2013 году исследователи начали предупреждать о рисках безопасности, связанных с автонастройкой прокси. Угроза предполагает использование PAC, автоматически обнаруживаемого системой, для перенаправления трафика браузера жертвы на сервер, контролируемый злоумышленником.
Еще одна проблема, связанная с pac-файлом, — это типичная реализация, включающая извлечение открытого текста по протоколу HTTP, которое не включает никаких функций безопасности, таких как подпись кода или веб-сертификаты. Злоумышленник может легко выполнить атаку с использованием спуфинга «человек посередине».
Старые проблемы Microsoft
Кэширование результатов автоконфигурации прокси по имени домена в Microsoft Internet Explorer 5.5 или новее ограничивает гибкость стандарта PAC. Фактически, вы можете выбрать прокси на основе имени домена, но не пути URL-адреса. В качестве альтернативы вам необходимо отключить кеширование результатов автоконфигурации прокси-сервера, отредактировав реестр , процесс, описанный де Бойном Поллардом (указан в дальнейшем чтении ).
Рекомендуется всегда использовать IP-адреса вместо имен доменов хоста в isInNet функции для совместимости с другими компонентами Windows, которые используют конфигурацию Internet Explorer PAC, например .NET 2.0 Framework . Например,
Текущее соглашение заключается в переключении на прямое соединение, когда файл PAC недоступен.
Вскоре после переключения между конфигурациями сети (например, при входе в VPN или выходе из нее) результаты dnsResolve могут быть устаревшими из-за кэширования DNS.
Например, Firefox обычно хранит в кеше 20 записей домена в течение 60 секунд. Это можно настроить с помощью переменных конфигурации network.dnsCacheEntries и network.dnsCacheExpiration . Также может помочь очистка системного кеша DNS , чего можно добиться, например, в Linux с помощью sudo service dns-clean start или в Windows с помощью ipconfig /flushdns .
В Internet Explorer 9 isInNet(‘localHostName’, ‘second.ip’, ‘255.255.255.255’) возвращается true и может использоваться в качестве временного решения.
myIpAddress Функция предполагает , что устройство имеет один адрес IPv4. Результаты не определены, если устройство имеет более одного IPv4-адреса или имеет IPv6-адреса.
Другие
Дальнейшие ограничения связаны с движком JavaScript на локальном компьютере.
Расширенный функционал
Более продвинутые файлы PAC могут снизить нагрузку на прокси-серверы, выполнить балансировку нагрузки, отработать отказ или даже запретить / разрешить перечисление до того, как запрос будет отправлен по сети. Можно вернуть несколько прокси:
Вышеупомянутое сначала попробует прокси1, а если он недоступен, то попробует прокси2.
использованная литература
- ^«Формат файла автоматической настройки прокси-сервера Navigator» . Документация по Netscape Navigator . Марта 1996 года в архив от оригинала на 2007-06-02 . Проверено 5 июля 2013 .
- ^«Файл автоматической конфигурации прокси (PAC) — HTTP | MDN» .
- ^«Ошибка 1492938 — сценарии автонастройки прокси должны загружаться как UTF-8, если они действительны в UTF-8, в противном случае как Latin-1 (байт — это кодовая точка)» . Проверено 10 апреля 2019 .
- ^ Лемос, Роберт (2013-03-06). «Киберпреступники, вероятно, расширят использование прокси-серверов в браузере» . Проверено 20 апреля 2016 .
дальнейшее чтение
де Бойн Поллард, Джонатан (2004). «Автоматическая настройка HTTP-прокси-сервера в веб-браузерах» . Часто задаваемые ответы . Проверено 5 июля 2013 .
Источник