Wie konvertiere ich / etc / interfaces-Einstellungen in udev-Regeln?


0

Ich versuche, eine überbrückte Netzwerkschnittstelle für kvm / libvirt einzurichten. Ich habe Probleme damit, weil die Tutorials für Nicht-Udev-Systeme mit Konfigurationsdateien wie geschrieben sind /etc/interfaces. Neuere Betriebssysteme wie Debian 8 und Ubuntu 14 verwenden jedoch udev. Das Befolgen der Tutorials und das Hinzufügen von Konfigurationsinformationen zu den älteren conf-Dateien unterbricht das Netzwerk.

Wie konvertiere ich Konfigurationsdateien in udev-Regeln? Gibt es ein Linux-Dienstprogramm, um dies zu tun? Oder gibt es noch etwas, das man dafür verwenden kann?


Verwandte Informationen umfassen Konsistente Benennung von Netzwerkgeräten unter Linux . Es erklärt, warum einige Systeme aufgeben eth0 und Freunde angegeben in /etc/interfaces, warum manche Systeme verwenden p2p1 und Freunde, und warum sie in udev Regeln auftauchen.


1
Kein Kernel je hat benutzt /etc/interfaces (netzwerkkonfiguration wäre sowieso eine distro / userspace sache), udev regeln sind nicht ein Ersatz für die Netzwerkkonfiguration, und es gab keine größeren Änderungen in der Netzwerkkonfiguration in 3.x - es war eine willkürliche Version mit mehr oder weniger identischen Funktionen wie 2.6.x. So wie es ist, ist die Frage einfach unsinnig.
grawity

@grawity - Ich kann mit Sicherheit sagen, dass die Probleme mit udev real sind. Welche Komponente weist Ihrer Meinung nach Namen zu? p2p1 und p2p2? Es ist nicht kompatibel mit klassischen Einstellungen in Konfigurationsdateien wie /etc/interfaces. Siehe auch Probleme beim Benennen von Netzwerkgeräten und Aliasnamen für p2p1 und p3p1 zurück zu eth0 und eth1 .
jww

Mehr Unsinn. Wenn udev eine Netzwerkschnittstelle umbenennt, bedeutet dies nicht, dass sie automatisch für die Konfiguration aller anderen Aufgaben zuständig ist. Angenommen, Sie meinen Debian /etc/network/interfaces, gibt es keinen Ort, an dem "klassische Einstellungen in Konfigurationsdateien" erfordern, dass Namen mit beginnen eth; Ich persönlich habe es für die genannten Schnittstellen verwendet eno2, enp3s1, lan1, gre-dn42...
grawity

@grawity - der einzige Unsinn sind deine Kommentare. udev ist der Geräte-Manager des Kernels, ob Sie damit einverstanden sind oder nicht. Der Kernel oder udev tut es nicht Ehre /etc/interfaces. Ich habe ein Qotom T5200U Wenn zwei Netzwerkkarten vor mir sitzen, sagt mir das, ob Sie damit einverstanden sind oder nicht.
jww

Ich weiß genau, was udev macht. Obwohl es in v209 möglich wurde, Netzwerkschnittstellen auf einer niedrigen Ebene (z. B. MTU, Duplex usw.) über Linkdateien zu konfigurieren, ersetzt es diese dennoch nicht /etc/interfaces in irgendeiner Weise. Es wird keine Brücke für dich bauen. (Es sei denn, Sie verwechseln es mit systemd-networkd, welche tut Richten Sie Bridging und andere Funktionen auf hoher Ebene über .netdev-Dateien ein.)
grawity

Antworten:


2

udev Löst Dinge aus, wenn Ereignisse vom Typ Hardware-Hinzufügen / Entfernen erkannt werden. Es hat nichts mit der Netzwerkaktivität AFAIK zu tun.

Ich bin nicht so begeistert von der genauen Funktionsweise von udev Aber abgesehen davon, dass Sie den Namen eines Geräts anhand eines bestimmten Attributs und einiger anderer Aktionen auswählen, muss alles, was Sie tun möchten, ein Skript sein, das von einem bestimmten Attribut ausgelöst wird udev.

udev ist auch nicht betroffen, wenn Schnittstellen auf- oder absteigen, sondern nur, wenn sie physisch zum System hinzugefügt oder daraus entfernt werden.

Sie können sich also genauso gut an den Standard halten und ihn verwenden /etc/network/interfaces.

Bridging umfasst das Erstellen einer Bridge und das Hinzufügen von Schnittstellen. Die Brücke ist kein echtes Gerät und ich glaube nicht udev hat eine Chance, etwas auszulösen. Das gleiche mit tap und tun Schnittstellen.

udev ist für diesen Zweck nur mit Netzwerkschnittstellen nützlich: Sie können erstellen udev Regeln zum Zuweisen von Namen zu Ihren realen Netzwerkkarten, in der Regel basierend auf der MAC-Adresse. Anschließend können diese Namen in angegeben werden /etc/network/interfaces.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.