jarod42
Goto Top

TL-SG3424P mit Link Aggregation und VLAN an Ubuntu 16.04 Server

Hallo zusammen,

das Thema VLANs ist relativ neu für mich. Und ich tue mich ehrlich gesagt doch etwas schwer damit.
Seit 2 Tagen versuche ich meinen Ubuntu Server zusammen mit einem TL-SG3424P VLAN fähig zu bekommen. Bis jetzt habe ich allerdings nichts weiter erreicht, als mich unzählige Male selbst auszusperren.

Das hier ist mein Setup:

Der Ubunutu Server benutzt bond-mode 802.3ad für die Interfaces eno1 & eno2 als Uplink zum Switch:
auto bond0
iface bond0 inet manual
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1
    slaves eno1 eno2
    post-up ifup br0

Im Switch ist LAG2 angelegt um die beiden Links zu aggregieren.
lag2
Dieses Setup läuft seit 3 Jahren stabil. Das lokale Netz ist 192.168.3.0/24

Die IP des Server liegt auf einer Bridge, die ich eingerichtet habe, um docker und qemu--kvm nutzen zu können:

iface br0 inet static
    address 192.168.3.42
    netmask 255.255.255.0
    network 192.168.3.0
    broadcast 192.168.3.255
    dns-nameserver 192.168.3.42
    dns-search home
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Jetzt habe ich auf dem Ubuntu Server in der interfaces Datei Folgendes hinzugefügt:
auto vlan666
iface vlan666 inet static
    address 10.6.66.42
    netmask 255.255.255.0
    network 10.6.66.0
    broadcast 10.6.66.255
    mtu 1500
    vlan_id 666
    vlan-raw-device bond0

Das Interface wird auch hochgefahren:
ip li sh vlan666
16: vlan666@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000

Vorsorglich habe ich im TL-SG3424P unter "802.1Q VLAN" schon ein mal VLAN 666 angelegt:
vlan-config1
aber noch keinem Port zugeordnet.


Wenn ich jetzt unter "Port Config" die LAG2 Ports auf Trunk umstelle (habe noch nicht auf "Apply" geklickt, um mich nicht wieder auszusperren :-P ):
port-config_trunk
erreicht keine der an den Switch angeschlossenen Maschinen den Ubuntu Server unter seiner IP 192.168.3.42.

Wenn ich die Anleitung zum Switch richtig gelesen habe, dann sollte ein Paket ohne VLAN Tag automatisch dem Default VLAN 1 hinzugefügt werden. Und das liegt an jedem Port an.

Kann mir jemand erklären, wo mein Denkfehler ist?

Content-Key: 353943

Url: https://administrator.de/contentid/353943

Printed on: April 26, 2024 at 03:04 o'clock

Member: GrueneSosseMitSpeck
GrueneSosseMitSpeck Nov 07, 2017 at 13:38:46 (UTC)
Goto Top
Mein Bauchgefühl sagt mir daß man die phsyischen Interfaces im Ubuntu mit einem VLAN Tag versehen muß, nicht am Bond (oder beides)

Der Bond ist ein virtuelles Interface, das softwaremäßig die Datenpakete über die beiden physischen Interfaces verteilt. Je nachdem wie die konfiguriert sind als Hot Standby oder als Round Robin. Was über den Bond dann an Traffic läuft geht dann über das an den Adaptern eingestellte VLAN.
Member: aqui
aqui Nov 07, 2017 updated at 16:03:10 (UTC)
Goto Top
Und ich tue mich ehrlich gesagt doch etwas schwer damit.
Kein Problem, dafür gibt es ja das Forum hier face-wink
Das HowTop Tutorial zu dem Thema hast du gelesen ??
VLANs:
Netzwerk Management Server mit Raspberry Pi
Und das Thema LAGs auf Linux:
Netzwerk Management Server mit Raspberry Pi
Wenn du danach vorgehst kommt das auch sofort zum Fliegen !!
Vorsorglich habe ich im TL-SG3424P unter "802.1Q VLAN" schon ein mal VLAN 666 angelegt:
Aber es fehlen die dazugehörigen Switchports denen das VLAN 666 Tagged zugewiesen wurde face-sad

Du musst auch aufpassen wie hier die Syntax ist. "Trunk" ist ein gefährlicher Begriff. Manche meinen damit einen LAG, also Link Aggregation, andere bezeichnen damit einen Tagged Uplink.
Bei deinem TP Link sieht es so aus als ob das einen Tagged Uplink bezeichnet und nicht einen LAG in den Port Eigenschaften. Access = Untagged Port, Trunk = Tagged Port.
erreicht keine der an den Switch angeschlossenen Maschinen den Ubuntu Server unter seiner IP 192.168.3.42.
Kein Wunder, denn du hast dem VLAN 666 keinerlei Tagged Ports zugewiesen.

Du hast hier gleich mehrere Herausforderungen, deshalb solltest du erstmal strategisch vorgehen und eine Grundkonfig machen indem du eth0 und eth1 z.B. in einen 802.3ad / LACP Bonding packst und das erstmal wasserdicht auf dem TP Link zum Laufen bringst auf normalen Access Ports die dort ebenfalls in einem 802.3ad / LACP LAG gebündelt sind.
Das sollte fehlerfrei dann funktionieren.

Dann Taggst du die beiden Ports auf dem Switch ins VLAN 666. Darauf achten das die Portkonfig der Switch LAG Ports vollkommen identisch ist !
Auf dem Ubuntu musst du nun auf dem bond Port das Tagging konfigurieren.
Final sollte das dann so aussehen:
auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0

auto eth1
iface eth1 inet manual
bond-master bond0

auto bond0
iface bond0 inet manual
(address 10.1.1.42
netmask 255.255.255.0)
bond-mode 802.3ad
bond-miimon 100
bond-slaves none
bond-xmit_hash_policy layer2+3

auto bond0.666
iface bond0.666 inet static
address 10.6.66.42
netmask 255.255.255.0
vlan-raw-device bond0


Siehe auch:
http://www.yamansertdemir.com/?p=1

Das bond0 Interface ist das Default oder Native VLAN, also das was untagged Traffic auf den Tagged Link sendet was der Switch ins VLAN 1 forwardet.
Willst du nur Tagged Traffic, dann lässt du die IP Adressierung (in Klammern) im bond0 komplett weg.

Dein Fehler ist vermutlich das du schlicht und einfach vergessen hast dem VLAN666 am Switch die beiden Ports Tagged zuzuweisen ?!
Wenns wie im Tutorial mit nem Raspberry Pi funktioniert sollte dein Ubuntu das allemal können face-wink

Weitere Grundlagen zum Thema VLANs findest du im hiesiegen Tutorial:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern
VLANs über 802.1q Trunk auf Windows und Linux Rechnern realisieren
und in der VLAN Schnellschulung:
Heimnetzwerk Aufbauen oder auch wie wird ein Longshine LCS-GS8408 eingerichtet