Определение обозначения NIC от адреса PCI

Вы попытались сцепить свой ПК до маршрутизатора с кабелем Ethernet? По крайней мере, этот способ, которым можно диагностировать, если проблема с беспроводными драйверами/аппаратными средствами или если это в более высоком уровне.

4
31.08.2012, 17:20
2 ответа

Это обычно делается MAC-адресом, не адресом PCI.

  1. Если RHEL 5.8 поддерживает/etc/udev/rules.d/70-persistent-net.rules файл, Вы могли бы создать тот.

    Просто скопируйте один с другой машины и отредактируйте ее так, чтобы название правильного устройства было присвоено на основе MAC-адреса.

    Все, в чем Вы действительно нуждаетесь в том файле, является 3 строками как этот: (проигнорируйте любое обертывание строки, это - вся одна строка),

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:cd:b0:23:b9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

    Измените ATTR {адрес} и ИМЯ = "eth[012]" для удовлетворения NICs и требованиям.

    Я не уверен, имеет ли RHEL 5.4 или 5.8 его, но это могла бы быть стоящая проверка, чтобы видеть, есть ли у Вас сценарий, названный/lib/udev/write_net_rules - если Вы имеете, просто выполняете его, это генерирует 70 персистентных net.rules файлов, поэтому просто отредактирует НАЗВАНИЕ каждого NIC.

    Можно получить MAC-адреса с ifconfig | grep 'eth.*HWaddr', затем просто вставка копии их в 70 персистентных net.rules файлов.

    Когда это сделано, можно или перезагрузить, или вниз все интерфейсы, разгрузить их модули драйвера ядра, перезагрузить модули (интерфейсы будут теперь иметь свои присвоенные имена устройств), и затем возвратите интерфейсы.

  2. Прежде udev и 70 персистентных net.rules файлов, я раньше использовал названную программу ifrename от пакета беспроводных инструментов (это работает над любым NIC, не просто беспроводной связью). Это использует/etc/iftab файл для переименования сетевых интерфейсов MAC-адресом. Это главным образом работало, но было менее надежным, чем udev метод.

    Я понятия не имею, упаковывается ли это для RHEL или не, но можно найти его по http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

  3. Я не использовал этот метод для NIC сам, но также возможно использовать udev для персистентного именования устройств на основе адреса PCI. Во-первых, удалите/etc/udev/rules/70-persistent-net.rules, если это существует. Затем создайте новый файл в/etc/udev/rules - возможно, называют это 70-persistent-net-by-pci.rules

    Добавьте строки как следующее:

    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.0",    NAME="eth0"
    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.1",    NAME="eth1"
    ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:05:03.0",    NAME="eth2"
    

    На некоторых более новых Linux (например, Ubuntu 13.04 или позже) необходимо удалить спецификатор ШИНЫ, таким образом, правило (правила) должно быть похожим:

    ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:03.0",    NAME="eth0"
    

    Затем или перезагрузка или разгружает и перезагружает модули драйвера, как описано выше.

    Можно найти больше деталей по http://linux-tips.org/article/73/persistent-device-naming-with-udev - но страница довольно стара и относится к устаревшему udevinfo команда. Использовать udevadm info вместо этого

4
27.01.2020, 20:56
  • 1
    Используя udev/rules.d я также должен не забыть удалять строку HWADDR из /etc/sysconfig/network-scripts/ifcfg-eth* файлы. –  DanS 06.09.2012, 18:45

На RedHat 5 MAC и имя интерфейса должны быть достаточно. Я никогда не играл с udev или указателями PCI там.

Набор HWADDR к MAC и УСТРОЙСТВО к названию целевого устройства.

Что касается имени в/etc/sysconfig/network* можно использовать значимый псевдоним для имен конфигурации IFCFG-ПСЕВДОНИМ.

0
27.01.2020, 20:56

Теги

Похожие вопросы