Настройка WPAD (Web Proxy Auto-Discovery)

Недавно столкнулся с настройкой Web Proxy Auto-Discovery и решил опубликовать статью, по которой можно легко и быстро настроить WPAD в домене Active Directory.

Как работает WPAD (_DNS-обнаружение_)?
Если у вас включена настройка «автоматическое определение настроек», то при подключении к Internet браузер попытается найти сервер wpad.<имя-вашего-домена>. Если оно не обнаружено, то браузер будет добавлять «wpad» ко всем именам доменов уровнем выше (вплоть до 3-го уровня). Например, если клиент находится в домене a.b.microsoft.com, то Internet Explorer будет искать сервера: wpad.a.b.microsoft.com

wpad.b.microsoft.com

wpad.microsoft.com

Если один из серверов найден, то браузер в корневом каталоге будет пытаться обнаружить файл wpad.dat . Если этот файл существует, то он будет использован в качестве скрипта при подключении к Internet (PAC-файл).
Как настроить WPAD?
# Создайте стандартный файл Proxy Auto-Config (PAC).

Пример файла:

function FindProxyForURL(url, host)
{
// If URL has no dots in host name, send traffic direct.
if (isPlainHostName(host))
return "DIRECT";
// If specific URL needs to bypass proxy, send traffic direct.
if (shExpMatch(host,"*domain.local*") ||
shExpMatch(host,"*domain2.local*") ||
shExpMatch(host,"mail.domain.ru") ||
shExpMatch(host,"ftp.domain.ru") ||
shExpMatch(host,"192.168.*") ||
shExpMatch(host,"127.*") ||
dnsDomainIs(host,".domain.local") )
return "DIRECT";
// All other traffic uses below proxies, in fail-over order.
return "PROXY 192.168.xxx.xxx:8080";
}

# Сохраните этот файл в корневом каталоге вашего web-сервера (из вашего домена) под именем wpad.dat

При необходимости вы можете использовать HTTP редирект, и сохранить этот файл где-либо еще:

Redirect /wpad.dat http://other.server.com/proxy.pac

# Убедитесь, что этот файл Вы можете открыть в браузере по адресу:

http://www.<имя-вашего-домена>/wpad.dat , например:

http://www.web.server.ru/wpad.dat

# Добавьте следующую строку в файл mime.types на вашем сервере (если у вас на сервере есть уже такая строка для pac файлов, добавьте к ней «dat»):

application/x-ns-proxy-autoconfig   .dat после чего перегрузите ваш web-сервер, чтобы эта настройка применилась.

# Создайте запись DNS на вашем сервере, которая позволит распознавать имя wpad.<имя-вашего-домена> в IP-адрес вашего web-сервера (дополнительное имя web-сервера, alias). Или же вы можете использовать файл hosts вашего компьютера, для создания связи: wpad.your.domain.name <IP-address your web-server>

# В Internet Explorer 5 или выше, меню «Tools» («Сервис»), «Internet Options» («Свойства обозревателя»), «Connections» («Подключение»), «Settings» or «LAN Settings» («Настройка сети» или «Настройка локальной сети»), установите только «Use Automatic Configuration Script» («Использовать сценарий автоматической настройки») и пропишите там адрес, где находится ваш файл wpad.dat, например: http://wpad.your.domain.name/wpad.dat

# Убедитесь, что все работает с использованием вашего скрипта (файла wpad.dat). Не переходите к следующему пункту до тех пор, пока не убедитесь, что все функционирует корректно…

# Теперь вернитесь к экрану настройки конфигурации proxy, описанному в шаге 6, и отключите все флажки за исключением «Automatically Detect Settings» («Автоматическое определение настроек»). Если этот флажок был включен, то выключите его, перегрузите браузер, и снова включите.Теперь перезапустите Internet Explorer.

Дополнение
В DNS-сервере кроме записи A или CNAME необходимо создать запись SRV:_tcp._wpad.domain.local

Дополнение 2

Microsoft DNS-сервер по умолчанию блокирует DNS-запись WPAD. Для её разблокировки необходимо установить Support tools и выполнить команду:

dnscmd /config /enableglobalqueryblocklist 0 — подробнее тут

Запись опубликована в рубрике IT с метками , . Добавьте в закладки постоянную ссылку.

19 комментариев на «Настройка WPAD (Web Proxy Auto-Discovery)»

  1. lioncub говорит:

    Сделал перевод официальной информации и обобщил настройку WPAD:
    http://ubuntu-faq.blogspot.ru/2013/11/wpad-proxy-pac.html

  2. Mike говорит:

    А подскажите, пожалуйста, как сделать так что бы сначала обработался локальный PAC и в случаи некоторого условия пошел редирект на другой PAC в домене?

  3. Михаил говорит:

    Необходимо скрыть свой ip.. пробовал, вписывал ip других стран, порт нажимал ok. Вроде все нормально. Но проверяю свой ip, вижу что такой же…
    Windows 7 Explorer 9 Помогите, может поделетесь ссылкой там где полная инструкция оп использованию прокси серверов.. Хотя я сам уже по инструкциям все делал, ничего не получается..
    Спасибо

  4. Igor говорит:

    Здравствуйте, спасибо за статью. Подскажите пожалуйста, как будет работать IE дома, когда не сможет найти wpad ???

  5. Fray говорит:

    Хм, ну по идее должно работать… Ошибок нет?

  6. Никита говорит:

    Подскажите пожалуйста, а как создать то такую запись?
    SRV:_tcp._wpad.domain.local
    то, что мы выбираем тип создать другой тип записи и выбираем SRV, понятно, не понятно как дальше?

  7. Omaxs говорит:

    я про глобальный список блокировки, разве он не с 2008?

  8. OmaXs говорит:

    не увидел, что это всё справедливо начиная с w2k8

  9. alex_cloud говорит:

    Стоит дополнить, что шиндовс по умолчанию блокирует dns-запись wpad.
    Для отключения этой блокировки придется ставить Windows support tools, затем выполнить «dnscmd /config /enableglobalqueryblocklist 0″(ноль)
    Подробнее

    P.S. Извините, что не в одном посте, ибо только что вспомнил.

  10. alex_cloud говорит:

    Спасибо за статью!
    Вы очень мне помогли.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.