Benutzerdefiniertes Benennungsschema für Netzwerkgeräte

334
Askhat Nuriddinov

Ich habe ein Ubuntu-Image für virtuelle Maschinen. Ich weiß nicht im Voraus, wie viele NICs für die Maschinen verwendet werden. Ich brauche alle Netzwerkschnittstellen, um Namen aus einer vordefinierten Liste zu erhalten.

Zum Beispiel mit einer Datei:

$ cat /etc/network/nic_names my_first_nic my_second_nic 

Ich benötige

$ ip link list 1: lo 2: my_first_nic 3: my_second_nic 

Wie kann ich das Image so konfigurieren, dass es mein benutzerdefiniertes Benennungsschema für Netzwerkgeräte unterstützt?

1
Es wäre wahrscheinlich hilfreich zu sagen, warum Sie dies brauchen. Die Dateianforderung legt eine Einschränkung für mögliche Lösungen fest, ist jedoch möglicherweise nicht anwendbar. Fügen Sie auch hinzu, wenn Sie "was auch immer Sie tun" mit Skripten usw. erweitern können. mtak vor 6 Jahren 1
Verwenden Sie `udev`-Regeln, um den Netzwerkschnittstellen persistente Namen zu geben. Legen Sie die Regeln so fest, dass sie zu Ihrem Schema / Ihrer Liste passen, oder generieren Sie sie aus der Liste der entsprechenden. Denken Sie auch darüber nach, wie MAC-Adressen in das passen, was Sie tun möchten. dirkt vor 6 Jahren 0
Wenn Sie nicht wissen, wie viele NICs vorhanden sein könnten, wie erwarten Sie eine statische vordefinierte Liste? Seth vor 6 Jahren 0
@Seth Ich weiß, dass der Betrag eine vordefinierte Anzahl nicht überschreitet. Askhat Nuriddinov vor 6 Jahren 0
@mtak Ich verwende eine Software, die eine bestimmte Benennung der Schnittstellen erfordert. Ich kann Skripte für diese Umbenennung verwenden. Ich habe versucht, `ip link set $ old name $ name` hinzuzufügen, konnte aber danach keine ssh. Askhat Nuriddinov vor 6 Jahren 0

1 Antwort auf die Frage

1
Askhat Nuriddinov

Hier ist die Lösung, die ich gefunden habe:

$ cat /etc/udev/rules.d/71-rename-ifs.rules  SUBSYSTEM=="net" ATTRS=="2" NAME="my_first_nic" SUBSYSTEM=="net" ATTRS=="3" NAME="my_second_nic" ... 

ifindex==1 wird übersprungen, da es sich um eine Loopback-Schnittstelle handelt.