#1 03.02.2019 22:10:41

taumeister
Mitglied

networkd | virtuellen netzwerkadapter erstellen

Ich experimentiere gerade mit Clonezilla Server.
Dafür benötigt man ja bekanntlich zwei Netzwerkkarten oder eine virtuelle zusätzliche.
Ich verwalte mein Netzwerk mit systemd-networkd.
Ich benötige etwas was man unter Debian in der /etc/network/interfaces folgendermaßen einträgt

auto eth0:0
iface eth0:0 inet static
address 192.168.2.5
netmask 255.255.255.0

Schon hat meine zweite virtuelle Netzwerkkarte, die man separat konfigurieren kann.
Gelesen habe ich
https://wiki.archlinux.org/index.php/systemd-networkd
https://www.freedesktop.org/software/sy … etdev.html
allerdings scheint mir kein Beispiel für eine Konfiguration, die ich via .netdev Datei erstellen könnte sinnvoll.
Ich brauch weder ein vlan, noch einen tunnel oder bridge o.ä.

Was benötige ich denn hier?
Grüße

Beitrag geändert von taumeister (03.02.2019 22:11:08)

Offline

#2 03.02.2019 23:22:44

GerBra
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

taumeister schrieb:

Ich brauch weder ein vlan, noch einen tunnel oder bridge o.ä.
Was benötige ich denn hier?
Grüße

Wohl einfach eine zweite IP-Adresse für das gleiche Interface. Das wäre dann der Hinweis gewesen:
https://wiki.archlinux.org/index.php/sy … n_examples
-> Wired adapter using a static IP
"Address= can be used more than once to configure multiple IPv4 or IPv6 addresses"

Dein *.network-File wäre dann einfach um die zusätzliche IP-Adresse zu ergänzen, z.B.:

[Match]
Name=enp3s0

[Network]
Address=192.168.1.10/24
Address=192.168.2.5/24
Gateway=192.168.1.1
DNS=192.168.1.1

Dann funktioniert nach dem Restart von systemd-networkd:

$ ping 192.168.1.10
$ ping 192.168.2.5

ip a zeigt dir die zuätzliche IP-Adresse auch an, ip r zeigt daß auch eine Net-Route für das neue Netz gesetzt ist.
Das sollte AFAIK dem obigen Debian-Beispiel entsprechen.

Das hat nun nichts mit mehreren, auch virtuellen, Netzwerkkarten/interfaces zu tun. Das würde dann wirklich in den BEreich VLAN gehen.

//Edit:
Wenn du das nur temporär brauchst, dann kannst du das auch als root per ip-Befehl hinzufügen und löschen:

# ip address add 192.168.2.5/24 dev enp3s0
# ip address delete 192.168.2.5/24 dev enp3s0

Für enp3s0 halt dein Interfacebezeichner verwenden.

Beitrag geändert von GerBra (03.02.2019 23:41:27)

Offline

#3 04.02.2019 01:04:46

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Hi GerBra,

ich glaube nicht dass das das selbe ist.
Das bindet doch nur eine zweite IP an das selbe Interface.
Ich benötige ein weiteres Interface, ein virtuelles um eine zweite Netzwerkkarte zu simulieren.

Jeglicher Verkehr würde sonst über das gleiche Interface, eth0 gehen.
Wenn ich einen Clonezilla Server aufbauen möchte, benötige ich aber zwei getrennte Netzwerkkarten, oder eben eine zusätzliche virtuelle.

Beitrag geändert von taumeister (04.02.2019 01:16:50)

Offline

#4 04.02.2019 01:21:05

Galde75
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Offline

#5 04.02.2019 11:23:57

GerBra
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

taumeister schrieb:

ich glaube nicht dass das das selbe ist.
Das bindet doch nur eine zweite IP an das selbe Interface.
Ich benötige ein weiteres Interface, ein virtuelles um eine zweite Netzwerkkarte zu simulieren.

Gut, ich kenne jetzt den Clonezilla nicht bzw. dessen Anforderungen für eine Simulation.
Dann brauchst du also doch ein VLAN-Device (entgegen deinem ersten Post). Mit dem ip-Befehl ist das auch schnell erledigt.

Als root

### Erstellen (angenommen dein reales Device wäre enp3s0)
ip link add link enp3s0 name eth1 type vlan id 10

