Virtuelle NIC - systemd-networkd Pendant?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Virtuelle NIC - systemd-networkd Pendant?

Beitrag von Blackbox » 15.10.2019 22:50:54

Gewöhnlich werden virtuelle Netzwerkschnittstellen [0] so angelegt.
Gibt es einen systemd-networkd Pendant?
Habe zwar nichts passendes recherchiert, wollte aber sicherheitshalber noch einmal nachfragen, da die systemd Dokumentation wirklich sehr umfangreich ist.

https://www.debian.org/doc/manuals/debi ... _interface
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von jph » 15.10.2019 23:13:49

Das tust du, indem du in der .network-Unit mehrere Adressen angibst. Zitat aus der Manpage systemd.network, Abschnitt [NETWORK]:

Address=
Eine statische IPv4- oder IPv6-Adresse und seine Präfixlänge,
getrennt durch das Zeichen »/«. Geben Sie diesen Schlüssel mehr als
einmal an, um mehrere Adressen zu konfigurieren. Das Format der
Adresse muss der in inet_pton(3) beschriebenen folgen. Dies ist
eine Kurzform für einen Abschnitt [Address], der nur den
Adressenschlüsel enthält (siehe unten). Diese Option kann mehr als
einmal festgelegt werden.


(Hervorhebung von mir.)

Edit: Alternativ legst du mehrere [ADDRESS]-Abschnitte an.

TomL

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von TomL » 16.10.2019 15:55:43

Blackbox hat geschrieben: ↑ zum Beitrag ↑
15.10.2019 22:50:54
Gewöhnlich werden virtuelle Netzwerkschnittstellen [0] so angelegt.
Die Frage ist nicht ganz einfach zu beantworten, weil das genannte Beispiel imho eigentlich keine virtuelle Schnittstelle ist, sondern nur ein Alias eth0:0 für eth0 mit eigener IP. Aber genau das ist eigentlich nicht mehr notwendig, weil man jetzt mit iproute-Kommandos einem Interface einfach mehrere IP-Adressen zuweisen kann. Insofern ist dabei die gleiche Funktionalität gegeben wie zuvor mit Alias.

Wenn es allerdings wirklich ein virtuelles Interface sein soll, wärs wichtig zu wissen, welcher Typ gewünscht ist. Funktional wie das Loopdevice wärs ein Type Dummy, oder als Type vlan mit getaggten Paketen (zur Unterscheidung verschiedener VLAN-Netze), oder macvlan als Pseudo-Ethernet-NIC, vom Type Bridge sind auch virtuelle Schnittstellen. Ich würde solche NICs einfach via simpler Service-Unit anlegen, mit allen Parametern, die sie brauchen... einfacher gehts eigentlich nicht.... und das völlig unabhängig von der 'Anwesenheit' irgendwelcher Networkmanager oder /etc/networking/interfaces oder /etc/init.d/networking usw.

:?

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von unitra » 16.10.2019 17:10:44

eth0:0 ist keine virtuelle Schnittstelle. lo ist eine virtuelle Schnittstelle. Da ist das debian reference an der Stelle falsch, oder die Übersetzung ist nicht korrekt.
Aber eth0:0 ist ein Subinterface, da hat TomL ganz recht und ich sehe das genauso. Und

Code: Alles auswählen

iproute2
ist das einzig wahre Werkzeug um mit Schnittstellen unter linux zu arbeiten.
Damit ist schon alles gesagt.
TomL hat geschrieben: ↑ zum Beitrag ↑
16.10.2019 15:55:43
Blackbox hat geschrieben: ↑ zum Beitrag ↑
15.10.2019 22:50:54
Gewöhnlich werden virtuelle Netzwerkschnittstellen [0] so angelegt.
Die Frage ist nicht ganz einfach zu beantworten, weil das genannte Beispiel imho eigentlich keine virtuelle Schnittstelle ist, sondern nur ein Alias eth0:0 für eth0 mit eigener IP. Aber genau das ist eigentlich nicht mehr notwendig, weil man jetzt mit iproute-Kommandos einem Interface einfach mehrere IP-Adressen zuweisen kann. Insofern ist dabei die gleiche Funktionalität gegeben wie zuvor mit Alias.

Wenn es allerdings wirklich ein virtuelles Interface sein soll, wärs wichtig zu wissen, welcher Typ gewünscht ist. Funktional wie das Loopdevice wärs ein Type Dummy, oder als Type vlan mit getaggten Paketen (zur Unterscheidung verschiedener VLAN-Netze), oder macvlan als Pseudo-Ethernet-NIC, vom Type Bridge sind auch virtuelle Schnittstellen. Ich würde solche NICs einfach via simpler Service-Unit anlegen, mit allen Parametern, die sie brauchen... einfacher gehts eigentlich nicht.... und das völlig unabhängig von der 'Anwesenheit' irgendwelcher Networkmanager oder /etc/networking/interfaces oder /etc/init.d/networking usw.

:?

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von Blackbox » 16.10.2019 19:00:59

jph hat geschrieben: ↑ zum Beitrag ↑
15.10.2019 23:13:49
Das tust du, indem du in der .network-Unit mehrere Adressen angibst. Zitat aus der Manpage systemd.network, Abschnitt [NETWORK]:

