Interfaces-Datei NIC Slot Kennung ENS
-
- Beiträge: 1
- Registriert: 03.05.2024 10:39:02
Interfaces-Datei NIC Slot Kennung ENS
Hallo,
ich möchte meine Maschinen von Debian 8 auf Debian 11 Migrieren. Soweit so gut.
Mein Problem ist, das die NIC Kennung von eth (bei all meinen Server eth0) auf ens gewechselt ist und ich nicht sagen kann welches Slot benutz wird.
Der neue Server wird Lokal bei mir konfiguriert und dann versendet um in dem anderen Netz eingeladen zu werden wo auch bereits der alte Server läuft. Daher muss ich den Slot auslesen oder automatisch bei booten in der /etc/network/interfaces Setzten.
Hat jemand eine Idee?
ich möchte meine Maschinen von Debian 8 auf Debian 11 Migrieren. Soweit so gut.
Mein Problem ist, das die NIC Kennung von eth (bei all meinen Server eth0) auf ens gewechselt ist und ich nicht sagen kann welches Slot benutz wird.
Der neue Server wird Lokal bei mir konfiguriert und dann versendet um in dem anderen Netz eingeladen zu werden wo auch bereits der alte Server läuft. Daher muss ich den Slot auslesen oder automatisch bei booten in der /etc/network/interfaces Setzten.
Hat jemand eine Idee?
Re: Interfaces-Datei NIC Slot Kennung ENS
Ich hoffe, du hast nicht versucht direkt von 8 auf 11 zu springen. Das geht nämlich ziemlich sicher in die Hosen.
Der Name der NIC läßt sich mit
ausgeben.
Der Name der NIC läßt sich mit
Code: Alles auswählen
ip a
Zuletzt geändert von MSfree am 03.05.2024 12:45:44, insgesamt 1-mal geändert.
Re: Interfaces-Datei NIC Slot Kennung ENS
Du könntest den Kernelparameter net.ifnames=0 in Grub einfügen, dann bleibt deine Karte auf eth0.
Re: Interfaces-Datei NIC Slot Kennung ENS
Eher nicht so gut, denn das aktuelle Stable ist Debian 12, Codename Bookworm.DebianLukas hat geschrieben:03.05.2024 11:06:03ich möchte meine Maschinen von Debian 8 auf Debian 11 Migrieren. Soweit so gut.
-
- Beiträge: 169
- Registriert: 03.09.2020 04:48:45
Re: Interfaces-Datei NIC Slot Kennung ENS
Die Bezeichnung des Netzwerkanschlusses lautet mittlerweile doch eh meistens so ähnlich wie "enp3s0", und nicht mehr "eth0" o.ä.. Ich weiß nicht, ob ein Betrieb als "ethX" noch zu erzwingen ist.
Re: Interfaces-Datei NIC Slot Kennung ENS
Es gibt nicht umsonst einen Kernelparameter um die bisherigen Bezeichnungen beibehalten zu können:baeuchlein hat geschrieben:03.05.2024 21:59:55Ich weiß nicht, ob ein Betrieb als "ethX" noch zu erzwingen ist.
bluestar hat geschrieben:03.05.2024 11:45:09Du könntest den Kernelparameter net.ifnames=0 in Grub einfügen, dann bleibt deine Karte auf eth0.
-
- Beiträge: 169
- Registriert: 03.09.2020 04:48:45
Re: Interfaces-Datei NIC Slot Kennung ENS
Ach, das hatte ich überlesen.bluestar hat geschrieben:03.05.2024 11:45:09Du könntest den Kernelparameter net.ifnames=0 in Grub einfügen, dann bleibt deine Karte auf eth0.
Es kommt aber auf den Kernel an. Der 5.15.125er reagiert nicht drauf, und in der Dokumentation zum Kernel ist er auch nicht drin. Andererseits ist dieser Kernel auch nicht der Standardkernel von Debian.
Re: Interfaces-Datei NIC Slot Kennung ENS
Soweit mir bekannt ist udev verantwortlich für die Um- oder Nicht-Umbenennung der Schnittstelle. Mit dem verwendeten Kernel dürfte das nichts zu tun haben.baeuchlein hat geschrieben:Es kommt aber auf den Kernel an. Der 5.15.125er reagiert nicht drauf
- Livingston
- Beiträge: 1813
- Registriert: 04.02.2007 22:52:25
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 127.0.0.1
Re: Interfaces-Datei NIC Slot Kennung ENS
Ganz so einfach ist es nicht. Der Kernel vergibt eigene Bezeichnungen für die vorgefundenen Geräte und trägt sie dann in einem eigens dafür entwickelten, temporären Dateisytem vom Typ devtmpfs ein. Der oben genannte Schalter veranlasst den Kernel, das alte Namensschema zu verwenden.fischig hat geschrieben:13.05.2024 09:39:48Soweit mir bekannt ist udev verantwortlich für die Um- oder Nicht-Umbenennung der Schnittstelle. Mit dem verwendeten Kernel dürfte das nichts zu tun haben.
udev kann darüber hinaus die Geräte umbenennen, sie in andere Vezeichnisse verfrachten, auf Ereignisse reagieren und Programme starten und vieles andere mehr.
Es gibt also in diesem Fall zwei verschiedene Stellen, an denen ein Gerätename verankert werden kann.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams
Douglas Adams
Re: Interfaces-Datei NIC Slot Kennung ENS
Zusätzlich zu Livingstons Ausführungen (wie immer sehr präzise) kann man auch systemd den Job machen lassen.
Man legt in /etc/systemd/network eine Datei z.B. namens 60-Kabel.link an. Der Name ist frei wählbar, nur die Endung link ist wichtig!
Dahinein dann den Namen, den man vergeben will. Ich habe mich für die MAC-Adresse entschieden, weil die immer eindeutig ist. Man kann aber auch "Name= " wählen.
Ich habe es so:Der Service systemd-networkd läuft, nach einem Neustart des Systems oder des Daemons ist der Name vergeben und bleibt auch so, egal welcher Kernel läuft.
Man legt in /etc/systemd/network eine Datei z.B. namens 60-Kabel.link an. Der Name ist frei wählbar, nur die Endung link ist wichtig!
Dahinein dann den Namen, den man vergeben will. Ich habe mich für die MAC-Adresse entschieden, weil die immer eindeutig ist. Man kann aber auch "Name= " wählen.
Ich habe es so:
Code: Alles auswählen
[Match]
MACAddress=dc:fe:07:e1:77:22
[Link]
Name=eth0
- Livingston
- Beiträge: 1813
- Registriert: 04.02.2007 22:52:25
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 127.0.0.1
Re: Interfaces-Datei NIC Slot Kennung ENS
Der Parameter net.ifnames ist kein Kernel-Parameter, er findet sich nicht in dieser Liste: https://www.kernel.org/doc/html/v6.1/ad ... eters.html
Vielmehr kann der Parameter von anderen Programmen abgerufen werden, und wenn man mal die udev-Regeln zur Benennung der NICs durchschaut, findet man auch Hinweise, dass der Parameter als Umgebungsvariable übernommen wird.
D.h. die alten Bezeichnungen wie eth0, wlan0 etc. sind wie früher auch die Namen, die der Kernel den Geräten zuweist. Erst eine udev-Regel (undoderaberauch systemd) erzeugt die wunderschönen, neuen predictable names.
Hab das Ganze gerade mal auf Devuan durchgesehen (wo kein systemd existiert): Es gibt dort keine passende udev-Regel, um meiner Karte einen neuen Namen zu verpassen. Und siehe da, das Gerät heißt hier eth0. Den allgemeinen Fall für Debian schau ich mir auch noch mal in Ruhe an.
Danke an fischig für die PM, der mich damit veranlasste, noch mal genauer hinzuschauen.
Vielmehr kann der Parameter von anderen Programmen abgerufen werden, und wenn man mal die udev-Regeln zur Benennung der NICs durchschaut, findet man auch Hinweise, dass der Parameter als Umgebungsvariable übernommen wird.
D.h. die alten Bezeichnungen wie eth0, wlan0 etc. sind wie früher auch die Namen, die der Kernel den Geräten zuweist. Erst eine udev-Regel (undoderaberauch systemd) erzeugt die wunderschönen, neuen predictable names.
Hab das Ganze gerade mal auf Devuan durchgesehen (wo kein systemd existiert): Es gibt dort keine passende udev-Regel, um meiner Karte einen neuen Namen zu verpassen. Und siehe da, das Gerät heißt hier eth0. Den allgemeinen Fall für Debian schau ich mir auch noch mal in Ruhe an.
Danke an fischig für die PM, der mich damit veranlasste, noch mal genauer hinzuschauen.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams
Douglas Adams