IT-Бложек

Настройка 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 — подробнее тут

Exit mobile version