Однажды после обновления драйвера i40e для сетевых адаптеров Intel я заметил что изменились имена сетевых интерфейсов, а также после перезагрузки операционной системы имена периодически тоже изменялись.
По этому перед обновлением драйвера необходимо обязательно сохранить mac адреса нужных сетевых интерфейсов, информацию о mac адресе, модели сетевого адаптера, на каких сетевых интерфейсах поднялся линк, можно посмотреть например командами ниже:
lshw -C network | less
dmesg -T | less
ip a
ls /sys/class/net/
ls /sys/class/net/enp0s3/
cat /sys/class/net/enp0s3/address
Чтобы указать имя сетевому интерфейсу, например в Ubuntu, откроем указанный ниже файл в текстовом редакторе:
nano /etc/udev/rules.d/70-snap.snapd.rules
И добавим строку (в которой укажем «address» — mac адрес нужного сетевого интерфейса, KERNEL — шаблон в который попадает старое имя, например eth*, enp*, eno*, ens* и «NAME» — его желаемое новое имя):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:b3:00:00:d3:92", ATTR{type}=="1", KERNEL=="eth*", NAME="wan"
При изменении имен сетевых интерфейсов также не забываем исправить их в конфигурации сети, например в /etc/network/interfaces или /etc/netplan/. Либо сделаем имена сетевых интерфейсов такими как они описаны в конфигурации сети и были ранее до обновления драйвера.
Можно также вносить изменения в отдельный файл, например:
nano /etc/udev/rules.d/1-user-udev.rules
KERNEL=="eth*", ATTR{address}=="6c:b3:00:00:d3:92", NAME="ens2"
KERNEL=="eth*", ATTR{address}=="6c:b3:00:00:d3:90", NAME="ens4"
Перезагрузим операционную систему и убедимся что сетевой интерфейс успешно переименован и имеет правильные настройки сети.
Смотрите также мои статьи:
Как вернуть ethX имена сетевым интерфейсам
Как посмотреть информацию о сетевом адаптере в Linux
Обновление драйвера i40e Intel