Tento návod je platný pouze pro Turris Omnia
Pro nastavení VLAN na routeru Turris Omnia je nejprve zapotřebí porozumět hardwarovému návrhu a propojení jednotlivých komponent. Viz následující obrázek:
Procesor routeru Turris (SoC, Armada 385) má 3 síťová rozhraní. Z pohledu systému jde o eth0
, eth1
a eth2
. Zatímco eth1
je propojen přímo s konektorem WAN na zadní straně routeru, rozhraní eth0
a eth2
jsou připojena do switch-chipu, konkrétně do jeho portů 5 a 6, a jejich přiřazení fyzickým konektorům LAN0
– LAN4
lze konfigurovat.
Router je standardně dodáván v takové konfiguraci sítě, kdy konektor LAN4
je přiřazen rozhraní eth2
. Ostatní konektory (LAN0
– LAN3
) jsou spojeny s rozhraním eth0
. Viz následující soubor:
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'auto' config interface 'lan' option ifname 'eth0 eth2' option type 'bridge' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config interface 'wan' option ifname 'eth1' option proto 'dhcp' config interface 'wan6' option ifname '@wan' option proto 'dhcpv6' config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option ports '0 1 2 3 5' config switch_vlan option device 'switch0' option vlan '2' option ports '4 6'
Z posledních dvou bloků config switch_vlan
je patrné, že máme nastaveny dvě VLANy. V prvním bloku je definována VLAN1
jako spojení portů switch-chipu čísla 0 1 2 3 5
. Port5
dle obrázku výše náleží rozhraní eth0
, porty 0 až 3 pak přísluší fyzickým konektorům LAN0
až LAN3
, připojíme-li tedy do jednoho z nich ethernetový kabel, jsme schopni příslušný datový tok zachytit na rozhraní eth0
(a taktéž na rozhraní br-lan
, jelikož eth0
a eth2
jsou spojeny do bridge, viz blok config interface 'lan'
).
Analogicky lze číst další blok config switch_vlan
: VLAN2
náleží port6
(a tedy rozhraní eth2
) a port4
, který je připojen k fyzickému konektoru LAN4
.
Z předchozího odstavce je patrné, že eth2
a eth0
reprezentují VLANy s označením VLAN1
a VLAN2
. Chceme-li přidat další VLANy, je to možné. Viz následující příklad (zmíněny jsou pouze bloky config switch_vlan
):
config switch_vlan option device 'switch0' option vlan '1' option ports '5t 0 1' config switch_vlan option device 'switch0' option vlan '2' option ports '4 6' config switch_vlan option device 'switch0' option vlan '3' option ports '5t 2 3'
VLAN2
zůstala stejná jako v předhozím případě (spojuje rozhraní eth2
a konektor LAN4
). VLAN1
nyní obsahuje port5
(rozhraní eth0
), port0
(a tedy konektor LAN0
) a port1
(odpovídá konektoru LAN1
). Všimněte si, že port5
je označen jako tagovaný (5t
), v tomto případě je to nunté, protože port5
(rozhraní eth0
) je použito jako linka mezi switch-chipem a procesorem jak pro VLAN1
tak pro VLAN3
.
Analogicky pak je možné číst i poslední blok.
Pro správnou funkci nastavených VLAN je ještě nutné pozměnit blok config interface 'lan'
. Např. takto:
config interface 'lan' option ifname 'eth0.1 eth2' option type 'bridge' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config interface 'lan-2' option ifname 'eth0.3' option type 'bridge' option proto 'static' option ipaddr '10.0.0.1' option netmask '255.255.255.0'
Všimněte si, že v bloku 'lan'
jsme změnili eth0
na eth0.1
, což značí VLAN1
na rozhraní eth0
. Dále jsme si vytvořili novou síť 'lan-2'
se statickým adresováním do které máme přiřazenu VLAN3
a tedy fyzické konektory LAN2
a LAN3
(viz předchozí nastavení VLAN a diagram zapojení výše).