Использование разных сетей с разными прокси-серверами в Windows 7

Использование разных сетей с разными прокси-серверами в Windows 7

У меня ноутбук с Windows 7 Professional. Каждый день я подключаюсь к двум беспроводным сетям:

  • Главная: нет прокси-сервера
  • Работа: прокси-сервер с аутентификацией

На моем iPad и iPhone у меня есть два сетевых профиля WIFI (один для дома, один для работы). На рабочем указаны настройки прокси-сервера. На домашнем прокси не указан. Все работает отлично, и мне не нужно менять настройки каждый раз, когда я переезжаю из дома на работу или наоборот.

Однако на моем ноутбуке я не могу заставить это работать. Я, конечно, могу подключиться к обеим сетям, но когда я на работе, мне приходится идти и менять настройки прокси (в свойствах обозревателя), чтобы иметь возможность использовать сеть. Когда я дома, мне приходится идти и отключать их. Это мелочь, но, учитывая, что это то, что мне приходится делать каждый день, это немного раздражает.

Можно ли как-то заставить Windows автоматически включать и выключать настройки прокси-сервера в зависимости от сети, к которой я подключен?

решение1

Большинство браузеров сегодня поддерживают скрипт конфигурации прокси. Это просто кусочек javascript, который принимает DNS-имя/IP в качестве аргументов и возвращает строку, указывающую, какой прокси использовать.

http://en.wikipedia.org/wiki/Proxy_auto-config

Довольно просто, даже если вы не знаете javascript. И все, что вам нужно сделать, это указать файлу настройку "скрипт автоматической конфигурации прокси" вашего браузера. Некоторые браузеры настаивают на том, чтобы скрипт находился где-то в сети.

Существуют небольшие программы для размещения файлов с вашего компьютера, напримерhttp://tinyserver.sourceforge.net/

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

Пример autoconf.js:

   function FindProxyForURL(url, host) {
      // our local URLs from the domains below example.com don't need a proxy:
      if (shExpMatch(host, "*.example.com"))
      {
         return "DIRECT";
      }

      // URLs within this network are accessed through
      // port 8080 on fastproxy.example.com:
      if (isInNet(host, "10.0.0.0",  "255.255.248.0"))
      {
         return "PROXY fastproxy.example.com:8080";
      }

      // All other requests go through port 8080 of proxy.example.com.
      // should that fail to respond, go directly to the WWW:
      return "PROXY proxy.example.com:8080; DIRECT";
   }

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

Также есть переменная myIpAddress, которую можно использовать, как показано ниже:

function FindProxyForURL(url, host)
{
    if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
        return "PROXY 192.168.1.1:8080";
    else
        return "DIRECT";
}

Хотя некоторые браузеры/системы путаются в этом вопросе и могут возвращать 127.0.0.1

решение2

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

Бесплатный IP-коммутатор Eusing
NetSetMan

NetSetMan имеет более обширный набор функций, а бесплатная версия может переключать: IP-адреса, шлюзы (включая метрические), DNS-серверы, WINS-серверы, IPv4 / IPv6, управление WiFi, имя компьютера, рабочую группу/домен, домен/суффикс DNS, принтер по умолчанию, сетевые диски, состояние сетевой карты и SMTP-сервер.

изображение

решение3

Менеджер TCP/IPкажется справедливым решением, которое также имеет открытый исходный код. Он может переключаться между профилями и даже создавать скрипты BAT для большего количества всего!

Связанный контент