VLAN tagging

Nutzen

Was sind eigentlich VLANs? Stell dir vor, du willst zwei Netzwerke von Node A nach Node B bringen. Netzwerk1 könnte zum Beispiel dein privates Netz sein und Netzwerk2 ist dein Mesh-Netz, über die deine anderen Nodes vom Offloader ihr Internet beziehen.

Nun müsstest du eigentlich zwei Kabel von A nach B ziehen ODER du nutzt VLANs. Das V steht für virtuell. Je nach Konfiguration kannst du damit auch Netzwerkkarten an verschiedenen Geräten sparen.

Grundlagen (IEEE 802.1Q)

Ein VLAN-Datenpaket unterscheidet sich ein wenig von einem „normalen“ Datenpaket. Es besitzt ein optionales VLAN-Tag, welches angibt, in welchem VLAN (1-4094) sich es befindet.

Weitere Informationen auf https://de.wikipedia.org/wiki/IEEE_802.1Q

Ein VLAN-Datenpaket bezeichnet man als „tagged“, ein Datenpaket ohne VLAN als „untagged“.

Normale Switche leiten alle Pakete richtig weiter. Endgeräte, wie zum beispiel ein PC, können diese normalerweise nicht verwerten. Sie verwerfen alle „tagged“ Pakete und verwenden nur die „untagged“ Pakete.

Beispiel (Konfiguration Norbert) Idee

Aber wie kann dann ein normaler Computer auf das Client Netz oder das Private Netz zugreifen?

Man überlegt sich zuerst verschiedene VLANs z.B.

Nun nehmen wir uns zwei Freifunk-Router z.B. TP-WR1043 (Gigabittauglich). Beide erhalten folgende Konfiguration:

ACHTUNG!!! Port1-4 laufen nicht unbedingt in Reihenfolge. Ausprobieren mit

 swconfig dev switch0 show 

Bei einem TL-WR841 laufen sie zum Beispiel genau entgegengesetzt

Die beiden Switche werden nun über Port 1 miteinander verbunden. Nun kann man bei beiden Switchen aus Port 2 und 3 Meshnetz einspeisen/entnehmen und am WAN-Port Client-Netz einspeisen/entnehmen. Port 4 liefert Client-Netz

Vom Switch2 kann man dann die einzelnen Netze an den einzelnen Ports entnehmen. Schließt man seinen Rechner an Port4 (Client-Netz), hat man aber keinen Zugriff aufs private Netz, was ja gewollt ist. Außnahme: Man verbindet die beiden Netze mit z.B. einem LAN-Kabel.

Die VLANs werden wie folgt angelegt:

/etc/config/network
config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'
 
config switch_vlan 'switch0'
        option device 'switch0'
        option vlan '1'
        option ports '0t 1 2 3 4'
 
config switch_vlan
        option device 'switch0'
        option vlan '11'
        option ports '0t 1t'
 
config switch_vlan
        option device 'switch0'
        option vlan '12'
        option ports '0t 1t 2 3'
 
config switch_vlan
        option device 'switch0'
        option vlan '13'
        option ports '0t 4'

Außerdem mussen die VLANs den Netzwerken intern zugeordnet und Mesh-on-LAN aktiviert werden. Folgende Anpassungen sind nötig:

uci set network.wan.ifname='eth0.11 eth1'
uci set network.mesh_lan.ifname='eth0.12 eth0.13'
uci set network.mesh_lan.auto=1
uci set network.client.ifname='eth0.13' 'local-port' 'bat0'

Quellen

http://coderazzi.net/howto/openwrt/tl841n/vlans.htm https://wiki.bremen.freifunk.net/Anleitungen/Offloader-Futro