Может ли имя быть одновременно «произвольным» и «основанным на расположении оборудования»? Эти слова противоречат друг другу.
В
eth#
имена присваиваются самого ядра на основе порядка обнаружения на каждом ботинке - другими словами, они «первым пришел, первым обслужен», и не имеют ничего общего с аппаратным адресом.Старые версии udev использовались для автоматического создания файла,
/etc/udev/rules.d
чтобы связать эти назначения с MAC-адресами карт. Вы, вероятно, можете скопировать этот файл в новые системы.Вы также можете написать пользовательские правила udev для установки
NAME=
параметра на основе адреса или расположения PCI. (Обратите внимание, что в будущем udev может отказаться переименовывать интерфейсeth*
, если это еще не сделано. И даже если это разрешено, это переименование является очень хрупким и может привести к сбою, если устройства обнаруживаются в другом порядке.)Хотя, насколько мне известно, RHEL 6 использовал biosdevname для генерации имен физических интерфейсов (переключатель ядра
biosdevname=0
). Для этой цели RHEL 7 использует встроенный в systemd-udevd net_id (переключатель ядраnet.ifnames=0
).Чтобы получить
p1p2
имена стилей, вы можетеyum install biosdevname
затем включить их через командную строку ядра (biosdevname=1 net.ifnames=0
). Смотрите документацию Red Hat .
Сетевые интерфейсы не могут иметь псевдонимы.