Come rinominare l'interfaccia di rete in 15.10?


35

Ho deciso di eseguire un'installazione pulita del 15.10 e, di conseguenza, è necessario reinstallare MATLAB. Le licenze MATLAB sono legate all'indirizzo hardware eth0.

La mia scheda Ethernet è elencata come enp1s0 e devo rinominarla in eth0. solo lo è elencato /etc/network/interfacese /etc/udev/rules.d/70-persistent-net.rulesnon esiste, quindi non sono sicuro da dove cominciare.


1
È possibile definire una udevregola per rinominare l'interfaccia come eth0..let dicono che l'indirizzo MAC dell'interfaccia è xx:XX:xx:YY:yy:ZZquindi è possibile creare un file in /etc/udev/rules.d/eg 99-rename-net.rulese inserire SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"il file..se non si conosce l'indirizzo MAC, allora è possibile ottenerlo dal /sys/class/net/enp1so/addressfile ..
heemayl

@heemayl se hai aggiunto quel commento come risposta, allora le persone potrebbero commentarlo più facilmente e discutere del perché sembra funzionare per alcune persone e non per altri. Abbracci!
Jonathan Hartley,

La risposta di @ heemayl nel commento sopra non ha funzionato per me, su una nuova installazione di Ubuntu 15.10.
Jonathan Hartley,

In quanto sopra, @jdnz ha suggerito di utilizzare i .linkfile di systemd , ma alcuni altri hanno suggerito che questo non funzionasse per loro. Molto probabilmente non ha funzionato perché dopo aver modificato i file di collegamento è necessario aggiornare initramfs . Quindi, segui prima la risposta di @jndz, quindi segui la risposta che ho linkato sopra.
Pinja-Liina Jalkanen,

Risposte:


29

La mia soluzione a questo era di creare un file /etc/udev/rules.d/10-rename-network.rulescon il contenuto:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

1
Questo DID funziona per me su Ubuntu 15.10 (a differenza delle risposte e dei commenti più votati sulla domanda)
Jonathan Hartley

1
@ steve-mohan Questa è la risposta giusta e deve essere contrassegnata come corretta.
Hubro

5
Funziona davvero dal 16.04.
EnzoR,

Dato che questa è la risposta migliore, voglio solo notare cosa ha funzionato per me. Ho dovuto cambiare una configurazione di grub e rigenerare il comando di avvio in modo da disabilitare la ridenominazione delle interfacce di rete come descritto qui: itzgeek.com/how-tos/ mini-howtos /…
qodeninja,

1
Ha funzionato per me nel 16.04. ff: ff: ff: ff: ff: ff doveva essere sostituito con l'indirizzo MAC.
Ken Shirriff,

7

Ho avuto lo stesso problema e l'aggiunta di file /etc/udev/rules.d/non mi ha aiutato. Il problema sembra essere l'uso di nomi di interfaccia di rete prevedibili come descritto qui . Per creare il proprio schema di denominazione manuale, ad esempio per denominare il dispositivo "eth0" per MATLAB, è possibile creare i propri .linkfile /etc/systemd/network/come descritto qui .

In particolare, ho creato un file /etc/systemd/network/10-eth.linkcon i contenuti

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

sostituendo ff:ff:ff:ff:ff:ffcon l'indirizzo MAC del dispositivo che volevo cambiare. Dopo il riavvio il nome era come desiderato.


1
Questo non ha funzionato per me e mi piacerebbe sapere perché.
richvdh,

1
Questo non ha funzionato per me su Ubuntu 15.10
Jonathan Hartley il

1
Questo non funzionerà a partire dal 16.04.
EnzoR,

6

Se per qualsiasi motivo la risposta suggerita da @zab non funziona per te, puoi anche disabilitare questo schema di denominazione come qui . Ma il metodo proposto da @zab è potenzialmente più sicuro

Non ho incluso biosdevname = 0 nell'argomento della riga di comando, sembra essere disattivato per impostazione predefinita.

Seguire i seguenti passi:

$ sudo nano /etc/default/grub

Alla riga GRUB_CMDLINE_LINUX aggiungi net.ifnames = 0

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

Quindi genera un nuovo file grub:

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

Alla fine riavviare il sistema.


1
Potresti per favore elaborare in modo che questa risposta sarà ancora utile se quel link non sarà disponibile in futuro?
Zanna,

@Zanna Ecco fatto
Dmitriy Kozlov,

2
Dopo innumerevoli tentativi di tutto su Internet, questo è ciò che fissa Ethernet per me. La mia situazione (per le ricerche di Google in futuro) non era ethernet dopo l'installazione di Linux Mint (o Ubuntu) tramite Serva / PXE perché la stupida scheda di rete utilizza un nome di interfaccia di rete prevedibile anziché eth0. Le istruzioni sono state trovate qui: itzgeek.com/how-tos/mini-howtos/…
ThePCpenguin

Ad oggi (con tutti gli aggiornamenti installati) funziona. Grazie.
Erutan409,

2

Questo ha funzionato per me sul server 16.04 come eno1 stava mostrando quando l'ho fatto ifconfig -a. Ho dovuto aprire l'interfaccia come ifconfig eno1 upallora ho fatto quanto segue:

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

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

Questo cambia il nome immediatamente o solo dopo un riavvio?
Xen2050,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.