### Erstellt das virt. Device eth1@enp3s0, angesprochen wird das als eth1
ip link set eth1 up

### IP-Adr. zuweisen
ip address add 192.168.2.5/24 dev eth1

### ip link, ip a und ip r zeigen dir jetzt 2 konfigurierte Devices an.

### eth1 wieder löschen
ip link delete dev eth1

Der Unterschied zu lediglich einer zusätzlichen IP-Adresse ist nun halt, daß du ein (virtuelles) Device hast für diese IP, welche du angeben, messen, reglementieren kannst.

Ich halte diesen Weg über den ip-Befehl für "besser", da du dieses Setup temporär, "on-the-fly" wenn benötigt und ohne Konfig-Änderung nutzen kannst. Auch ein Neustart des Systems bzw. des Network-Management-Tools ist nicht notwendig und es ist unabhängig von solch einem Tool möglich.

Wenn du es ab Systemstart oder unbedingt per systemd-networkd haben wolltest, dann müßtest du über eine *.netdev-Datei (mit Kind=vlan) und einer passenden *.network-Datei gehen. Ein Beispiel für einfaches Copy&Paste kann ich dir nicht anbieten da ich es noch nicht gemacht habe.

Eine weitere Möglichkeit wäre z.B. über vde2 (pacman -Si vde2), welches eigentlich einen virtuellen Switch emuliert.
Siehe: https://wiki.archlinux.org/index.php/QE … _with_VDE2

modprobe tun
vde_switch -tap tap0 -daemon -mod 660 -group users
### ergibt ein Interface tap0
ip address add 192.168.2.5/24 dev tap0
ip link set tap0 up

//Edit: Ich habe mir mal kurz die Doku zu Clonezilla-Server angeschaut und bin der Meinung, daß selbst eine (statische) Alias-IP zum Testen des Servers ausreichen würde. Siehe z.B.:
https://drbl.org/installation/01-prepare-server.php (unten)
"If you have only one NIC, you may set two IP addresses, i.e. one in eth0 and another alias IP address in eth0:1. eth0 will be used for the DRBL server to connect to the public Internet while eth0:1 will be used for the DRBL environment."
Der rote Hinweis (Note!:) besagt ja lediglich daß eine solche Single-Nic-Lösung für den produktiven Einsatz nicht ratsam ist. Und zwar ggf. wegen der gleichen MAC-Adressen des "Internet_Devices" und des "lokalen Devices", v.a. wenn man nicht (wie du) statische IP-Adressen vergibst.
Bei der ersten ip-Befehl-Lösung oben verwenden enp3s0 und das virt. eth1 die gleiche MAC-Adresse. Das kann man per "ip link set dev eth1 ..." aber auch ändern (man ip-link). Die zweite Lösung über vde2 generiert für das tap0-Dev eine eigene MAC-Adresse.
Trotzdem: Selbst ein einfacher IP-Alias (wie in meinem ersten Beitrag) sollte zum *Testen" eigentlich genügen.

Beitrag geändert von GerBra (04.02.2019 11:59:00)

Offline

#6 04.02.2019 12:44:17

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Hi GerBra,

vielen Dank für die ausführliche Antwort.

GerBra schrieb:

Der Unterschied zu lediglich einer zusätzlichen IP-Adresse ist nun halt, daß du ein (virtuelles) Device hast für diese IP, welche du angeben, messen, reglementieren kannst.

taumeister schrieb:

Schon hat meine zweite virtuelle Netzwerkkarte, die man separat konfigurieren kann.

also genau wie ich es wollte :-=)

Ich werde mir das heute Abend durchlesen und dann mit systemd bauen.

Grundsätzlich soll das keine temporäre Lösung sein und später auf meinem QNAP-Arch-Server laufen.
Aber das teste ich natürlich erst in einer VM, bzw in dem Fall auf meinem Test-Notebook.

Warum ich das mit systemd mache ist ganz einfach, die Variante hat mich am meisten an Debian erinnert und da kenne ich mich ganz gut aus.
Hier gibts leider keine /etc/network/interfaces wo man ganz einfach was eintragen kann und gut ist.
netctl wollte gestern partout meine Konfig nach dem Neustart nicht laden, obwohl ich NetworkManager und dhcpcd ausgeschaltet hatte.
systemd-networkd  und resolvd hat sofort funktioniert.

