Děkuji za rady, ale 'net.ifnames=0' 'biosdevname=0' už mám v /etc/default/grub delší dobu a názvy portů eth0-3 mezi sebou nepřeskakují, protože na nich mám statické IPv4 a ty drží.
Tak jasně, že na těch názvech eth0 až eth3 drží IP adresy, protože IP adresy jsou přiřazeny k názvům. To, že se názvům pravidelně mění MAC adresy skutečně bude nejspíš znamenat, že se ve skutečnosti mění i porty, které jsou jednotlivým názvům přiřazeny.
Přechod na
predikovatelné názvy, problém vyřeší, stejně tak přejmenování pomocí udevu, jen pozor:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:00:00:01", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:00:00:02", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:00:00:03", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:00:00:04", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
Přejmenování do stejných názvů už není podporováno, ten kód nikdy dobře nefungoval a náhodně produkoval síťové karty pojmenované ve stylu
rename_eth2. Když ale do pravého NAME= vložíte jakékoli jiné jméno než
eth a číslo, aby bylo jisté, že dané cílové rozhraní v době přejmenování nebude existovat, bude to fungovat spolehlivě.