Перемещая свой ноутбук между работой и домом, мне нужно изменить настройки интернет-прокси. Есть ли способ для Windows 7 изменить эти настройки в зависимости от текущей активной сети?
Перемещая свой ноутбук между работой и домом, мне нужно изменить настройки интернет-прокси. Есть ли способ для Windows 7 изменить эти настройки в зависимости от текущей активной сети?
Ответы:
Вы можете настроить это с помощью PAC (Proxy Auto Configuration script). Это небольшие сценарии, написанные на Javascript, которые позволяют указывать различные правила подключения. Большинство современных настольных веб-браузеров могут читать их без проблем, у меня есть тот же самый, настроенный как в Internet Explorer, так и в Firefox.
Минимальный PAC-файл, который всегда отправляет вас на прокси-сервер proxy.companyname через порт 81:
function FindProxyForURL(url, host)
{
return "PROXY proxy.companyname:8080";
}
И немного более сложный пример файла PAC, который проверяет, в какой сети вы находитесь, проверяя, какой диапазон IP-адресов вы выбрали. В этом примере всем клиентским компьютерам в вашей компании предоставляется IP-адрес в диапазоне 10.10. * По DHCP и доступ в Интернет через прокси-сервер proxy.companyname через порт 81.
//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.
function FindProxyForURL(url, host)
{
var ip = myIpAddress();
var debug = "";
if(debug)
{
alert("proxy.pac IP=" + ip + " HOST=" + host + " URL=" + url);
}
// All client PCs on the internal network will have a 10.10.x.x address, check if I have this
if (shExpMatch(ip, "10.10.*"))
{
if(debug)
{
alert("Proxy for " + url);
}
return "PROXY proxy.companyname:81";
}
// If you have a different IP then this isn't the company network
else
{
if(debug)
{
alert("You are not at CompanyName so going direct for " + url);
}
return "DIRECT";
}
}
Сценарий также имеет режим отладки, который вы можете использовать для проверки его работоспособности и режима (PROXY или DIRECT connect), который, по вашему мнению, должен быть в вашем текущем соединении.
Вы также можете создать более сложный сценарий, который проверяет, например, находится ли сервер, к которому вы подключаетесь, во внутренней сети компании (и, следовательно, он хочет установить прямое подключение, даже если ваш компьютер в данный момент находится в сети компании), именно здесь вы ' поместите все, что вы обычно помещаете в окно исключений прокси в IE, расширив его следующим образом:
//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.
function FindProxyForURL(url, host)
{
var ip = myIpAddress();
var debug = "";
if(debug)
{
alert("proxy.pac IP=" + ip + " HOST=" + host + " URL=" + url);
}
// Detect if trying to connect to internal/intranet host
if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
{
if(debug)
{
alert("Direct for " + url);
}
return "DIRECT";
}
// Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
{
if(debug)
{
alert("Direct for " + url);
}
return "DIRECT";
}
// All client PCs on the internal network will have a 10.10.x.x address, check if I have this
if (shExpMatch(ip, "10.10.*"))
{
if(debug)
{
alert("Proxy for " + url);
}
return "PROXY proxy.companyname:8080";
}
// If you have a different IP then this isn't the company network
else
{
if(debug)
{
alert("You are not at CompanyName so going direct for " + url);
}
return "DIRECT";
}
}
Используйте этот файл, сохранив его где-нибудь на диске C своего компьютера как что-то вроде proxy.pac, затем для Internet Explorer перейдите в «Инструменты» -> «Параметры» (или «Панель управления» -> «Свойства обозревателя»), затем перейдите на вкладку «Подключения», нажмите кнопку «Параметры локальной сети». , Теперь снимите флажок «Использовать прокси-сервер» внизу и вместо этого установите флажок «Использовать сценарий автоматической настройки» и введите адрес вашего файла PAC, используя file: // URL-адрес как file://C:/proxy.pac
.
В качестве альтернативы для Firefox перейдите в Инструменты -> Параметры, перейдите на вкладку «Дополнительно», нажмите вкладку «Сеть», нажмите кнопку «Настройки», выберите параметр «URL-адрес автоматической настройки прокси-сервера», снова используя файл: /// URL (обратите внимание, что в Firefox есть 3 косые черты после двоеточия, например file:///C:/proxy.pac
.
Обратите внимание, что Internet Explorer 11 изменил это поведение, и теперь вы не можете загрузить файл PAC с URL-адреса «file: //», необходимо использовать URL-адрес «HTTP: //» или «HTTPS: //».
В Internet Explorer 11 команда WinINET отключила поддержку WinINET для сценариев file: // для обеспечения взаимодействия между сетевыми стеками. Корпорациям рекомендуется вместо этого размещать свои скрипты конфигурации прокси на сервере HTTP или HTTPS.
Существует временное решение, которое может повторно включить эту функцию на данный момент, но вам не рекомендуется использовать ее, так как будущие обновления могут отключить это тоже.
В качестве временного обходного пути этот блок можно удалить, установив следующий раздел реестра:
Ключ: HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Интернет-настройки \ Значение: EnableLegacyAutoProxyFeatures Тип: REG_DWORD Данные: 1Имейте в виду, что это должно быть только временной мерой, так как этот блок был введен по уважительным причинам, и удаление этого блока волшебным образом не исправит ваши приложения на основе WinHTTP.
Также обратите внимание, что после внесения этого изменения в IE11 вам потребуется изменить настройку адреса для скрипта автоконфигурации, поскольку IE 11 принимает только один синтаксис для этого (см. Нижнюю часть связанной статьи в блоге IE Internals ниже).
Однако, как уже отмечалось, маловероятно, что этот обходной путь с ключом реестра продолжит работать в будущих версиях Internet Explorer, поэтому вам гораздо лучше найти способ хранения PAC на веб-сервере. Подойдет встроенный в IIS веб-сервер Windows, и есть еще несколько минимальных, которые также подойдут для установки на ваш ноутбук.
Подробнее о записи в блоге IE Internals. Понимание конфигурации веб-прокси .
Используйте Free IP Switcher 1.0
Описание:
Всякий раз, когда мобильный пользователь перемещается в другую сеть, он должен изменить конкретный IP-адрес, адрес шлюза, маску подсети, прокси-сервер и принтер по умолчанию и т. Д. В соответствии с конкретной сетевой средой. Для этого ему необходимо запомнить информацию о настройках TCP / IP каждой сети. Кроме того, он должен перезагрузить компьютер, чтобы применить его к системе и получить доступ к Интернету.
Не тратьте свое время на перенастройку параметров компьютерной сети каждый раз, когда вы меняете свое местоположение. Бесплатный IP Switcher - идеальное решение для вас. Он переключается между предварительно настроенными сетевыми настройками одним щелчком мыши и без перезагрузки. С помощью Free IP Switcher вы можете автоматически изменять все сетевые настройки на вашем компьютере: IP-адрес, сетевые маски, шлюз по умолчанию, DNS-сервер, сервер выигрышей, настройки прокси, принтер по умолчанию и многое другое.
Особенности:
У вас есть другие (платные) альтернативы для переключения сетевых конфигураций, такие как Mobile Net Switch или NetSetMan