В свеже установленной ОС Windows, настройки прокси-сервера выставлены на автоматическое определение. В связи с этим, полезно иметь в сети поддержку данной технологии. Всё что для этого требуется, это отдавать специальную опцию по DHCP и Web-сервер. О том как именно — в этой статье.
Настраивать будем isc-dhcpd.
Идем в dhcpd.conf и определяем опцию с кодом 252 типа text:
1 |
option local-pac-server code 252 = text; |
В описании подсети указываем путь к файлу wpad.dat:
1 2 3 |
subnet xxx.xxx.xxx.xxx netmask 255.255.255.0 { option local-pac-server "http://xxx.xxx.xxx.xxx/wpad.dat"; } |
В самом файле wpad.dat пишем код, устанавливающий прокси:
1 2 3 |
function FindProxyForURL(url, host) { return "PROXY xxx.xxx.xxx.xxx:3128"; } |
и кладём в корень Web-сервера.
Рестартуем dhcpd:
1 |
service isc-dhcp-server restart |
Ставим галку в настройках прокси-сервера:
Передергиваем кабель и… Ничего не происходит — прокси нет, интернета нет.
Оказывается, DHCP-клиент Windows не запрашивает 252 опцию, несмотря на настройки параметров прокси-сервера.
Чтобы машины на Windows не вставали на пути автоматизации, нужно сказать DHCP-серверу, чтобы он принудительно отдавал опцию, а делается это следующими строками в глобальной области конфигурации:
1 2 3 4 |
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.