Mein Server läuft aktuell über NetworkManager und bekommt eine DHCP Reservierung verpasst.
Bin aber offen für jede Empfehlung, bin ja noch jung in Archlinux..

Wegen der Sache oben gebe ich bescheid.
Danke erstmal für deine Gedanken dazu.
Viele Grüße

Offline

#7 04.02.2019 13:04:34

GerBra
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

taumeister schrieb:

Grundsätzlich soll das keine temporäre Lösung sein und später auf meinem QNAP-Arch-Server laufen.
Aber das teste ich natürlich erst in einer VM, bzw in dem Fall auf meinem Test-Notebook.

Ich habe mich mit Clonezilla als Server jetzt nicht weiter beschäftigt und nur kurz in dessen Doku geschaut.
Aber mir erschließt sich nicht, warum dieses Programm zwangsläufig 2 Netzdevices brauchen sollte. Ein Webserver braucht auch nur eine IP-Adressse(resp. Interface).
Angenommen dein QNAP hätte die 192.168.1.2 in deinem LAN. Der CZ-Server (oder ein Webserver) würde jetzt unter dieser IP auf Clientanfragen lauschen - von anderen Clients aus 192.168.1.X.
Der CZ-Server (soweit ich es verstehe) kommuniziert eben über sein Server-Programm mit den CZ-Clients, nimmt deren Images entgegen und speichert sie im Dateisystem bzw. liefert diese aus - wozu eine zweite Netzkarte?
Etwas anderes wäre, wenn der Rechner mit dem CZ-Server auch als Router dienen müßte (ihn der Doku war was mit NIC für "Internet" und NIC für "lokales LAN" ???). Routing hätte aber nichts mehr mit dem CZ-Server-Programm zu tun, und wird heute eigentlich über einen separaten Router erledigt. Bei dir sicher auch.

Wenn der CZ-Server also nicht nur über das lokale LAN erreichbar sein soll für seine Clients, sondern auch von entfernt z.B. über das Internet, dann würde das normalerweise erreicht durch eine Port-Weiterleitung vom Internet-Router(Gateway, öffentliche IP) zum QNAP(192.168.1.2). Der QNAP kommuniziert mit dem Router(->Internet) aber ganz normal über seine "einzige" Netzwerkkarte (192.168.1.2). Deshalb erschließt sich mir nicht, warum der CZ-Server zwei Netzkarten brauchen sollte.
Ich habe mich allerdings nicht weiter mit beschäftigt, deswegen mag das Blödsinn sein was ich hier verzapfe...

//Edit: Um obiges ggf. "kürzer" auszudrücken: Ich kenne jetzt keine normale Client/Server-Umgebung in der Client und Server nicht auf dem gleichen Rechner laufen können (gleiche IP, gleiche NIC). Wenn ich einen Webserver auf dem PC installiere und konfiguriere, dann kann ich problemlos vom gleichen REechner/IP mich mit einem Browser(Client) dahin verbinden.
Genauso sollte es mit CZ gehen:
Server: 192.168.1.2 (angenommen auf Port 888) -> lauscht
Client: 192.168.1.2 verbindet sich mit Source:192.168.1.2:48666 nach Dest:192.168.1.2:888
So sollte das Testen auch mit nur einem PC auch bei Clonezilla als Server funktionieren.

Beitrag geändert von GerBra (04.02.2019 13:23:03)

Offline

#8 04.02.2019 13:18:55

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Ne ist überhaupt kein Blödsinn was du da sagst.
Ich habe das ehrlich gesagt auch nicht hinterfragt.
In den gängigen Dokumentationen dazu ist eben immer von zwei Netzwerkkarten die Rede.
https://www.dell.com/support/article/de … la?lang=en
https://ittutorials.net/open-source/lin … tallation/

Späte soll das mal ls lx Container laufen. Mit Docker habe ich das leider nie hinbekommen und damit habe ich wirklich schon viel gemacht.
Mal sehen...

Offline

#9 04.02.2019 14:24:08

GerBra
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

taumeister schrieb:

In den gängigen Dokumentationen dazu ist eben immer von zwei Netzwerkkarten die Rede.
...
https://ittutorials.net/open-source/lin … tallation/

Ahh, ein WIZARD... <g>

Soweit ich sehe kommen beim Tutorial zwei Dinge zusammen:
a) Evtl. eine Art Live-(Boot)-Umgebung in dem CZ-Server/DRBL laufen (können) und
b) Ein Wizard, der sehr stark auf Debian/Ubuntu ausgerichtet ist.

Vielleicht teste ich es die Tage auch mal aus, ob der "Wizard" auch richtig "zaubern" würde in einer Umgebung wie ich sie mir vorstelle bzw. unter Archlinux. Oftmals ist es aber besser/einfacher, sich die Konfiguration selbst zu erstellen bzw. eine vorhandene/generierte zu verändern.

Zweite NIC: (um ggf. den Wizard zu befriedigen) bzw. für ein bestimmtes Szenario:
Diese zweite NIC wird wohl dann gebraucht, wenn man den CZ-Server für sog. Bare-Metal-Recovering gebrauchen sollte, d.h. Clients ohne Betriebssystem oder Bootmedium starten per PXE/etherboot und bekommen dann per NFS ein Clientsystem verpaßt welches die Kommunikation mit dem CZ-Server ermöglicht. Deswegen im Tutorial/Wizard auch die Punkte zu DHCP-Server, Client-Range und iptables, usw. Für solch ein Szenario wird dann ggf. wirklich die zweite NIC gebraucht, nebst tftp-Umgebung und NFS.

Wenn man darauf verzichten kann, dann sollte sich der CZ-Server eigentlich problemlos wie ein "normaler Server/Dienst" konfigurieren lassen. Alles was man braucht für einen "nackten Client" wäre ein Bootmedium und den clonezilla Client. Auf den Archlinux-ISOs ist clonezilla(-client) AFAIK z.B. schon vorhanden, sollte sich also über ein funktionierendes LAN zum Server verbinden können und Images zum Wiederherstellen (AFAIK auch Nicht-Archlinux-Systemen) beziehen können.

Ob du z.B. die o.a. Variante des Bare-Metal-Recovers per Netzwerkboot überhaupt in einer virtualisierten Umgebung (LX, docker, andere Containerlösungen) realisieren //Edit: könntest, daß würde ich bezweifeln. D.h. dieses Szenario (á la Wizard) würde dort AFAIK sowieso nicht funktioneiren.

Beitrag geändert von GerBra (04.02.2019 14:32:23)

Offline

#10 04.02.2019 17:53:44

Kabbone
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Du könntest auch macvtap devices erstellen, je nach mode können sich diese direkt am Host miteinander unterhalten, müssen über einen Router/Switch geroutet werden oder können sich nie gegenseitig erreichen.

Offline

#11 04.02.2019 22:56:06

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Hi GerBra,

also das ist ja genau das was ich machen möchte.
Im Moment ist es so, dass sowohl auf meinem Server als auch auf meiner richtigen Arbeitsmaschine und auch Laptop, jeweils eine Clonezilla Mini Partition existiert, die ich beim Start booten kann und die jeweilige Maschine auf mein NAS sichere und wiederherstelle.
Ich möchte einfach das meine Geräte beim Start via PXE booten können, den Clonezilla Server finden und ein Backup erstellen können oder eben ein Backup wiederherstellen können.

Damit ich damit nicht meinen schönen Arch Server ruiniere, möchte ich das gern unter Docker o.ä laufen lassen.
Das ist zumindest der Plan.

Es gibt ein fertiges Clonezilla Docker Projekt : https://hub.docker.com/r/leejoneshane/drbl-server/
welches ich aber nie ans laufen bekommen habe..leider.

ich hatte mir auch schon das Dockerfile selber gebaut aber es haperte letztendlich immer an dem Befehl

CMD ["drbl4imp -e -b -p 40"]

...aber das ist ein anderes Thema.
Wenn das alles nicht geht, fahr ich einfach wieder meinen ipxe hoch und boote darüber mein Clonzilla Pxe das geht auch, ich möchte es nur schöner.
Ich melde mich.

Offline

#12 04.02.2019 23:01:43

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Das Erstellen des zweiten Interfaces mit der 'ip add'-Methode hat gut funktioniert,

Offline

#13 05.02.2019 16:34:18

GerBra
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

taumeister schrieb:

