Если коротко, то есть такая забавная штука в браузерах как "Автоматическое определение прокси". Работает она по следующему принцепу. Компьютер пытается подключится к серверу с именем wpad в своём домене (допустим для домена ubuntu.ru это wpad.ubuntu.ru) и загрузить с него скрипт настройки. Есть 2 типа скриптов в зависимости от программ которые настраиваешь (я не парился и кинул на сервер оба).
Пример из моей сети:
домен сети intrenet.local, компьютер с прокси имеет имя wpad.intranet.local, на нем стоит апач в корне которого 2 файла
proxy.pac
function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.0.0", "255.255.0.0"))
return "DIRECT";
else
return "PROXY 192.168.10.1:3128";
}
и
wpad.dat
function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.0.0", "255.255.0.0"))
return "DIRECT";
else
return "PROXY 192.168.10.1:3128";
}
Смысл скрипта прост. ЕСли компьютер принадлежит сети 192.168.0.0 255.255.0.0 (хватанул с запасом:)) то ему назначается прокси 192.168.10.1:3128 (192.168.10.1 это адрес wpad.intranet.local).
Права на файлы:
-rw-r--r-- 1 www-data www-data 145 2010-11-15 05:58 proxy.pac
-rw-r--r-- 1 www-data www-data 145 2010-11-13 11:18 wpad.dat
Вот и все. Делал это достаточно давно, но пока все живы.
P.S. Директива return может назначать разные прокси в зависимости от протокола.
P.P.S. Если где накосячил, или опечатался извиняйте.