Come posso creare un alias per un dispositivo di rete?


13

Sto cercando di far funzionare un particolare software che utilizza un gestore di licenze che non ha notato che le più recenti distribuzioni Linux non nominano più i loro dispositivi di rete eth0. Sta cercando di verificare l'indirizzo MAC, ma poiché la mia scheda di rete viene chiamata ens1su Centos 7, questo non funziona.

Il fornitore di questo software l'ha già riparato su un altro computer e mi piacerebbe capire come hanno fatto. Hanno creato una sorta di alias per ens1consentire al gestore delle licenze di ritrovarlo eth0.

L'alias non viene mostrato affatto se lo faccio ifconfig -a, ma è visibile quando si chiama esplicitamente ifconfig eth0. Utilizzando il ip linkcomando è visibile come segue:

eth0@ens1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT
link/ether [mac address] brd ff:ff:ff:ff:ff:ff

Che cosa hanno fatto esattamente qui e come posso ricreare questo tipo di alias su un altro computer?


2
Hanno forse usato ip link set ens1 name eth0@ens1? Dubito che sopravviverebbe a un riavvio del genere, ma forse puoi apportare la modifica alla DEVICElinea ifcfg-ens1o qualcosa del genere? Riesci a vedere entrambi eth0@ens1e ens1nella tua ip linklista o solo il nuovo nome?
Eric Renouf,

1
ho appena provato questo in una macchina virtuale - ip link set ens1 name eth0@ens1mostra anche il nuovo nome ifconfig -a. e viene ip link set ens1 alias eth0visualizzato alias eth0su una riga separata quando corri ip link.
Cas

Risposte:


5

Questo è probabilmente fatto usando la macvlanfunzione. Permette di aggiungere interfacce Ethernet virtuali su un'interfaccia hardware esistente. Nel tuo caso, avrebbe potuto essere fatto in questo modo:

ip link add link ens1 name eth0 type macvlan

Per impostazione predefinita, la nuova interfaccia ottiene un indirizzo MAC unicast amministrato localmente scelto casualmente. In alternativa è possibile specificare l'indirizzo MAC con address <MAC>.


1

È possibile utilizzare una regola udev per rinominare la scheda NIC nel vecchio eth0stile.

es. modifica /etc/udev/rules.d/70-persistent-net.rulesper avere una linea come questa:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

dove si xx:xx:xx:xx:xx:xxtrova l'indirizzo MAC della scheda di rete.

Dovrai anche aggiornare qualsiasi configurazione di rete in modo che utilizzi il eth0nome anzichéens1

Vedere Nomi di interfaccia di rete prevedibili per ulteriori informazioni sul perché si è verificato questo cambiamento.


2
Vorrei evitare di rinominare completamente le interfacce e sono anche curioso di sapere come funziona l'alias che hanno implementato.
Scienziato pazzo,

1
non ho mai visto quel eth0@ens1modulo prima, e cercare su Google mostra solo la tua domanda. Ci hai provato grep -r eth0 /etc? se lo trovi, per favore pubblica anche io perché sono curioso.
Cas
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.