Ubuntu change p1p1 to eth0

Jeśli po wydaniu komendy ifconfig w Ubuntu zamiast dotychczasowych nazw interfejsów zaczynających się od eth widzicie coś w rodzaju p1p1, p1p2, itd. i chcielibyście mieć poprzednie nazewnictwo nic prostszego.

1) Edytujemy plik /etc/udev/rules.d/70-persistent-cd.rules:

root@server:/# vim /etc/udev/rules.d/70-persistent-cd.rules

i zamiast p1p1 wpisujemy np. eth0 jak poniżej:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:31:4e:2c:03:e1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

jeśli nie macie takiego wpisu w powyższym pliku, należy go dodać podając adres MAC karty sieciowej, dla której chcemy zmienić nazwę.

2) Sprawdzamy za pomocą ifconfig czy dany interfejs jest podniesiony. Jeśli tak zatrzymujemy go:

root@server:/# ifdown p1p1

3) Usuwamy załadowany moduł ze sterownikami karty (w poniższym przykładzie dla karty opartej o chipset Realtek:

root@server:/# modprobe -r 8139too

Jeśli nie znacie nazwy modułu poleceniem lspci -v wyświetlicie załadowane moduły. W linii: Kernel driver in use: 8139too będzie używany sterownik i jednocześnie nazwa modułu do usunięcia.
4) Przładowujemy reguły udev:

root@server:/# udevadm control --reload-rules

5) Stosujemy nowe zasady:

root@server:/# udevadm trigger

6) Ładujemy sterownik karty sieciowej:

root@server:/# modprobe 8139too

7) Jeśli interfejs się nie podniósł i nie widać go po wydaniu polecenia ifconfig przeładowujemy ustawienia sieciowe:

root@server:/# service networking start

 8) Jeśli po restarcie serwera nadal jest stara nazwa interfejsu p1p1 prawdopodobnie przyczyną jest pakiet biosdevname, który zmienia nazwy interfejsów sieciowych na nazwy z biosa. W takim przypadku należy w pliku /etc/default/grub odszukać linijki:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
GRUB_CMDLINE_LINUX=””

i dopisać do nich:

GRUB_CMDLINE_LINUX_DEFAULT=”biosdevname=0 quiet splash”
GRUB_CMDLINE_LINUX=”biosdevname=0

na zakończenie aktualizujemy grub’a:

root@server:/# update-grub

i restartujemy serwer:

root@server:/# reboot

Można też odinstalować pakiet biosdevname:

root@server:/# apt-get purge biosdevname

i usunąć jego ustawienia:

root@server:/#  update-initramfs -u