Переключаем настройки сети в ноутбуках в два клика

Автор оригинала: Пётр Нек
  • Перевод
Сейчас, когда Интернет уже не является чем-то странным и недосягаемым для каждого, да и ноутбуки стали доступными по цене, возникает проблема, когда дома и в офисе разные настройки Интернет подключения (ip, dns, шлюз, прокси и т.д.), которые надо каждый раз менять. Несколько недель назад ко мне обратились с просьбой как то все автоматизировать, поскольку это надо было сделать быстро то погугливши я нашел одну из шареварних программок, которая заработала. Но на этом я не остановился, искал что то попроще, потому что минусом этих программ было то, что во-первых, они платные, во-вторых они все время висят в памяти забирая у Вас «драгоценные байты», в-третьих качая с варезных сайтов варезные программы рискуете подцепить вирус, ну и последнее зачем использовать что-то постороннее, когда можно организовать все средствами операционной системы (например windows).

Начнем. Создаем два текстовых файла get_home.bat, get_office.bat в которых прописываем лишь одну строку

get_home.bat --> netsh dump > home.cfg
get_office.bat --> netsh dump > office.cfg


Тем самым мы создадим дамп настроек сети и запишем их в папочку со скриптами. Детальнее о команде netsh можно прочитать вот здесь, или набрав netsh help. Этими двумя файлами, запустив каждый один раз соответственно на работе и дома (перед этим нужно в последний раз в ручную настроить сеть), мы определяем базовые настройки сети на наших рабочих (и не очень) местах.
Дальше нам нужно создать два файла. что будут перемыкать настройки, назовем их set_home.bat, set_office.bat. Их содержимое:

set_home.bat --> netsh exec home.cfg
set_office.bat --> netsh exec office.cfg


Практически все готово, теперь это все надо поместить в одну папку, вывести значки на рабочий стол и пользоваться.
Все эти файлы я аккуратно запаковал в архив и разместил на гугл коде, назвав то mr.yans (mister yet another net switcher). Так что как кому-то нужно — забирайте.

П.Н. если кому-то такая штука нужна под линукс спрашивайте — возможности nix shell огого :). Хорошего Вам дня.
Поделиться публикацией

