Настройка параметров proxy на клиентах с помощью wpad.dat


Я настоятельно рекомендую использовать автоматическую настройку прокси-сервера в локальной сети. Потому как изменить один скрипт много проще, чем настройку всех браузеров на всех компьютерах. Не говоря уже о массе ПО, для которого попросту нет иных способов задания работы через прокси-сервер. Последней особенностью обладает, например, Google Picasa — ни единой настройки работы через прокси-сервер, но включив сниффер можно понять, почему настройки в интерфейсе приложения были бы совершенно излишни.

Для корректной работы можно, например, разместить файл wpad.dat в корневом каталоге непосредственно прокси сервера proxy.libertine.su и сделать в DNS запись типа CNAME wpad.libertine.su
Примерное содержание файла wpad.dat может быть таким:

function FindProxyForURL(url, host) {
if (shExpMatch(url,»*.libertine.su/*»)) {return «DIRECT»;}
if (shExpMatch(url, «*.libertine.su:*/*»)) {return «DIRECT»;}
if (isPlainHostName(host)) {return «DIRECT»;}

var resolved_ip = dnsResolve(host);

if (isInNet(host, «127.0.0.0», «255.255.255.0») ||
isInNet(host, «10.0.0.0», «255.0.0.0») ||
isInNet(host, «172.16.0.0», «255.240.0.0») ||
isInNet(host, «192.168.0.0», «255.255.0.0»)) {return «DIRECT»;}

if (isInNet(resolved_ip, «127.0.0.0», «255.255.255.0»)) ||
isInNet(resolved_ip, «10.0.0.0», «255.0.0.0») ||
isInNet(resolved_ip, «172.16.0.0», «255.240.0.0») ||
isInNet(resolved_ip, «192.168.0.0», «255.255.0.0»)) {return «DIRECT»;}

return «PROXY proxy.libertine.su:8080; DIRECT»;
}

Разумеется, это наиболее простой пример. Добавив еще несколько строк, можно сделать внешние адреса-исключения, разные прокси-сервера для различных групп рабочих станций внутри или для внешних ресурсов и т.д.
А важность наличия самого прокси-сервера в сети сложно переоценить, учитывая возможность фильтрации вредоносного контента на прокси-сервере и, что немаловажно, гарантированную невозможность отсылки NTLM хэша пароля пользователя за пределы внутренней сети.


Ваш отзыв