У меня есть 2 адаптера Ethernet на сервере 2U, каждый из которых имеет 4 порта, всего 8 портов. Есть ли способ узнать имя интерфейса (eth0, eth1 ... eth7) для каждого порта без подключения к коммутатору? Спасибо.
Редактировать:
ОС: CentOS 5.6 64-разрядная
Было бы полезно, если бы вы отредактировали свой вопрос, чтобы указать точную марку и модель карт Ethernet. Кроме того, я предполагаю, что вы используете Linux, но было бы полезно знать, какой дистрибутив и версия. Без этого у меня есть основы идеи. Для принуждения каждого порта к данной метке eth [0-9] вместо определения, какой из них был автоматически назначен.
Каждый порт будет иметь свой собственный MAC-адрес, в большинстве современных дистрибутивов можно сопоставить данный MAC-адрес с определенным именем устройства, таким как eth0 или eth1, при каждой загрузке, чтобы он всегда был согласован.
В качестве конкретного примера недавняя установка Ubuntu имеет udev. Файл /etc/udev/rules.d/70-persistent-net.rules имеет следующую строку:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1f:d0:8f:47:83", ATTR\ {type}=="1", KERNEL=="eth*", NAME="eth0"
Это будет отображать сетевую карту с MAC-адресом 00: 1f: d0: 8f: 47: 83 на eth0 при каждой загрузке, независимо от того, где эта карта физически подключена на моей материнской плате. Для вас я предлагаю вам определить MAC-адрес каждого порта, а затем сопоставить каждый из них с требуемым eth [0-9].