Windows: Отримайте номер інтерфейсу NIC


17

У мене є така проблема: у мене є сервер з досить динамічною мережевою конфігурацією і мені потрібно налаштувати маршрути на ньому за допомогою параметра IF:

route add  ... mask ... ... if ?

Чи є надійний спосіб, вручну чи чи програмно, отримати цей номер інтерфейсу, якщо я знаю про все інше про цей адаптер?

Відповіді:


22

Ви можете бачити цю інформацію і під час виконання route printкоманди. Це перше, що відображається. Індекс - це перша колонка

===========================================================================
Interface List
 13... ......Bluetooth Device (Personal Area Network)
 10... ......Intel(R) 82566MM Gigabit Network Connection
 11... ......Intel(R) Wireless WiFi Link 4965AG
 17... ......VMware Virtual Ethernet Adapter for VMnet1
 18. . ......VMware Virtual Ethernet Adapter for VMnet8

14

Наступна команда відображає список інтерфейсів:

netsh int ipv4 show interfaces


1
Це працює, але слід трохи пояснити свою відповідь, щоб переконатися, що вона не позначена.
TheCleaner

9

Оскільки ви знаєте все інше про адаптер і оскільки ви використовуєте Server 2008, ви можете (і повинні) просто додати свої маршрути за допомогою netsh, використовуючи назву інтерфейсу:

netsh int ipv4 add route <remote netid>/<remote netmask> <interface name> <next hop>

Використання команди маршруту, як правило, застаріло в 2008 році.


Я б не сказав, що це знецінено .. просто зараз більше рекомендується використовувати neth. :) До речі, ваша команда повинна бути "netsh interface ipv4 add route"
Рекс

Так, рухався занадто швидко, команда редагувалась :) Хоча Microsoft рідко використовує термін "застарілий", я вважаю, що їх термін в основному був "Рекомендується використовувати нетш замість маршруту", рухаючись вперед. Я особисто бачив деякі проблеми з кластерами при використанні команди маршруту, в якій проблеми з маршрутизацією трапляються в режимі відмови.
фоекс

2
Зауважте, що ім'я adatper може відрізнятися від того, яке вводиться, route printа неправильне ім'я призведе до "корисного" повідомлення про помилку: "Ім'я файлу, ім'я каталогу або синтаксис мітки тома невірно." використовувати netsh interface ipv4 show interfacesдля пошуку фактичної назви.
ET-CS

3

Ви можете використовувати PowerShell:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List

Це повертає числа, але вони не відповідають route printрезультату. Ці DeviceIDзначення також не збігаються. (І ні, це не просто питання "за одним".
Джон Сейгель,

Згідно з блогом MS, routeкоманда повертає пріоритет адаптера. Ця команда повертає InterfaceIndex. дивіться тут: blogs.technet.microsoft.com/networking/2015/08/14/…
bobpaul
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.