Address=
Eine statische IPv4- oder IPv6-Adresse und seine Präfixlänge,
getrennt durch das Zeichen »/«. Geben Sie diesen Schlüssel mehr als
einmal an, um mehrere Adressen zu konfigurieren. Das Format der
Adresse muss der in inet_pton(3) beschriebenen folgen. Dies ist
eine Kurzform für einen Abschnitt [Address], der nur den
Adressenschlüsel enthält (siehe unten). Diese Option kann mehr als
einmal festgelegt werden.


(Hervorhebung von mir.)

Edit: Alternativ legst du mehrere [ADDRESS]-Abschnitte an.
Kennst du zufällig den Link zur offiziellen Dokumentation zur genau dieser diskutierten Thematik, oder einer ähnlich guten Dokumentation(en)?

TomL hat geschrieben: ↑ zum Beitrag ↑
16.10.2019 15:55:43
Die Frage ist nicht ganz einfach zu beantworten, weil das genannte Beispiel imho eigentlich keine virtuelle Schnittstelle ist, sondern nur ein Alias eth0:0 für eth0 mit eigener IP.
unitra hat geschrieben: ↑ zum Beitrag ↑
16.10.2019 17:10:44
eth0:0 ist keine virtuelle Schnittstelle. lo ist eine virtuelle Schnittstelle. Da ist das debian reference an der Stelle falsch, oder die Übersetzung ist nicht korrekt.
*Räusper* - Da ich mich auf die Debian Dokumentation beziehe, habe ich auch deren Sprachregelung verwendet.
Insofern sind eure Beiträge formal richtig, haben meine eigentlichen Frage nicht wirklich beantwortet.
Aber immerhin habe ich nun einen neuen Suchbegriff.
Mal sehen was sich daraus ergibt.
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von jph » 16.10.2019 19:37:07

Blackbox hat geschrieben: ↑ zum Beitrag ↑
16.10.2019 19:00:59
Kennst du zufällig den Link zur offiziellen Dokumentation zur genau dieser diskutierten Thematik, oder einer ähnlich guten Dokumentation(en)?
Ich bin nicht sicher, ob ich deine Frage richtig verstehe... das ist die Manpage.

Code: Alles auswählen

$ man systemd.network
Eine bessere Doku kenne ich nicht. Man mag von systemd halten, was man will – die Manpages sind sensationell. (Wie übrigens auch die des IMO zu Unrecht geschmähten btrfs.)

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Virtuelle NIC - systemd-networkd Pendant?

Beitrag von unitra » 16.10.2019 20:10:20

Zur Frage warum eth0:1 keine so gute Wahl für eine virtuelle Schnistelle ist. Hier ganz kurz erläutert:

eth0:1 ist eine Untermenge von eth0. eth0 ist eine physische Schnittstelle, sie funktioniert nur dann, wenn ein Kabel gesteckt ist und am anderen Ende des Kabels auch eine aktive Komponente angeschlossen ist. Es liegt dann ein Träger an, in dem Beispiel ist der Träger - Ethernet. Es wird eine Bandbreite zwischen beiden Endpunkten ausgehandelt (10M/100M/1G) und der Duplex-Status (half-duplex, full-duplex), meistens alles voll-automatisch. Dauer maximal 30 Sekunden für den ganzen Prozess. Alle diese Eigenschaften gelten auch für eth0:1 eth0:2 eth0:n. Ohne Kabel keine funktionierende Netzwerkschnittstelle.

Zur zur Frage was zeichnet eine virtuelle Netzwerkschnittstelle aus? Im Grunde nur eine einzige Eigenschaft: eine virtuelle Netzwerkschnittstelle ist, sobald korrekt konfigurert, immer betriebsbereit. Ohne daß ein Kabel eingesteckt sein muss. Sie darf nicht von der Schnittstellennomenklatur des Hosts abhängig sein. Ein Beispiel vielleicht zur Verdeutlichung.

Mal angenommen es gibt einen Host der auf der eth0:1 Netzwerkschnittstelle einen Dienst anbietet, z.B. SSH. Der Host ist ein Router mit 2 Netzwerkschnittstellen eine eth0 und die eth1. Sobald eth0 defekt ist, ist der auch darauf laufende Dienst eth0:1 auch defekt. Wäre der Dienst auf einer virtuellen Schnittstelle gebunden, dann wäre die Erreichbarkeit des SSH Dienstes weiterhin sichergesetellt. Über die zweite, intakte eth1 Schnittstelle.Ohne dass man irgendetwas unternehmen muss im bezug auf den Dienst.

Weiter mal angenommen, es wurde entschieden die defekte eth0 Schnittstele gegen eine ATM Schnittstelle auszutauschen atm0. Der Router ist nun wieder einsatzbereit mit 2 Schnittstellen atm0 und eth1. Jetzt müsste man dann alle Dienste die auf eth0 lagen auf atm0 umkonfigrieren. Eine virtuelle Schnittstelle würde einfach weiterfunktionieren, im Idealfall. Ohne dass sie umkonfiguriert werden muss.

Antworten