Ich möchte einfach das meine Geräte beim Start via PXE booten können, den Clonezilla Server finden und ein Backup erstellen können oder eben ein Backup wiederherstellen können.
Damit ich damit nicht meinen schönen Arch Server ruiniere, möchte ich das gern unter Docker o.ä laufen lassen.
Das ist zumindest der Plan.

Ob das Unterfangen wirklich komplett unter diesem Docker (oder einer anderen Virtualisierungslösung) funktionieren kann, da bin ich ad hoc überfragt.
Mein früherer Kenntnisstand bzgl. PXE/etherboot ist: Diese (quasi-)magischen Pakete müssen im gleichen *physikalischen* Netz aufschlagen und dort muß diese ein entsprechender Rechner abfangen und den Netzwerkboot einleiten. Da die Anfrage (UDP?) m.W. an die Broadcast-Adresse des Netzes geschickt wird werden diese Pakete nicht geroutet/geforwardet, können also von anderen NICs(auch und/oder gerade virtuellen Karten) nicht empfangen werden. Ausnahme wäre AFAIK wenn diese (auch nicht-pysikalischen) Interfaces am Host in einer Bridge laufen.
Dann wäre aber noch die Frage, ob der Kernel/Netzstack solche PXE-Pakete an virtualisierte Gäste (bzw. deren Gast-NICs) erlaubt weiterzuleiten. Bei sog. Container-Virts halte ich das m.W. noch für unwahrscheinlicher als bei Vollvirtualisierungen(wie KVM/qemu oder Virtualbox). Zumindest die PXE-Paketannahme und ein DHCP/DNS-Server müssen also m.E. auf einem realen Host laufen, die NFS-Seite(also das zu bootenden System) könnte dann wohl auch auf einem virtualisierten Host laufen (dann wäre die zweite NIC für den CZ-Server aber auch wieder "überflüssig" IMHO).

Das ist ein/mein sehr alter Kenntnisstand, und ich habe jetzt auch nicht versucht irgendwo nachzuschauen. Durchaus möglich, daß das mittlerweile überholt ist. Evtl. kann ja jemand was Definitives dazu sagen?

taumeister schrieb:

also das ist ja genau das was ich machen möchte.

Klare Ansage. Und wenn es auch nur aus Interesse am "Wie-geht-das" ist.

Ich bin da mittlerweile sehr pragmatisch, würde also bei einer "Handvoll Rechner" keinen Aufwand mehr betreiben wollen. Ich würde die wahrscheinlich per Bootmedium booten wenn irgendwas mit CZ/Images anstehen würde, und die gesparte Zeit lieber für was anderes verwenden <g>
PXE/etherboot ist "nett", wenn man 50-100 Clients hat, dazu noch verteilt auf mehrere Stockwerke. Da wollte ich auch nicht mit 'nem USB-Stick rumlaufen wollen... In so einer Umgebung hätte ich dann aber auch einen dedizierten CZ-Server, mit entsprechend affenartiger Power (und mind. drölfzig Netzkarten!) - und müßte mir so um "diese unsere" Probleme hier und jetzt keine Gedanken machen... ;-)

Trotzdem: berichte mal, wie weit du kommst. Und ich schaue mit das CZ-Server-Dings auch mal an demnächst...

Offline

#14 05.02.2019 21:12:46

taumeister
Mitglied

Re: networkd | virtuellen netzwerkadapter erstellen

Ich bin da mittlerweile sehr pragmatisch, würde also bei einer "Handvoll Rechner" keinen Aufwand mehr betreiben wollen. Ich würde die wahrscheinlich per Bootmedium booten wenn irgendwas mit CZ/Images anstehen würde, und die gesparte Zeit lieber für was anderes verwenden

Du hast völlig recht, mir geht es im Bereich Linux eigentlich meist nur um 'Wie-geht-das' und 'Ich will was neues lernen'. Im Job setze ich nur Windows ein, also bei mir und allen angeschlossenen Unternehmen, die ich kenne  kommt geschlossen SCCM und Baramundi zum Einsatz.
Ich bin froh dass ich in meinem Testnetz in der Firma mit Linux machen kann was ich will.

Die Clonezilla-Geschichte ist natürlich für drei physikalische Maschinen und eine handvoll VMS total Overkill, aber hey, ich bin Techniker und will basteln. :=)

I´ll keep you informed.

Beitrag geändert von taumeister (05.02.2019 21:23:04)

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums