RHEL: создание стабильных имен для сетевых интерфейсов

У нас есть коробка RHEL 5.5 с 8 интерфейсами. Именование имен eth – flip flopping. Иногда eth0 появляется на физическом порту 7-го, а иногда и на другом физическом порту.

Мы хотим, чтобы имя было в соответствии с последовательностью PCI BUS. Я провел исследование и обнаружил, что

 cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:07\:07.0/net\:eth0/address\ 

Эти местоположения имеют адрес mac этих устройств. Поэтому, если я получаю «адрес» в последовательности из этих мест шины pci и помещаю их в ifconfig-eth0 в ifconfig-eth7 в порядке расположения шины PCI, мое eth имя будет стабильным.

Я пытался:

 find /sys/devices/ -name "address" 

но это не приносит никаких результатов. Я не знаю, почему …

Любая помощь здесь?

3 Solutions collect form web for “RHEL: создание стабильных имен для сетевых интерфейсов”

Вы пытались включить MAC-адреса в различные файлы ifcfg-ethX для различных устройств ethernet? Кроме того, вы можете контролировать, какое устройство получает, с каким ethX обрабатывается файл udev's 60-net.rules .

Например

 # /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82573E Gigabit Ethernet Controller (Copper) DEVICE=eth0 BOOTPROTO=static DHCPCLASS= HWADDR=00:30:48:56:A6:2E IPADDR=10.10.10.15 NETMASK=255.255.255.192 ONBOOT=yes 

Затем в файле /etc/udev/rules.d/60-net.rules :

 KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0" 

Я считаю, что эта информация используется для постоянного поддержания конфигурации устройств от загрузки до загрузки.

Настройка более одного устройства ethX

Чтобы иметь дело с большим количеством устройств, просто настройте каждое устройство, соответствующее /etc/sysconfig/network-scripts/ifcfg-ethX , и добавьте еще одну строку в файл 60-net.rules .

 KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0" KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2F", NAME="eth1" 

Выше описано, как вы это делаете в CentOS 5.X. Файл изменяется в CentOS 6.x до 70-persistent-net.rules , и формат немного отличается:

 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 

Рекомендации

  • сохраняя eth0 как ETH0. – Блог пользователя pwrusr.com

Насколько мне известно, вам нужен относительно новый выпуск. RHEL 6, похоже, поддерживает это ( согласованное сетевое имя устройства ), хотя в большинстве систем оно должно быть специально включено . Fedora 15+ также делает это, и, по версии Fedora 17, это режим по умолчанию.

Я не знаю точно, когда это изменение было полностью принято и, что более важно для этого вопроса, если есть какой-либо способ сделать это для RHEL 5. Это, по крайней мере, начало.

Вы должны получить аппаратный адрес:

 ifconfig -a | grep HWaddr 

Или, возможно:

 tail -v /sys/devices/*/*/net/eth*/address # or tail -v /sys/devices/*/*/*/net/eth*/address 

find должен совпадать.

Также проверьте:

 cat /etc/udev/rules.d/70-persistent-net.rules 

Se комментарии ниже .

  • .bashrc не выполняется
  • Синхронизация одинаковых каталогов между двумя Linux-серверами
  • Как заставить команду NIC приступить к загрузке в RHEL 7
  • linux + запустить скрипт на удаленном компьютере
  • Поворот файлов журнала Apache
  • Понимание многолучевого распространения и точек монтирования
  • Как остановить внешний жесткий диск Western Digital от спящего режима
  • Установка с USB не выполняется
  • Проблема с портом Linux Apache
  • различные контрольные суммы исходного файла и скопированного файла
  • yum info: что означает «Репо: установлен»?
  • Interesting Posts

    Как ядро ​​предотвращает просмотр вредоносной программы всей физической оперативной памяти?

    В чем разница между / sbin / nologin и / bin / false

    Невозможно выполнить поиск флажков на странице руководства qalter?

    Влияние UEFI & SecureBoot, насколько серьезным?

    Проблема с конфигурацией Apache2?

    Повторное нажатие клавиш, которые генерируют несколько кодов сканирования

    Случайные аргументы (содержащие цветовые коды) из массива

    Как получить более точную информацию о завершении работы программы?

    Установка дистрибутива Linux на QEMU

    Как создать настраиваемое динамическое решение DNS?

    Как предоставить доступ для чтения ко всем домашним каталогам членов группы?

    Как использовать + в регулярном выражении в sed?

    В чем разница между STDIN и аргументами, переданными команде?

    Висячие установки блокируют новые установки в WebOS

    Не удалось войти в учетную запись: не удалось открыть сеанс

    Linux и Unix - лучшая ОС в мире.