Автоматическое определение параметров прокси через DHCP

By | 2017-10-12

В свеже установленной ОС Windows, настройки прокси-сервера выставлены на автоматическое определение. В связи с этим, полезно иметь в сети поддержку данной технологии. Всё что для этого требуется, это отдавать специальную опцию по DHCP и Web-сервер. О том как именно — в этой статье.

Настраивать будем isc-dhcpd.
Идем в dhcpd.conf и определяем опцию с кодом 252 типа text:

option local-pac-server code 252 = text;

В описании подсети указываем путь к файлу wpad.dat:

subnet xxx.xxx.xxx.xxx netmask 255.255.255.0 {
  option local-pac-server "http://xxx.xxx.xxx.xxx/wpad.dat";
}

В самом файле wpad.dat пишем код, устанавливающий прокси:

function FindProxyForURL(url, host) {
    return "PROXY xxx.xxx.xxx.xxx:3128";
}

и кладём в корень Web-сервера.

Рестартуем dhcpd:

service isc-dhcp-server restart

Ставим галку в настройках прокси-сервера:

Настройки прокси-сервера в Windows 7

Настройки прокси-сервера в Windows 7

Передергиваем кабель и… Ничего не происходит — прокси нет, интернета нет.

Оказывается, DHCP-клиент Windows не запрашивает 252 опцию, несмотря на настройки параметров прокси-сервера.
Чтобы машины на Windows не вставали на пути автоматизации, нужно сказать DHCP-серверу, чтобы он принудительно отдавал опцию, а делается это следующими строками в глобальной области конфигурации:

class "MSFT" {
  match if substring(option vendor-class-identifier, 0, 4) = "MSFT";
  option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list, fc);
}

Это позволяет непринужденно передавать настройки прокси компьютерам, не принадлежащим домену — например на ноутбук заказчику/поставщику/etc при подключении через Wi-Fi.

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

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