Прочее - Настройка сетевого интерфейса из командной строки

Аватара пользователя
andrystepa

Прочее - Настройка сетевого интерфейса из командной строки

Сообщение andrystepa »

Понадобилось мне недавно настроить сетевой интерфейс на компьютере под управлением Windows XP SP2 из командной строки. Поискал в инете и нашел на этом сайте инструкцию: Изменяем настройки сети Там приведена такая инструкция:



Код:

Код: Выделить всё

С
 помощью этой подсказки вы сможете очень быстро и легко изменить ваш IP и другие настройки. Вы можете сохранить нижеприведенный текст в файл change ip.bat и запускать его тогда, когда вам нужно:       
Example:     set address name="Local Area Connection" static 10.0.5.99 255.255.255.0 10.0.5.1 1     
The syntax is:     set address [name=]InterfaceName [source=]{dhcp | static [addr=]IPAddress [mask=]SubnetMask [gateway=]{none | DefaultGateway [[gwmetric=]GatewayMetric]}}

Сделал все как написано. Сначала дал команду из командной строки:



Код:

Код: Выделить всё

C:\Documents and Settings\Администратор>set address name="Local2" static 169.254.37.101 255.255.0.0 169.254.37.1 1

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

Утверждения о том что для начала работы надо дать команду:



Код:

Код: Выделить всё

netsh interface ip

не совсем верно. Дело в том, что это три команды, и каждую надо давать по отдельности. Если дать вместе, только выскочит подсказка по применимым командам. После каждой команды в приглашение командной строки меняется:



Код:

Код: Выделить всё

C:\Documents and Settings\Администратор>netsh
netsh>interface
netsh interface>ip
netsh interface ip>set address name="Local2" static 169.254.37.100 255.255.0.0 1
69.254.37.1 1

Кстати в подсказке к команде указывается следующее:



Код:

Код: Выделить всё

Использование: set address [name=]<Имя интерфейса>
            [[source=]dhcp |
             [source=] static [addr=]IP-адрес [mask=]Маска подсети]
            [[gateway=] <IP-адрес шлюза>|none [gwmetric=]Метрика ]
Параметры:
      Тег            Значение
      name         - Имя этого интерфейса (строка).
      source       - Допустимо одно из следующих значений:
                     dhcp:   Устанавливает для указанного интерфейса
                             настройку IP-адресов с помощью DHCP.
                     static: Устанавливает для указанного интерфейса
                             статическую настройку IP-адресов.
      gateway      - Одно из следующих значений:
                     <IP-адрес шлюза>: IP-адрес основного шлюз для
                                       устанавливаемого статического IP-адреса.
                     none:             Основной шлюз не установлен.
      gwmetric     - Метрика основного шлюза. Этот параметр не должно быть
                     установлен, если значение параметра gateway = 'none'.
      Следующие параметры используются только если параметр source = 'static':
      addr         - IP-адрес указанного интерфейса.
      mask         - Маска подсети указанного IP-адреса.
Примечание:
         Используется для изменения режима настройки IP-адреса
         (статически или динамически). Добавляет IP-адреса к интерфейсу
         со статическим IP-адресом или добавляет основной шлюз.
Примеры:
       set address name="Подключение по локальной сети" source=dhcp
       set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

Но там ошибка!!! То что параметр gwmetric = Метрика указан как необязательный неверно!! Если дать команду без этого параметра выскочит сообщение о неверном синтаксисе команды!
Аватара пользователя
Dilinjer

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение Dilinjer »

andrystepa, а вопрос какой?



Код:

Код: Выделить всё

netsh interface ip set address "Подключение по локальной сети" static ip-адрес маска шлюз метрика
netsh interface ip set dns "Подключение по локальной сети" static днс-сервер

(метрика = 0 обычно).

Информацию о команде можно посмотреть в хелпе (Пуск -> Справка и поддержка -> Найти -> netsh) или выполнить в командной строке:



Код:

Код: Выделить всё

netsh interface ip set address /?
netsh interface ip set dns /?
Аватара пользователя
andrystepa

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение andrystepa »

Petya V4sechkin,

Вопроса нет - я лишь предупреждаю, что инструкция по указанной ссылке не совсем верна, и привожу тот вариант, который работает. В приведенной инструкции про netsh ни слова.
Аватара пользователя
Petya V4sechkin

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение Petya V4sechkin »

Цитата andrystepa:



Вопроса нет - я лишь предупреждаю, что инструкция по указанной ссылке не совсем верна,
Прочее - Настройка сетевого интерфейса из командной строки <Windows, netsh>




Про метрику - это вы поторопились
Аватара пользователя
andrystepa

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение andrystepa »

Цитата Dirk Diggler:



Цитировать
Прочее - Настройка сетевого интерфейса из командной строки <Windows, netsh>




А в чем я поторопился? Если не верите, пожалуйста, вот вывод командной консоли:

без указания метрики



Код:

Код: Выделить всё

C:\Documents and Settings\Администратор>netsh interface ip set address name="Loc
al2" static 169.254.37.100 255.255.0.0 169.254.37.1
Недопустимый синтаксис использованной команды. Воспользуйтесь справкой для этой
команды.
Использование: set address [name=]<Имя интерфейса>
            [[source=]dhcp |
             [source=] static [addr=]IP-адрес [mask=]Маска подсети]
            [[gateway=] <IP-адрес шлюза>|none [gwmetric=]Метрика ]
Параметры:
      Тег            Значение
      name         - Имя этого интерфейса (строка).
      source       - Допустимо одно из следующих значений:
                     dhcp:   Устанавливает для указанного интерфейса
                             настройку IP-адресов с помощью DHCP.
                     static: Устанавливает для указанного интерфейса
                             статическую настройку IP-адресов.
      gateway      - Одно из следующих значений:
                     <IP-адрес шлюза>: IP-адрес основного шлюз для
                                       устанавливаемого статического IP-адреса.
                     none:             Основной шлюз не установлен.
      gwmetric     - Метрика основного шлюза. Этот параметр не должно быть
                     установлен, если значение параметра gateway = 'none'.
      Следующие параметры используются только если параметр source = 'static':
      addr         - IP-адрес указанного интерфейса.
      mask         - Маска подсети указанного IP-адреса.
Примечание:
         Используется для изменения режима настройки IP-адреса
         (статически или динамически). Добавляет IP-адреса к интерфейсу
         со статическим IP-адресом или добавляет основной шлюз.
Примеры:
       set address name="Подключение по локальной сети" source=dhcp
       set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

А теперь с указанием метрики



Код:

Код: Выделить всё

C:\Documents and Settings\Администратор>netsh interface ip set address name="Loc
al2" static 169.254.37.100 255.255.0.0 169.254.37.1 1
ОК.

Тут я ничего не перепутал. Цитаты я просто скопировал из окна командной строки. Так что ни убавить ни прибавить...
Аватара пользователя
andrystepa

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение andrystepa »

Цитата andrystepa:



А теперь с указанием метрики
Прочее - Настройка сетевого интерфейса из командной строки <Windows, netsh>




а теперь ВНИМАТЕЛЬНО рассмотрите синтаксис команды. ВНИМАТЕЛЬНО!
Аватара пользователя
Dirk Diggler

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение Dirk Diggler »

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

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение andrystepa »

Кто выложит рабочий батничек для измеения IP на удаленном компе(comp2):

Например:

comp1-локальный.

comp2 удаленный:

addr:192.168.0.99 -> 192.168.0.98

mask: 255.255.255.0 -> 255.255.255.0

gateway: 192.168.0.150 -> None



Батничек необходимо запускать на comp1.



ЗЫ: перепробовал кучу вариаций netsh - ничерта невыходит изменить АйПи-шник и шлюз Изображение

ЗЫЫ: На comp1 и comp2 XP_SP2_RUS , учетная запись на comp1 на удаленном компе имеет права локального администратора.
Аватара пользователя
Dilinjer

Re: Прочее - Настройка сетевого интерфейса из командной строки

Сообщение Dilinjer »

Цитата Dilinjer:



Кто выложит рабочий батничек для измеения IP на удаленном компе(comp2):

Например:

comp1-локальный.

comp2 удаленный:

addr:192.168.0.99 -> 192.168.0.98

mask: 255.255.255.0 -> 255.255.255.0

gateway: 192.168.0.150 -> None

Батничек необходимо запускать на comp1.
Прочее - Настройка сетевого интерфейса из командной строки <Windows, netsh>




netsh interface ip set address «Подключение по локальной сети» static 192.168.0.98 255.255.255.0 none



для запуска этого скрипта на comp1 c comp2 используй psexec;




Цитата Dilinjer:



ЗЫЫ: На comp1 и comp2 XP_SP2_RUS
Прочее - Настройка сетевого интерфейса из командной строки <Windows, netsh>




а вот здесь есть тонкий момент - имя подключения «Подключение по локальной сети» для пакетного файла надо будет перекодировать из cp1251 в дос-кодировку (ср866)
Ответить

Вернуться в «Сетевые технологии»