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 комментарии ниже .

  • Red Hat Enterprise Linux 6: /boot/grub/menu.lst или /boot/grub/grub.conf?
  • Как очистить кеш памяти в Linux
  • Настройка шрифта программирования в RHEL 5 + gvim
  • включите numlock на экране входа в систему. GDM
  • linux + messages + что означает «Слишком много открытых файлов (24)»
  • EACCES, которые не должны произойти
  • Владелец не может читать / proc / $ pid / io
  • Несколько типов доступа ssh от данного пользователя1 / клиента к одному пользователю2 / серверу
  • Wget, отменить повторную попытку после сбоя или таймаута
  • Скрипт останавливает команду в нем с выходом 0
  • Пользовательский скрипт shutdown в rc6.d, похоже, не работает.
  • где можно найти задержку на диске с помощью iostat (await, svctm,% util)?
  • Interesting Posts

    KDE отключает звуки рабочих столов, которые не просматриваются

    Fedora 23 устанавливает проблемы (конфигурация хранилища + сбой сканирования диска sda)

    Как я могу выбрать другой файл bin?

    Autorepeat не работает

    Скрипт инициализации Xfce

    удаление всех вхождений данной команды из истории

    Как начать все сеансы оболочки в каталоге, отличном от $ HOME?

    Кто создает / etc / {group, gshadow, passwd, shadow} -?

    Если я устанавливаю java bin PATH Dockerfile Jar Command, но tomcat не делает

    Как эта команда sed работает?

    Не удается запустить startx на Debian после некоторых изменений

    Как установить меньше на Oracle Linux Server

    Как настроить systemd, чтобы включить простой скрипт с помощью стандартногоIO в сетевой службе

    Как поведение файловой системы ведет себя в разных системах, совместно использующих экспорт NFS?

    Является ли системный вызов единственным способом, который пользовательская программа может преднамеренно повлиять на состояние ядра Linux?

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