Jak zmienić nazwę interfejsu sieciowego w 15.10?

35

Zdecydowałem się na czystą instalację 15.10, w wyniku czego muszę ponownie zainstalować MATLAB. Licencje MATLAB są powiązane z adresem sprzętowym eth0.

Moja karta Ethernet jest wymieniona jako enp1s0 i muszę zmienić jej nazwę na eth0. tylko lo jest na liście /etc/network/interfacesi /etc/udev/rules.d/70-persistent-net.rulesnie istnieje, więc nie jestem pewien, od czego zacząć.

Steve Mohan
źródło
1
Możesz zdefiniować udevregułę zmiany nazwy interfejsu, ponieważ eth0..lety mówią, że adres MAC interfejsu to xx:XX:xx:YY:yy:ZZmożesz utworzyć plik /etc/udev/rules.d/np. 99-rename-net.rulesI wstawić plik SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0".. jeśli nie znasz adresu MAC, możesz go uzyskać z /sys/class/net/enp1so/addresspliku ..
heemayl
@ heemayl, jeśli dodałeś ten komentarz jako odpowiedź, wtedy ludzie mogliby komentować go łatwiej i dyskutować, dlaczego wydaje się on działać dla niektórych osób, a nie dla innych. Uściski!
Jonathan Hartley
Odpowiedź @ heemayl w powyższym komentarzu nie działała dla mnie w przypadku nowej instalacji Ubuntu 15.10.
Jonathan Hartley
W powyższym @jdnz zasugerował użycie .linkplików systemd , ale niektórzy sugerowali, że to nie zadziałało. Najprawdopodobniej nie działało, ponieważ po edycji plików linków initramfs muszą zostać zaktualizowane . Najpierw postępuj zgodnie z odpowiedzią @ jndz, a następnie postępuj zgodnie z odpowiedzią, którą podałem powyżej.
Pinja-Liina Jalkanen,

Odpowiedzi:

29

Moim rozwiązaniem było utworzenie pliku /etc/udev/rules.d/10-rename-network.rulesz zawartością:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
richvdh
źródło
1
To DID działało dla mnie na Ubuntu 15.10 (w przeciwieństwie do wyżej głosowanych odpowiedzi i komentarzy do pytania)
Jonathan Hartley
1
@ steve-mohan To jest poprawna odpowiedź i powinna być oznaczona jako poprawna.
Hubro
5
To działa rzeczywiście od 16.04.
EnzoR
Ponieważ jest to najlepsza odpowiedź - chcę tylko zauważyć, co faktycznie dla mnie zadziałało .. musiałem zmienić konfigurację gruba i ponownie wygenerować
qodeninja
1
Pracował dla mnie w 16.04. ff: ff: ff: ff: ff: ff musiał zostać zastąpiony adresem MAC.
Ken Shirriff
7

Miałem ten sam problem i dodawanie plików /etc/udev/rules.d/nie pomogło. Problem dotyczy używania przewidywalnych nazw interfejsów sieciowych, jak opisano tutaj . Aby utworzyć własny schemat nazewnictwa, tj. Nazwać urządzenie „eth0” dla MATLAB, możesz utworzyć własne .linkpliki w /etc/systemd/network/sposób opisany tutaj .

W szczególności stworzyłem plik /etc/systemd/network/10-eth.linkz zawartością

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

zamieniając ff:ff:ff:ff:ff:ffna adres MAC urządzenia, które chciałem zmienić. Po ponownym uruchomieniu nazwa była zgodna z życzeniem.

jdnz
źródło
1
To nie zadziałało i chciałbym wiedzieć, dlaczego.
richvdh
1
Nie działało to dla mnie na Ubuntu 15.10
Jonathan Hartley
1
To nie zadziała od 16.04.
EnzoR
6

Jeśli z jakiegokolwiek powodu odpowiedź sugerowana przez @zab nie działa dla Ciebie, możesz również wyłączyć ten schemat nazewnictwa, taki jak tutaj . Ale metoda zaproponowana przez @zab jest potencjalnie bezpieczniejsza

Po prostu nie podałem argumentu nazwa-bios = 0 do argumentu wiersza poleceń, wydaje się, że jest domyślnie wyłączony.

Należy wykonać następujące kroki:

$ sudo nano /etc/default/grub

W linii GRUB_CMDLINE_LINUX dodaj net.ifnames = 0

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

Następnie wygeneruj nowy plik grub:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

Na końcu zrestartuj system.

Dmitrij Kozłow
źródło
1
Czy możesz rozwinąć tę kwestię, aby ta odpowiedź była przydatna, jeśli ten link nie będzie dostępny w przyszłości?
Zanna,
@Zanna To się stało
Dmitriy Kozlov
2
Po niezliczonych próbach wszystkiego w całym Internecie, to właśnie naprawiło dla mnie ethernet. Moja sytuacja (w przypadku Wyszukiwarki Google w przyszłości) nie była ethernetowa po zainstalowaniu Linux Mint (lub Ubuntu) przez Serva / PXE, ponieważ głupia karta sieciowa używa przewidywalnej nazwy interfejsu sieciowego zamiast eth0. Instrukcje zostały znalezione tutaj: itzgeek.com/how-tos/mini-howtos/…
ThePCpenguin
Na dzień dzisiejszy (z zainstalowanymi wszystkimi aktualizacjami) to działa. Dziękuję Ci.
Erutan409,
2

To działało dla mnie na serwerze 16.04, ponieważ eno1 pokazywał, kiedy to robiłem ifconfig -a. Musiałem uruchomić interfejs, ponieważ ifconfig eno1 upwtedy wykonałem następujące czynności:

vi /etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
Jose
źródło
Czy to zmienia nazwę natychmiast, czy tylko po ponownym uruchomieniu?
Xen2050