Am 11.04.2021 um 16:06 schrieb Andreas Fett:

Hallo Andreas

> Wichtig ist, dass Du die vlans die durch sollen als "tagged" zu den Port 
> hinzufügst.
> Die pvid sorgt dafür, dass ungetaggte Pakete die rein kommen vlan 1 als
> default bekommen. Die "untagged" Einträge strippen dann die angegeben
> vlan id wieder von den Paketen wenn sie den Port verlassen. Und genau
> das willst Du nicht. Also ja, Du musst die default Konfig für vlan 1
> löschen... kannst dann aber vlan 1 wieder als "tagged" hinuzfügen.

Neuer Tag, neue Versuche, vermutlich weiterhin altes Gehirn, nicht ganz
funktionsfähig...

Mir ist heute eingefallen, dass vermutlich die VLAN-Pakete direkt an die
VLAN-Schnittstellen gehen.
Deswegen habe ich ein VLAN auf meinem PC ausgeschaltet:

ifdown vlan666  # VLAN herunterfahren
ifdown gst0     # Bridge zum VLAN 666 herunterfahren

Dann habe ich die VM gestartet und plötzlich konnte ich sie über VLAN
666 erreichen (natürlich von einem anderen Rechner im meinem Netz).
Als Gegenprobe habe ich gst0 und vlan666 auf meinem PC wieder gestartet
und plötzlich war die VM über VLAN 666 nicht mehr erreichbar, sondern
nur weiterhin über VLAN 1.

Gut, dann habe ich das Erkenntnis, dass die Pakete von den
VLAN-Schnittstellen "abgefangen" werden, und das Bridge auf eth0
(physische Schnittstelle) wird diese VLAN-Pakete gar nicht bekommen.

Ich habe dann probiert, die VLAN-Schnittstelle nicht mehr an eth0 zu
koppeln, sondern an mgmt0 (das Bridge auf eth0, das standardmäßig VLAN 1
nutzt).
Leider hat es nicht geklappt. ip link hat mir auch gezeigt, dass vlan666
weiterhin auf eth0 gekoppelt ist, vermutlich hat Linux intern gesehen,
dass mgmt0 ein Bridge auf eth0 ist und hat diese Kopplung so gemacht.
Also, auch dieser Weg führt nirgendwo hin...

Ich versuche deine Empfehlungen zu verstehen, aber irgendwie kriege ich
das nicht hin...
Du hast gesagt, ich soll ein Bridge br0 anlegen, dann ein veth (veth0)
und die VLANs an veth0 zuweisen.
Das habe ich gemacht. Kurioserweise wenn ich veth0 anlege, wird auch ein
veth1 angelegt.
Dann schreibst du ich soll veth1 (die irgendwie da ist, obwohl ich nicht
ganz verstanden habe warum) an br0 zuweisen. Das habe ich auch gemacht.

Bisher habe ich also folgende Befehle ausgeführt:

ip link add name br0 type bridge
ip link add type veth
ip link add link veth0 name veth0.10 type vlan id 10
ip link add link veth0 name veth0.30 type vlan id 30
ip link add link veth0 name veth0.40 type vlan id 40
ip link add link veth0 name veth0.666 type vlan id 666
ip link set dev veth1 master br0

Und dann denke ich, dass ich nicht mehr lesen kann, denn du spricht
plötzlich über eine tap0, die ich nicht habe...

Kannst du mir das noch erklären? Ich glaube, ich sehe etwas Licht am
Ende des Tunnels, aber es kann auch ein entgegenkommenden Zug sein...

Danke
Luca Bertoncello
([email protected])

Antwort per Email an