Может ли имя быть одновременно «произвольным» и «основанным на расположении оборудования»? Эти слова противоречат друг другу.
В
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 .
Сетевые интерфейсы не могут иметь псевдонимы.