Docker - Traefik - Probleme mit Routing

Thor2605

New member
Hallo,

Ich habe diverse VLANs auf meinem Ubuntu Server eingerichtet auf dem jeweils Docker-Container im macvlan laufen.
Soweit funktioniert auch alles ohne Probleme, aber sobald ich den Containern, die per Traefik angesprochen werden sollen, hinzufügt läuft aller Traffic über die Default-Route des Ubuntu-Servers.

Das Netzwerk ist vom Typ Bridge im Adressbereich 172.18.0.0/16.
Meine VLANs laufen im Adressbereich 172.16.X.0.

Wie kann ich verhindern, dass die Default Route benutzt wird, bzw. warum kommunizieren die Container nicht mehr im macvlan?
 
Du meinst, sobald ein Container sowohl an das macvlan, als auch eine Bridge attached ist, geht egress über die Bridge raus?

Die Traefik-Ziele sollten sich mit einer IP des von dir angegebenen Netzwerks am Traefik registrieren, so dass es mich wundern würde, wenn die Response zu Requests, die über den Traefik reinkommen, nicht auch über den Traefik wieder rausgehen.
 
Hab noch etwas weiter probiert.

Das Ganze passiert auch bei einem neuen Bridge Network.
Warum auch immer landet dann der Traffic zu meinen Sonos Geräten auf der Vlan ID 1.
Alles andere scheint aber normal zu funktionieren.
Wie kann das sein wenn ein Container im Vlan innerhalb macvlan läuft und Anfragen über das Gateway vom Vlan 1 raus gehen?
Die neue Bridge hatte logischerweise eine andere Adresse...
 
Das Problem ist dass docker automatisch eine default Route auf das bridge interface legt.
Wie bekomme ich das raus?
Die default Route soll ausschließlich über das macvlan interface gehen...
 
Hast Du mal versucht, ob es reicht das Bridge-Network mit internal: true anzulegen?

Wichtig: Netzwerke und Volumes sind unveränderlich nach der Erzeugung. SIe müssen händisch gelöscht werden, damit Compose sie dann mit den neuen Werten neu anlegen kann.
 
Nein das hab ich noch nicht versucht.
War mir nicht wirklich sicher dass traefik dann überhaupt noch funktioniert mit einem internal Netzwerk.

Ein Workaround war das Netzwerk umzubenennen.
Es sieht so aus wie wenn Docker die default Route auf das Netzwerk legt welches im Alphabet als erstes kommt...
 
War mir nicht wirklich sicher dass traefik dann überhaupt noch funktioniert mit einem internal Netzwerk.
Meine Annahme: das Bridge Network wird für die "Traefik zu Service"-Kommunikation verwendet (nur so würde es das Konstrukt Sinn ergeben)

Welches Problem sieht Du denn, wenn Ingres Traffic über das macvlan Interface bei Traefik eingeht, und hinten raus an die Ziel-Container über ein internes Bridge-Network geleitet werden?
 
Ich bin mir da nicht sicher ob traefik dann im selben Netzwerk in der die Subcontainer angesprochen werden auch dann eine Verbindung zu dem Requester aufbaut oder ob das traefik ordentlich zwischen zwei Netzwerken routet, wenn eins davon ein rein internes Netzwerk ist.

Aber ein Versuch wäre es wert. Sieht man ja schnell ob es geht oder nicht 😊
 
Aber das steuerst Du doch über die Labels selbst:
Code:
services:
  meinservice:
    labels:
      - "traefik.enable=true" 
      - "traefik.docker.network=foobar"
      ...

foobar wäre dann der Name von deinem Bridge Netzwerk.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.268
Beiträge
52.459
Mitglieder
5.019
Neuestes Mitglied
Jeff888
Zurück
Oben