Похожие публикации

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 58

    0
    Спасибо большое! Чесно говоря даж не знал о такой комманде, вот и мучился с перенастройкой. Зато теперь двойным кликом переключение присходит!
      +1
      Пожалуйста, я ещё думаю всё немного "приукрасить" и додать ещё возможность смены прокси
        +1
        Даешь распознавание местоположения по GPS и автонастройке сети! :)
          +2
          вы эта, не увлекайтесь.
          а то будет как в баше

          intern: решил чтоб руками не делать 24 раза превращение txt в html, напишу коротенькую программу на php...
          sacri: ленивый ты :))
          intern: ага ленивый...очнулся через 4 часа с красными глазами...моя программа превращала txt в html..кроме того добавляла к ключевым понятиям в тексте ссылки на определения, подсвечивала разными цветами ключевые слова явы, при нажатии подгружая их описание и примеры работы с ними..
          intern: и я никак не мог оторваться и перестать...

          http://bash.org.ru/quote/294687
        0
        Насколько я понял из описания команды по ссылке - она не работает в Vista?
        А жаааль, очень ноут хотелось так "автоматизировать". Может быть кто-то уже проверил работоспособность под Vista? А то нотбук только вечером увижу :)
          0
          netsh под Vista должна работать
          http://technet.microsoft.com/en-us/windo…
            0
            работает, только формат немного другой. Вот примерчик:

            netsh interface ipv4 show config "Беспроводное сетевое соединение"

            netsh interface ipv4 set address "Беспроводное сетевое соединение" source=dhcp
            netsh interface ipv4 set dnsserver "Беспроводное сетевое соединение" source=dhcp

            netsh interface ipv4 set address "Беспроводное сетевое соединение" static 192.168.0.97 255.255.255.0 192.168.0.1
            netsh interface ipv4 set dnsserver "Беспроводное сетевое соединение" source=static addr=81.176.69.170 register=PRIMARY
            netsh interface ipv4 add dns "Беспроводное сетевое соединение" addr=81.176.69.180 index=2
              0
              незабудьте поменять настройки кодовой страницы для командной строки... =) а то он не правильно поймет ваш интерфейс названный по русски.
                0
                а не напомните, как это нынче делается в команденых строках? я про кодовую страницу…
            0
            я с сетями не очень знаком, но вот если взять вай-фай:

            есть раутер который раздаёт инет дома/на работе
            у него, по моим сведениям, есть уникальный мак-адрес

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

            или я плохо думаю о состоянии и возможностях современных сетей? :-)
              0
              а зачем? Windows запоминает настройки сетей для разных рутеров.
              У меня, во всяком случае, так.
                0
                хорошо. видимо я задумался слегка не о том
              +5
              Не висит в памяти, до 6-ти профайлов, не варез, бесплатная для некоммерческого пользования - http://www.netsetman.com/
                +1
                Спасибо посмотрю. Значит плохо искал... Но согласитесь всегда приятние сделать чтото самому своими руками
                  +2
                  Согласен, но надо учится себя сдерживать 8)
                  0
                  Программа супер, при том ещё меняет остальные параметры, да ещё и бесплатно. А если только 2 подключения, то в ХР одно из них через DHCP, второе вручную (как альтернативная конфигурация).
                  0
                  Имеет смысл исправить "Перемыкаем" на "Переключаем" в заголовке. На украинском, видимо, другое значение глагол "перемыкаем" имеет.
                    0
                    Спасибо за замечание, исправил
                    +2
                    не ради холивара, но хочу заметить что в Mac OS X профили сетевых настроек есть по-умолчанию. Создаешь профиль "Дом", "Работа", а потом только переключаешься. Вот это те самые мелочи, за которые предпочитают Apple
                      +1
                      угу, только что приехал из другого офиса, подключился к местой WLAN, выбрав нужный профиль, зашел на хабр)
                        +1
                        Как раз хотел об этом же сказать.
                          0
                          подписываюсь, помнится от этой фичи я писался от восторга еще на стареньком ibook-е!
                          удивлен, что в других осях это до сих пор не пришито к системе.
                          • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Угу... Очень удобная вещь! А главное много всяких приятных возможностей.
                              0
                              в линуксе—гноме тоже есть такое...
                                0
                                Действительно, в Ubuntu (7.10 точно) в самом Networking'е реализовано сохранение профилей сетевых настроек. Жаль только при смене настроек со статического IP на DCHP адреса DNS-серверов меняются.
                                0
                                Более того, на маке есть MarcoPolo, так что даже и переключать-то ничего не надо :)
                                0
                                есть такая программа Mobile Net Switch, правда платная, но можно пользоваться бесплатно, просто между переключениями нужно будет ждать по 30 секунд. Вот она все может менять на лету: сетевые настройки, прокси, настройки браузера, принтеры, сетевые диски. Очень полезная прога.
                                  0
                                  Во можно купить на софткее http://www.softkey.ru/catalog/program.ph…
                                  1 027.36 руб. (за 1 компьютер) не дорого, для владельцев ноутбуков просто мегаполезная программка
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                      0
                                      Не ко мне вопрос. Если интересует купил бы я себе? То да купил бы, почему нет? Сейчас пользую 3.41 незарегеную. Прога хорошая, если хоть часть денег упадет создателям, почему не купить? Там вот чего-то на сайте скачать новую 3.65 не дает. Если скачаю, куплю на софткее ключ, обязательно.
                                  0
                                  Для линукса я делал аналог скриптом на РНР (извращенец, знаю). Он брал нужный шаблон, тер им файл /etc/network/interfaces и перезапускал сеть. Но с приходом вай-фая и из-за кривого драйвера проводной сети дальше не развивал.
                                    0
                                    Неужели вам было трудно удосужиться почитать interfaces(5) и примеры в /usr/share/doc/ifupdown?. Там уже реализоана эта функциональность.
                                      0
                                      Хм. Ну можно и так.
                                        0
                                        Вспомнил почему именно свой писал. Хотел сделать его невероятно конфигурируемым, и кроме того - графическим.
                                      +1
                                      Что под венду что под юних нет большой надобности менять ip,dns,gw. Зачем изобретать велосипед?
                                      Для венды задать несколько сетевых адресов (и масок) одной карточке можно так -> свойства подключение по локальной сети -> выбираем протокол Интернета TCP/IP и нажимем кнопку свойства -> дополнительно -> Иии, как вы думаете зачем это всё? правильно, сюда можно дописать несколько сетевых адресов, шлюзов, днс.
                                      В линуксах ifconfig rl0:1 и настройки как обычно где 1 это номер псевдонима для интерфейса (или параметр -alias)
                                        0
                                        расскажи нам нубам поподробнее про 2 шлюза ! а 4 слабо ?
                                        0
                                        Ну вобще то в виндоусе, да и не только в нём, на одну сетевую карту можно прописать несколько IP адресов, собсно, как и шлюзов и DNS-сов. Там в настройках TCP/IP есть такая кнопочка "дополнительно". А в линуксе это называется алиасингом. Всё на много проще =)
                                          0
                                          Не увидел постав выше, сори за то, что повторился =)
                                            0
                                            Интересно, а мой каммент выше разве не об этом говорит?
                                            0
                                            Сенкс! юзал для этого разные проги, но отказался потому-как глюки и платно.
                                            Да и действительно приятно делать что-то полезное средствами операционки :)
                                              0
                                              Для любителей виджетов от Yahoo, а также для тех, кто захочет пополнить их ряды, есть виджет для переключения сетевых настроек IP switcher или его модифицированная версия. Работает как на PC, так и на MAC, и обычно одного щелчка для переключения настроек достаточно =)

                                              Конечно, программа Yahoo widget engine съедает часть вашей оперативной памяти, но совсем чуть-чуть =) Зато она бесплатна, у нее красивый интерфейс и куча возможностей, особенно много интересного могут для себя найти владельцы ноутбуков ;-)
                                                0
                                                Прикольно... Есть специальный софт с такими же функциями, но средчтвами винды приколнее и портабельнее. Спасибо.
                                                  0
                                                  У мен яна ноуте стоит фирменная утилита для чипсета, которая сохраняет настройки WiFi для разных точек доступа. И насколько я в курсе, это сейчас норма.
                                                    0
                                                    пробовал - непонравилось на фуджике. пользую MultiNetworkManager.
                                                    0
                                                    в арчлинуксе пользуюсь network profiles, для беспроводных подключений - wpa_supplicant. Ну и в принципе набрать "ifconfig eth0 my.new.ip.address up && ip route add default via my.new.ip.address" руки не отломаются, аж 4 секунды.
                                                      +1
                                                      Кстати, если нужно регулярно переключать прокси (например, в Firefox на флэшке), рекомендую FoxyProxy и proxy autoconfig: файлик пишется на яваскрипте, типо:


                                                      function FindProxyForURL(url, host) {
                                                      if (myIpAddress()=="192.168.5.11" || myIpAddress()=="10.0.18.16") {
                                                      return "PROXY yabba.dabba.ru:3128;"
                                                      } else if (shExpMatch(myIpAddress(), "211.108.11.*")) {
                                                      return "SOCKS anotherproxy.bar.com:1050;"
                                                      } else {
                                                      return "DIRECT";
                                                      }
                                                      }
                                                        0
                                                        Ну или, для тех кто пользуэться internet explorer'ом вот пару строк из .рег фалов которые вкл./выкл. прокси

                                                        Прокси вкл.
                                                        Windows Registry Editor Version 5.00

                                                        [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
                                                        "ProxyEnable"=dword:00000001
                                                        "ProxyServer"="192.168.0.1:3128"
                                                        "ProxyOverride"=" "

                                                        Прокси выкл.
                                                        Windows Registry Editor Version 5.00

                                                        [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
                                                        "ProxyEnable"=dword:00000000
                                                          0
                                                          Собственно, IE вроде тоже понимает .pac-файлы (хотя другой вопрос - как он с мобильностью сочетается).

                                                          А вот Thunderbird мне не удалось заставить.
                                                            0
                                                            > другой вопрос - как он с мобильностью сочетается
                                                            Ну эсли на ноутбуке то хорошо :)
                                                        0
                                                        Я на своем Asus спокойно пользуюсь предустановленной утилитой Net4Switch. Так что проблем вообще не вижу.
                                                          0
                                                          интересный способ, спасибо :)

                                                          а у меня просто dhcp что на работе, что дома.. только в сеть надо воткнуть, ничего настраивать не надо. точнее, всё уже один раз настроено =)
                                                            0
                                                            не думал что проблему переключения сетевого профиля вот так можно решить, тем более что срок демо на NetProfileSwitch истекает.
                                                            Мега-Спасибо!
                                                              0
                                                              Прекрасно! Спасибо!
                                                                0
                                                                а Билл рекомендует пользоваться скриптами.

                                                                http://www.microsoft.com/technet/scriptcenter/topics/networking/04_atnc_ipadd.mspx
                                                                  0
                                                                  переключение сетевых настроек... хм..

                                                                  ИМХО сеть должна быть построена так что бы происходило автоматическое конфигурирование клиентских компьютеров.. тем более для этого не так много нужно.. всего лишь правильно настроеный dhcp сервер (да и встраивают его во все железки вподряд wifi adsl ...)
                                                                  прокси в случае прозрачного режима вообще в браузере настраивать не нужно, в противном случае есть такая штука как wpad...
                                                                    –1
                                                                    способу 100 лет в обед - http://tmbu.info/mutiple-network-setting…
                                                                      0
                                                                      Куда круче использовать легкую и офигительски удобную программулину Mobile Net Switch (http://www.mobilenetswitch.com/).

                                                                      Она не только удобно поддерживает профили сетей, но и еще кучу разных вещей, которые порой нужно перенастраивать перемещаясь между офисами (типа принтеры, wi-fi, шлюзы, временные зоны итд).

                                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                      Самое читаемое