26

Перемещая свой ноутбук между работой и домом, мне нужно изменить настройки интернет-прокси. Есть ли способ для Windows 7 изменить эти настройки в зависимости от текущей активной сети?

3 ответа3

20

Вы можете настроить это с помощью PAC (сценарий автоматической настройки прокси). Это небольшие сценарии, написанные на 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, используя файл:// URL-адрес, такой как file://C:/proxy.pac .

Настройки IE прокси

В качестве альтернативы для Firefox перейдите в Инструменты -> Параметры, перейдите на вкладку "Дополнительно", нажмите вкладку "Сеть", нажмите кнопку "Настройки", выберите параметр «URL-адрес автоматической настройки прокси-сервера», снова используя файл:/// URL (обратите внимание, что в Firefox есть 3 символа косой черты после двоеточия, например file:///C:/proxy.pac .

Настройки прокси Firefox


Обратите внимание, что Internet Explorer 11 изменил это поведение, и теперь вы не можете загрузить файл PAC с URL-адреса «file://», необходимо использовать URL-адрес «HTTP://» или «HTTPS://».

В Internet Explorer 11 команда WinINET отключила поддержку WinINET для сценариев на основе file:// для обеспечения взаимодействия между сетевыми стеками. Корпорациям рекомендуется вместо этого размещать свои скрипты конфигурации прокси на сервере HTTP или HTTPS.

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

В качестве временного обходного пути этот блок можно удалить, установив следующий раздел реестра:

Ключ: HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ Значение: EnableLegacyAutoProxyFeatures Тип: REG_DWORD Данные: 1

Имейте в виду, что это должно быть только временной мерой, так как этот блок был введен по уважительным причинам, и удаление этого блока волшебным образом не исправит ваши приложения на основе WinHTTP.

Также обратите внимание, что после внесения этого изменения в IE11 вам нужно будет изменить настройку адреса для сценария автоматической настройки, поскольку IE 11 принимает только один синтаксис для этого (см. Нижнюю часть связанной статьи в блоге IE Internals ниже).

Однако, как уже отмечалось, маловероятно, что этот обходной путь с ключом реестра продолжит работать в будущих версиях Internet Explorer, поэтому вам гораздо лучше найти способ хранения PAC на веб-сервере. Подойдет встроенный в IIS веб-сервер Windows, и есть еще несколько минимальных, которые также подойдут для установки на ваш ноутбук.

Дополнительная информация о записи в блоге IE Internals. Общие сведения о настройке веб-прокси.

3

Используйте Free IP Switcher 1.0

альтернативный текст

Описание:

Всякий раз, когда мобильный пользователь перемещается в другую сеть, он должен изменить конкретный IP-адрес, адрес шлюза, маску подсети, прокси-сервер и принтер по умолчанию и т.д. В соответствии с конкретной сетевой средой. Для этого ему необходимо запомнить информацию о настройках TCP/IP каждой сети. Кроме того, он должен перезагрузить компьютер, чтобы применить его к системе и получить доступ к Интернету.

Не тратьте свое время на перенастройку параметров компьютерной сети каждый раз, когда вы меняете свое местоположение. Бесплатный IP Switcher - идеальное решение для вас. Он переключается между предварительно настроенными сетевыми настройками одним щелчком мыши и без перезагрузки. С помощью Free IP Switcher вы можете автоматически изменять все настройки сети на вашем компьютере: IP-адрес, сетевые маски, шлюз по умолчанию, DNS-сервер, сервер выигрышей, настройки прокси, принтер по умолчанию и многое другое.

Особенности:

  • Переключение настроек сети IP "на лету" без перезагрузки
  • Переключение настроек прокси-сервера Internet Explorer
  • Переключите ваш принтер по умолчанию
  • Переключите имя вашего компьютера и рабочую группу
  • Импортировать текущие настройки сети в настройки
  • Поддержка значков в системном трее, автозапуск с Windows
  • 100% шпионское ПО БЕСПЛАТНО, НЕ содержит шпионского, рекламного или вирусного ПО
2

У вас есть другие (платные) альтернативы для переключения сетевых конфигураций, такие как Mobile Net Switch или NetSetMan

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .