ARP Broadcast aus MAC VLAN

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

kingkong66

Benutzer
Registriert
14. März 2021
Beiträge
10
Reaktionspunkte
0
Punkte
1
Geschätzte Experten, ich habe folgende Herausforderung:

Mehrere NAS im Netzwerk.
NAS1 mit IP 192.168.5.137 hat ein Host Netzwerk 192.168.5.0/24 mit defaultGateway 192.168.5.1 (meine Fritzbox)
NAS2 mit IP 192.168.5.50 hat ein Host Netzwerk 192.168.5.0/24 mit defaultGateway 192.168.5.1 (meine Fritzbox)
Mittels Pontainer habe ich auf NAS 2 ein MACVLan erstellt 192.168.5.208/28 mit defalt Gateway 192.168.5.1 (meine Fritzbox)
Ins MACVLan habe ich einen NGinx Container gestellt, welcher auf die IP 192.168.5.210 hört. Dieser ist im NEtzwerk Ping-bar
Die auf der Fritzbox gegen extern Internet freigegebenen Ports 80 und 443 zeigen auf den Nginx Container auf NAS2. Dort kann ich Lets Encrypt Zertifikate erstellen. Funktioniert grundsätzlich.
Auf NAS1 läuft ein Container1 welcher seine Dienste unter Port 6669 anbietet.
Im NGinx Container kann ich nun auch einen Proxy Host erstellen welcher auf Container1 zeigt. Funktioniert. Ist von extern mittels Https erreichbar
Auf NAS1 läuft ein Container2 welcher seine Dienste unter Port 6669 anbietet. (Dieselbe Funktion wie Container1).
Container2 ist im Host Netz unter http://192.168.5.50:6669/ problemlos erreichbar.
Wen ich nun auf dem NGinx Container "umschalte" und den Container2 gegen extern zugänglich machen will, dann funktioniert dies nicht. "502 Bad Gateway" erscheint.
Der NGinx Container kann den Service im Container2 nicht finden. Den Service im Container1 findet er.
Wenn ich im Netwerk "sniffe" dann fällt mir auf, dass der NGinx Container andauernd ARP Broadcast für die IP 192.168.5.50 aussendet. Jedoch sehr ich nirgends Antworten?

Habe ich en VLAN-Problem, welches ARP Broadcast in mein MACVLan verhindert?
Was muss ich machen um die Netze "ARP-mässig" zu koppeln?

Merci für Feedack
 

Anhänge

  • ARP Broacast.png
    ARP Broacast.png
    75,6 KB · Aufrufe: 4
Hast du nur MACVLAN eingerichtet? MACVLAN verbietet von Haus die Kommunikation von Host zu Container. Du müsstest ein Bridge einrichten, die genau dies erlaubt. Dies muss bei jedem Boot passieren.
 
Was hat
Wenn ich im Netwerk "sniffe" dann fällt mir auf, dass der NGinx Container andauernd ARP Broadcast für die IP 192.168.5.50 aussendet. Jedoch sehr ich nirgends Antworten?
Pack nginx mal zusätzlich in ein Docker Bridge Network - dann sollte er über dieses Interface auch mit dem Host kommunizieren können und auch mit anderen Containern die im selben Container-Netzwerk sind.

Afaik, funktioniert Service Discovery auch nur mit Bridge (bei Swarm auch Overlay) Netzwerken, und nicht mit MACVLAN.

Ohne nginx zusätzlich an ein Docker-Bridge-Netzwerk zu hängen, wird es selbst mit dem Workaround den @JohneDoe beschreibt, nicht möglich sein, dass ein MACVLAN Kind-Interface (=192.168.5.210) mit der IP des MACVLAN Eltern-Interfaces (=192.168.5.50) kommuniziert.

Dieser Teil ist unklar:
Auf NAS1 läuft ein Container1 welcher seine Dienste unter Port 6669 anbietet.
Im NGinx Container kann ich nun auch einen Proxy Host erstellen welcher auf Container1 zeigt. Funktioniert. Ist von extern mittels Https erreichbar
Auf NAS1 läuft ein Container2 welcher seine Dienste unter Port 6669 anbietet. (Dieselbe Funktion wie Container1).
Container2 ist im Host Netz unter http://192.168.5.50:6669/ problemlos erreichbar.
Wen ich nun auf dem NGinx Container "umschalte" und den Container2 gegen extern zugänglich machen will, dann funktioniert dies nicht. "502 Bad Gateway" erscheint.
Wenn Container1 und Container2 beide auf NAS1 laufen, was hat das mit dem MACVLAN von NAS2 zu tun?
Und warum ist dann einer der beiden Container über die IP von NAS2 erreichbar?
 
es selbst mit dem Workaround den @JohneDoe beschreibt, nicht möglich sein, dass ein MACVLAN Kind-Interface
Oh, sorry :) MACVLAN ist nicht mein Steckenpferd, weil ich der Meinung bin, dass es mehr Probleme bringt als es nutzt. Also in den meisten Fällen. Danke für den Hinweis.
 
  • Like
Reaktionen: haydibe
Hast du nur MACVLAN eingerichtet? MACVLAN verbietet von Haus die Kommunikation von Host zu Container. Du müsstest ein Bridge einrichten, die genau dies erlaubt. Dies muss bei jedem Boot passieren.
NGinx hat nebst dem MACVLAN auch noch ein Bridge Netzwerk um mit seiner Datenbank kommunizieren zu können. Der Hinweis, dass MACVLan die Kommunikation von Host zu Container verbietet ist gut. Wusste ich nicht. Danke!
 
Pack nginx mal zusätzlich in ein Docker Bridge Network - dann sollte er über dieses Interface auch mit dem Host kommunizieren können und auch mit anderen Containern die im selben Container-Netzwerk sind.
Nginx hat nebst dem MACVLan auch noch ein Bridge Netzwerk, damit es seine DB findet. Dies ist vermutlich nicht die Lösung. (Insgesammt habe ich ein Dutzend Container und einige Raspery Pi's welche ich über den nginx ins Internet freigeben will)
 
Das war nicht ganz richtig formuliert von mir: es ist natürlich nicht MACVLAN was er verbietet, sondern es sind Sicherheitsfunktionen des Linux-Kernels, die die direkte Kommunikation zwischen Kind<->Eltern Interfaces bei MACVLAN/IPVLAN verbietet. Docker erbt das Verhalten nur
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat