Docker macvlan in seperaten VLAN mit Unifi Hardware


Recommended Posts

Hallo,

evtl. kann ich dem einen oder anderen mit meinem Weg dabei helfen Docker mit macvlan in einem separaten VLAN einzurichten. Ich habe selbst jetzt etliche Stunden gebraucht, um es funktionsfähig zu bekommen. Hintergrund war, dass die Portweiterleitung von meiner Unifi Dreammachine Pro auf den Docker Nginx Reverse Proxy im VLAN nicht funktionierte. Aufrufe der nach außen gehosteten Docker (Nextcloud, Bitwarden, Baikal ....) waren nur im internen Netzwerk möglich, aber nicht über eine DNS Adresse. Inzwischen funktioniert alles und läuft stabil. Wo der Hund begraben war, kann ich nicht sagen. Ich habe auch keine Kernel Fehlermeldungen aufgrund macvlan.

 

Um die Einstellungen durchzuführen, müsst ihr das Array stoppen. Da z.B. beim Netzwerk dieses nur beim gestoppten Array möglich ist.

 

Ich habe eine zweite Netzwerkkarte verbaut eth2 , welche nur für das Docker/VM VLAN zuständig ist.

 

1. Wichtig ist, dass ihr auf allen euren Netzwerkenkarten eth0,eth1......... die Netzwerkbrückung deaktiviert. Bei mir läuft macvlan über eth2. Sobald jedoch z.B. in eth0 die Brückung aktiviert war, bekam ich die Kernel Fehlermeldungen. HIer nun die Einstellungen meiner im Betrieb befindlichen Netzwerkkarten. Solltet ihr die Docker in einem separaten VLAN haben wollen (bei mir der Fall in eth2) müsst ihr dort das benötigte VLAN eintragen.

 

1163411533_Bildschirmfoto2023-09-04um12_36_33.thumb.png.bf7ef5124ca5d35e456a47f5c418b4a3.png

 

1743278710_Bildschirmfoto2023-09-04um12_36_46.thumb.png.cb922f0eb9e7d7d4a9953aa9a7fe91a0.png

 

168416129_Bildschirmfoto2023-09-04um12_36_59.thumb.png.b0dba661c0862bd1b62920fe59ceb324.png

 

2. Unter den Dockereinstellungen müsst ihr nun unten das optionale Netzwerk (beim mir eth2.25 aufgrund VLAN) anklicken. Alle anderen Netzwerke könnte ihr unten unchecken. Auch müsst ihr nun hier die Einstellung für den Netzwerkmodus ipvlan auf macvlan umstellen. Auf dem Screenshot ist die Einstellung nicht ersichtlich, da bei deaktivierter Netzwerkbrückung und eingestellten macvlan das Auswahlfeld verschwunden ist. Es ist bei aktivierten ipvlan aber ganz sicher da ;-)

 

1823411250_Bildschirmfoto2023-09-04um12_58_47.thumb.png.65155fda27b359ae1a57a9ca15defcef.png

 

3. Nun könnt ihr das Array starten und müsste nun natürlich alle Docker bzgl. Netzwerk anpassen. Hier z.B. bei mir der Nginx reverse Proxy

 

7561206_Bildschirmfoto2023-09-04um12_38_58.thumb.png.9b549fea9bfff656a804646ba42ba450.png

 

4. Da ihr ja die Brückung in den Netzwerkeinstellungen deaktiviert habt, müsste ihr in den VM Einstellung und VM's auch noch Einstellungen ändern. In den VM Einstellungen habe ich vhost0 eingestellt, du kannst aber auch andere Netzwerkkarten auswählen. Ich habe ja alle Docker und VM's über die eth2 laufen. Es wird dann auch z.B. vhost2 und vhost2.25 (VLAN) angeboten.

 

717703920_Bildschirmfoto2023-09-04um12_37_55.thumb.png.578a696a1babcf5c7fe2f1f8dbd3af95.png

 

Eure virtuellen Maschinen müsste ihr unter Bearbeitung bzgl Netzwerkeinstellungen auch ändern. Bei mir war hier noch z.B. die Brückung br0 eingetragen, obwohl diese nicht mehr existiert.

Hier nun die geänderte Netzwerkeinstellung meiner Homeassistant VM. Die VM ist danach im VLAN für Docker/VM's und kommuniziert über den eth2 Port.

 

1468476585_Bildschirmfoto2023-09-04um12_40_17.png.33661ecad62681764119954918dee87c.png

 

5. Nun natürlich noch die Portweiterleitung in eurer Unifi konfigurieren.

1585704390_Bildschirmfoto2023-09-04um13_09_03.png.51cb8c421d568377587238d47d27c15d.png

 

 

1986705180_Bildschirmfoto2023-09-04um13_09_14.png.4754b7fa55b6d2e35df1c4e4b6079062.png

 

1806024697_Bildschirmfoto2023-09-04um13_09_26.png.e455bbe6fb2593f00e8c5a006a8bdbee.png

 

Der Server läuft bei mir hiermit seit 2 Tagen stabil und ich habe keinerlei Kernel Fehlermeldungen aufgrund macvlan.

 

Wünsche gutes Gelingen.

 

Grüße aus Bayern

 

Thomas

Edited by Rockikone
Link to comment
4 hours ago, Rockikone said:

die Netzwerkbrückung deaktiviert.

 

4 hours ago, Rockikone said:

seit 2 Tagen stabil und ich habe keinerlei Kernel Fehlermeldungen aufgrund macvlan.

 

fall dein Server auf 6.12.4 läuft, könnte es eher an 6.4.12 liegen, dass es keine probleme mehr mit macvlan gibt.

Für alle anderen, die aufgrund von den MACVLAN Traces hier gelandet sind: Ließt den 6.12.4 Changelog, geht die manuellen Schritte durch und updated, danach sind die MACVLAN Probleme Geschichte.

Für alle anderen Fälle, danke natürlich für deinen Aufwand.

Link to comment
4 hours ago, sonic6 said:

Für alle anderen Fälle, danke natürlich für deinen Aufwand.

Da schliesse ich mich gerne meinem Vorredner an...

 

9 hours ago, Rockikone said:

evtl. kann ich dem einen oder anderen mit meinem Weg dabei helfen Docker mit macvlan in einem separaten VLAN einzurichten.

[...]

Ich habe eine zweite Netzwerkkarte verbaut eth2 , welche nur für das Docker/VM VLAN zuständig ist.

Also unabhängig von der doch schmerzlichen Diskussion und Entwicklung der macvlan/ipvlan Thematik in unraid (und das "vlan" in macvlan hat nix direkt mit VLANs auf dem LAN/Ethernet des unraid Hosts zu tun)...

...verwirrt  mich Deine Aussage.

Denn, Du weisst aber schon, dass das V in VLAN für virtuell steht und eben bedeutet, dass man mehrere Segmente (Layer 2, Ethernet)  auf dem selben physikalischen Interface  nutzen kann, statt sonst nur einem. Sprich, mit einer seperaten Netzwerkkarte braucht man ja kein VLAN mehr, weil man zwei echte LANs hat. ;-)

...warum also ein VLAN Setup?

 

P.S.: Verzeihung für etwas OffTopic, hier.

Link to comment

Danke für die Rückmeldung. Soweit ich weiß, brauchst du den VLAN Tag, um mit einem VLAN verbunden werden zu können. Heißt, ich habe auf der Unifi ein VLAN für Docker/VM'S schon vor längerer Zeit angelegt. Die "virtuellen Maschinen/Docker" sollen dort sein und nicht im Default Netzwerk 192.168.100.* sondern im 10.10.4.* Netz.

Ich bezog hier meine Aussage nicht auf das macVLAN, sondern auf eines meiner VLANS im Unifi Ökosystem.

 

Link to comment

Ich möchte dein Arbeit in keiner weise schmälern, jedoch ist es wichtig hier für Klarheit im MACVLAN Chaos und den damit verbundenen Vermutungen zu schaffen.

 

12 hours ago, Rockikone said:

Die Kernel Fehlermeldungen kamen bei mir auch noch bei aktivierter Netzwerkbrücke unter 6.12.4.

Das ist Richtig, weil man MACVLAN nicht und nie und niemals zusammen mit einer Bridge nutzen darf. (Warum das in der Vergangenheit gemacht wurde, lassen wir mal dahin gestellt. Auch warum es immer noch möglich ist, finde ich fragwürdig.) Irgendwo im Englischen Bereich gab es hierzu Informationen von den Dev's (Unraid und Kernel), dass man MACVLAN nicht mit einer Bridge betreiben sollte.

Das war auch der Grund, warum vor Monaten schon IPVLAN als Default Driver für Docker eingeführt wurde.

Die Lösung die mit 6.12.4 eingeführt wurde, dass man eth0 mit MACVLAN nutzen kann, war lediglich für user gedacht, die aufgrund ihrer Hardware auf MACVLAN angewiesen waren. (Zb die Fritzbox, die mehrere IP Adresse von einer MAC nicht mag.)

Für alle anderen gilt im ersten Schritt: Auf IPVLAN umstellen.

 

12 hours ago, Rockikone said:

Es müssen ja auch mehrere Sachen eingestellt werden (Changelog nicht ganz ersichtlich). Darum meine Anleitung.

Das eine Bridge nicht mehr mit MACVLAN zu betreiben ist, steht im Changelog recht detailliert, auch was hierfür zutun ist um unter MACVLAN auf eth0 umzustellen.

Link to comment
50 minutes ago, Rockikone said:

Soweit ich weiß, brauchst du den VLAN Tag, um mit einem VLAN verbunden werden zu können.

das ist klar...meine Aussage war ja, warum Du VLANs überhaupt brauchst, wenn Du physische Harware (Ports) genug hast, denn unraid hat ja getrennte NICs für jedes LAN- (+IP)-Segment, wie Du sagst.

 

51 minutes ago, Rockikone said:

Heißt, ich habe auf der Unifi ein VLAN für Docker/VM'S schon vor längerer Zeit angelegt. Die "virtuellen Maschinen/Docker" sollen dort sein und nicht im Default Netzwerk 192.168.100.* sondern im 10.10.4.* Netz.

Nur weil die Docker kleine "VMs" sind (virtualisierte Apps und mittels macvlan eingebunden sind) müssen sie netzwerktechnisch nicht in ein VLAN.

(V)LAN ist Layer 2 .. IP-Segmente sind Layer 3....IP-Segmente trennt ein Router/die IP-Firewall, (V)LAN-Segmente trennt ein Switch (eine Unifi hat beides in einem Gerät).

Auf VLAN gehst Du dann, wenn Du in der Netzwerk-Infrastruktur zwischen den Komponenten nicht genug Kabel hast oder eben ein so dickes (10G/40G/100G), das Du dir die Bandbreite da drin teilen willst/kannst und damit weniger Kabel brauchst.

VLANs in der Unifi machen zB also dann Sinn, wenn Du diese "nur"/allein mit einem 10G Interface an den Switch anschliesen willst. unraid, das an den gleichen Switch geht, braucht kein VLAN, wenn Netzwerkkarte 1 und Netzwerkkarte 2 vorhanden sind und diese getrennt genutzt werden und auch so an den Switch gehen - der Switch braucht VLANs um den Traffik von unraid durch die eine Verbindung in die Unifi zu schieben.

Gibt es keinen extra Switch zwischen unifi und unraid (das mit zwei NICs ohne LACP arbeitet) braucht es keine VLANs in der unifi (und auch nicht in unraid) da jedes LAN 1:1 zwischen unifi (dem Switch da drin) und unraid (mit einzelnen, getrennten NICs) verbunden werden kann.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.