Вы попытались сцепить свой ПК до маршрутизатора с кабелем Ethernet? По крайней мере, этот способ, которым можно диагностировать, если проблема с беспроводными драйверами/аппаратными средствами или если это в более высоком уровне.
Это обычно делается MAC-адресом, не адресом PCI.
Если 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 файлов.
Когда это сделано, можно или перезагрузить, или вниз все интерфейсы, разгрузить их модули драйвера ядра, перезагрузить модули (интерфейсы будут теперь иметь свои присвоенные имена устройств), и затем возвратите интерфейсы.
Прежде udev и 70 персистентных net.rules файлов, я раньше использовал названную программу ifrename
от пакета беспроводных инструментов (это работает над любым NIC, не просто беспроводной связью). Это использует/etc/iftab файл для переименования сетевых интерфейсов MAC-адресом. Это главным образом работало, но было менее надежным, чем udev метод.
Я понятия не имею, упаковывается ли это для RHEL или не, но можно найти его по http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
Я не использовал этот метод для 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
вместо этого
На RedHat 5 MAC и имя интерфейса должны быть достаточно. Я никогда не играл с udev или указателями PCI там.
Набор HWADDR к MAC и УСТРОЙСТВО к названию целевого устройства.
Что касается имени в/etc/sysconfig/network* можно использовать значимый псевдоним для имен конфигурации IFCFG-ПСЕВДОНИМ.
/etc/sysconfig/network-scripts/ifcfg-eth*
файлы. – DanS 06.09.2012, 18:45