2016-04-01 14 views
1

Wie erwähnt here seit Ubutnu 15.10 es einige unterschiedlichen Namenssysteme für Netzwerkschnittstellen werden unterstützt:Predict Schnittstellennamen ab ubuntu 15.10

  • Names Firmware/BIOS bereitgestellt Indexnummern für Bord Vorrichtungen (Beispiel eingebaute ENO1)
  • enthält Namen Firmware/BIOS bereitgestellt PCI Express Slot hotplug Indexnummern (Beispiel: ENS1)
  • Namen enthält physikalische/geographische Lage des Anschluss der Hardware (e xample: enp2s0)
  • Namen der Schnittstellen die MAC-Adresse enthält (Beispiel: enx78e7d1ea46da)
  • Klassisch, unberechenbar Kernel-native ethX Namensgebung (Beispiel: eth0) -
  • abgeschrieben

ich ein Drehbuch schreibe, dass nimmt Interface-Namen mit grep:

if_name=$(ls /sys/class/net | grep "en") 

und ändert es dann zu eth. Ich habe Skript auf ein paar Maschinen getestet und es war in Ordnung, aber gibt es eine Chance, dass Schnittstelle Name jetzt von einem anderen Buchstaben beginnen kann und mein Befehl oben funktioniert nicht? Und wenn ja, gibt es bessere Alternativen?

+0

Ja, es gibt ein besserer Weg, als ein Bash-Skript dafür zu machen. Sehen Sie sich an, warum/wie dies [hier] gemacht wurde (https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/), und besonders die Sektion "Ich mag das nicht, wie kann ich das machen deaktiviere das? " – jbm

+0

Danke, das ist genau das, was ich in meinem Skript mache, aber vorher muss ich den aktuellen Interface-Namen und die aktuelle MAC-Adresse aufrufen, die zu seinem Namen gehört. –

+0

Ja, und deshalb wollen Sie das nicht in einem Skript_, sondern _automatisch beim Systemstart_, gefolgt von den Zeigern in "Ich mag das nicht, wie deaktiviere ich das?" Link habe ich zur Verfügung gestellt. Sonst hast du ein Hühner- und Ei-Problem. – jbm

Antwort

0

Ok, fand ich heraus, here, dass zwei Zeichen Präfixe von der Art der Schnittstelle basiert:

* en -- Ethernet 
* sl -- serial line IP (slip) 
* wl -- wlan 
* ww -- wwan 

Auch die beste Art und Weise Sie primäre Interface-Namen, um herauszufinden:

route |grep default |awk ' {print $8} ' 
Verwandte Themen