RSS
 

Изменяем сетевые параметры Windows в консоли

10 Мар

windows-console-telnetЗнатоки *nix подобных систем скажут, что настройка сети в этих системах осуществляется исключительно через текстовую консоль. И, даже, если там есть графическая оболочка, то ее обычно просто игнорируют при настройке системы. В Windows же такая настройка делается в основном через несколько нажатий мышки на нескольких окошках. Как это делается знают все. Но, наверное, не все знают, что настройку сетевых адаптеров в системе Windows можно сделать тоже в текстовой консоли.

Почему же, тогда мы раньше не пользовались таким способом? Ну, здесь несколько причин. Во-первых, настройка в графических окошках проще и ее могут освоить относительно многие пользователи системы. Во-вторых, причина еще кроется в архитектурах самых систем. Все *nix подобные системы имеют микроядерную архитектуру. А системы Windows — слоистую. Что это означает? Вкратце, систему linux gentoo, например, можно собрать по частях, скомпилировав исходники. Ядро будет занимать несколько сотен килобайт места на диске и в оперативной памяти. В нем будут включены самые необходимые для работы системы функции. Для дополнительных возможностей в ядро включают дополнительные модули, таких образом собирая мощное ядро из микроядра. Собственно говоря, все модули системы можно просто дополнительно ставить из бинарников, готовых пакетов или тоже с исходников. И графических оболочек это тоже касается. Короче говоря, модульность *nix подобных систем дает возможность постоянному усовершенствованию систем и их тонкой настройки под любые задачи.

Что касается систем Windows, то здесь ситуация совсем иная. Во-первых, графика «вшита» здесь раз и навсегда. Изменить код системы мы не можем. Во-вторых, система состоит из так называемых слоев, каждый их которых играет некоторую защитную оболочку на пути к ядру системы. И сама Microsoft, в конце концов, просто сделала ставку на использование пользователями пользовательского графического интерфейса (извините за тавтологию). Зачем? Опять таки, и для защиты от «умников», и для «домохозяек». Это ее политика и обсуждать мы ее здесь не будем — и так оторвались от сути вопроса.

Но, это вовсе не означает, что нет возможности настройки некоторых функций системы через текстовую консоль. И сети это тоже касается. В общем, наверное все, или почти все пользователи систем Windows знают о такой команде как ipconfig. Она показывает базовые настройки активного сетевого интерфейса вашей машины. У нее есть еще параметры, которые разрешают посмотреть полную конфигурацию всех интерфейсов и сделать некоторые настройки. Но она не разрешает настроить ip адрес, маску подсети, шлюз и днс на машине. А делается это с помощью такой команды, как netsh.

Итак, для установки ip адреса маски и шлюза в консоли cmd вводим такую команду:

netsh interface ip set address name=NAME_OF_INTERFACE static IP_ADDRESS NETMASK GATEWAY

где NAME_OF_INT ERFACE – имя сетевого интерфейса вашей машины.

IP_ADDRESS – ip адрес, который вы хотите дать сетевому интерфейсу.

NETMASK – маска подсети.

GATEWAY – шлюз для вашей сети.

Например, у меня вот так:

netsh interface ip set address name=”Беспроводное сетевое соединение” static 192.168.0.2 255.255.255.0 192.168.0.1

Если хотите дать адрес по DHCP, то нужно ввести такую строчку:

netsh interface ip set address name=NAME_OF_INTERFACE source=dhcp

У меня так:

netsh interface ip set address name=”Беспроводное сетевое соединение” source=dhcp

Для изменения адреса первичного DNS сервера нужна следующая команда:

netsh interface ip set dns name=NAME_OF_INTERFACE static IP_ADDRESS

Например:

netsh interface ip set dns name=”Беспроводное сетевое соединение” static 192.168.0.1

Чтобы изменить ip-адрес вторичного DNS-сервера введите команду:

netsh interface ip set dns name=NAME_OF_INTERFACE static IP_ADDRESS index=2

Например:

netsh interface ip set dns name=”Беспроводное сетевое соединение” static 192.168.0.254 index=2

Также можно переименовать сетевой интерфейс. Делается это так:

netsh interface set interface name=NAME_OF_INTERFACE newname=NEW_NAME

У меня:

netsh interface set interface name=”Беспроводное сетевое соединение” newname=”WLAN”

Ну, вот и все. Ничего сложного. Удачи!

 

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

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

3 комментария

Опубликовано в Windows, Сети

 

Оставить комментарий

 

 
  1. Ярослав

    Апрель 9, 2013 at 13:41

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

     
  2. Ярослав

    Апрель 9, 2013 at 13:45

    netsh interface ip set address name=NAME_OF_INTERFACE static IP_ADDRESS NETMASK GATEWAY (здесь еще должен быть параметр gwmetric, обязательный при указании шлюза)

    Из справки Windows:
    gwmetric — метрика шлюза по умолчанию. Это поле следует задавать только тогда, когда указан шлюз.

     
    • Александр Бойченко

      Июнь 1, 2013 at 09:37

      Думаю, что метрика необходима при указании нескольких маршрутов. Если мы указываем только дефолт, то метрика выставляется по умолчанию. А параметр есть, чтобы мы могли задавать более приоритетные маршруты.