LINUX.ORG.RU
решено ФорумAdmin

Proxy Auto Configuration

 


0

2

Нужна помощь коллективного разума. Есть прокси сервер корпоративной сети (squid на ubuntu server). Задача - настроить всё так, чтобы компьютеры локальной сети (Оффтопик 7 и XP, iPad, etc) получали настройки прокси автоматически. Что было мною проделано:
- Поднят bind9 сервер, в котором настроен CNAME wpad. Хост wpad ресолвится на всех машинах без проблем.
- Поднят nginx, который будет отдавать wpad.dat такого содержания:

function FindProxyForURL(url, host) {
         return "192.168.1.1:3128; DIRECT";
}
В итоге wpad.dat забирают далеко не все машины, через squid ходят вообще пара-тройка машин, да и то, только различными программами, браузер продолжает ходить через NAT.
Пример из /var/log/nginx/access.log
192.168.1.254 - - [26/Apr/2012:16:18:01 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 sputnik 2.5.0.150"
192.168.1.249 - - [26/Apr/2012:16:20:52 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Win32; Trident/4.0)"
192.168.1.208 - - [26/Apr/2012:16:31:05 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "-"
192.168.1.208 - - [26/Apr/2012:16:31:08 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "-"
192.168.1.247 - - [26/Apr/2012:16:37:55 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "-"
192.168.1.212 - - [26/Apr/2012:16:56:29 +0400] "GET /wpad.da HTTP/1.1" 304 0 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Win32)"
192.168.1.212 - - [26/Apr/2012:16:56:47 +0400] "GET /wpad.dat HTTP/1.1" 200 85 "-" "System.Net.NetWebProxyFinder/4.0.30319.1"
Пример из /var/log/squid/access.log
335416675.520    492 192.168.1.247 TCP_MISS/502 485 GET http://mra.mail.ru/update_guard/version.xml? - DIRECT/94.100.187.140 text/html
1335416743.238   1739 192.168.1.247 TCP_MISS/200 2840 GET http://webservices.autodesk.com/CommCntrLinkCollectionRequest? - DIRECT/132.188.65.68 text/xml
1335416744.123    766 192.168.1.247 TCP_MISS/200 4747 GET http://updates.autodesk.com/liveupdate/GetAvailableContent? - DIRECT/74.220.126.86 text/xml
1335417016.981   1637 192.168.1.246 TCP_MISS/200 9745 CONNECT local-sn.contacts.msn.com:443 - DIRECT/157.55.157.101 -
1335417017.619   2204 192.168.1.246 TCP_MISS/200 8497 CONNECT local-sn.contacts.msn.com:443 - DIRECT/157.55.157.101 -
1335417018.231    605 192.168.1.246 TCP_MISS/200 885 POST http://sup.live.com/whatsnew/whatsnewservice.asmx - DIRECT/65.55.142.106 text/xml
1335417100.939  61635 192.168.1.246 TCP_MISS/200 10721 CONNECT local-sn.contacts.msn.com:443 - DIRECT/157.55.157.101 -
1335417101.145  61911 192.168.1.246 TCP_MISS/200 8545 CONNECT local-sn.contacts.msn.com:443 - DIRECT/157.55.157.101 -
1335417116.104    793 192.168.1.246 TCP_MISS/200 2840 GET http://webservices.autodesk.com/CommCntrLinkCollectionRequest? - DIRECT/132.188.65.68 text/xml
1335417117.211   1016 192.168.1.246 TCP_MISS/200 4747 GET http://updates.autodesk.com/liveupdate/GetAvailableContent? - DIRECT/74.220.126.86 text/xml
1335417141.874 126046 192.168.1.246 TCP_MISS/200 41917 CONNECT secure.wlxrs.com:443 - DIRECT/2.23.136.124 -
1335417165.851 148865 192.168.1.246 TCP_MISS/200 66530 CONNECT secure.wlxrs.com:443 - DIRECT/2.23.136.124 -


nginx отдает файл автоконфигурации с правильным mime-типом?

Apache Server
1. Create .htaccess file.
2. Add the below line into the file:
AddType application/x-ns-proxy-autoconfig .dat

BOOBLIK ★★ ()
Ответ на: комментарий от Richi

Даже не знаю, я бы попробовал в дополнение к всему проделанному еще и отдавать ссылку на файл автоконфигурации через опцию dhcp(если используется).

BOOBLIK ★★ ()

1. В браузере должно быть ЯВНЫМ образом обозначена автонастройка прокси.

В IE это отдельная галка. Chrome берет настройки из IE, в FF это отдельный пункт.

2. Не все платформы IPAD etc кушают WPAD так что если они этого не делают смиритесь, потому что Джобс умер и поправить некому.

3. Рабочий вариант это

return «PROXY ip.ad.dr:3128»;

Зачем direct после него ставить мне непонятно

4. В FF механизм discovery отличается

5. Передавайте параметры WPAD по DHCP если есть такая возможность
option wpad code 252 = text;
option wpad "http://hostname/wpad.dat\000";

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Под явным образом вы понимаете галку «Автоматическое определение прокси» или вписывание пути до файла автоконфигурации?
PROXY попробую дописать. DIRECT видимо для того, чтобы в случае невозможности работы с прокси использовалось прямое подключение.
По поводу DHCP - изначально так и было настроено, я но прочёл в спецификациях что стандарт - получение с помощью DNS, а DHCP поддерживает только IE.

Richi ()
Ответ на: комментарий от Richi

Под явным образом вы понимаете галку «Автоматическое определение прокси»

да

DIRECT видимо для того, чтобы в случае невозможности работы с прокси использовалось прямое подключение.

Уберите, усложнить вы всегда успеете

а DHCP поддерживает только IE.

Вам же нужно, чтобы работало? УМВР. Дублируйте по DHCP - хуже не будет.

Еще учитывайте, что браузеры любят кешировать wpad и, как следствие, не воспринимать изменения.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

DIRECT убрал, но возможность проверить будет только завтра.
А какой в вас DHCP? Я читал что нужен именно isc-dhcp, а обычный dhcp3-server это не поддерживает.

Richi ()
Ответ на: комментарий от zgen

Это не радует, потому как в репозиториях убунты isc-dhcp появился только в 11.04,а у меня стоит 10.04. Я делал через dnsmasq, но тогда придётся отключать bind.

Richi ()
Ответ на: комментарий от zgen

Спасибо вам огромное.

3. Рабочий вариант это

return «PROXY ip.ad.dr:3128»;

Видимо из-за отсутствия PROXY понимали не все. DHCP настраивать не пришлось, хватает DNS.

Richi ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.