Tajemne życie sieci wirtualnych
Ostatnia zmiana: 2026-02-17 13:16
VLAN (Virtual Local Area Network / Wirtualna sieć lokalna) - to wydzielony logicznie obszar sieci komputerowej. W routerach wykorzystuje się VLANy do podziału portów przełącznika (
switcha) na oddzielne sekcje (w starszych wersjach oprogramowania), można także wykorzystać je do odseparowania kilku sieci od siebie. W pierwszym przypadku mówimy zwykle o VLANach typu
port based, w drugim o typie
802.1q. W starszych wersjach OpenWrt VLANy były wykorzystywane m.in do podziału switcha na WAN i LAN w większości modeli routerów; w nowszych wersjach OpenWrt zostało wprowadzone tzw. DSA -
Distributed Switch Architecture, czyli krótko mówiąc znikła definicja switcha, a każdy fizyczny port traktowany jest jako oddzielny interfejs. Jednakże obsługa VLANów pozostała, choć robi się to obecnie trochę inaczej.
Przedstawione konfiguracje przetestowano na OpenWrt 24.10
Nie wszystkie platformy wspierają DSA. Dla pozostałych nadal istnieje pojęcia switcha i VLANów, konfiguruje się z wykorzystaniem
swconfig.
Różnice w konfiguracji
Aby zobrazować różnice jakie wprowadza DSA posłużymy się znanym routerem Netgear R6220. W starszych wydaniach OpenWrt konfiguracja sieci wyglądała następująco (pominięto tu mniej istotne elementy konfiguracji takie jak IPv6 czy przypisanie adresów MAC do interfejsów; jest to częściowa zawartość pliku
/etc/config/network):
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth0.2'
option proto 'dhcp'
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 6t'
config switch_vlan
option device 'switch0'
option vlan '2'
option ports '4 6t'
Cały switch był pięcioportowy (wan + cztery lany), podzielony logicznie na wan (fizyczny port wan odpowiadał portowi 4 switcha) oraz cztery lany (fizyczne porty lan odpowiadały odpowiednio portowi 0, 1, 2 i 3 swictha). Aby był możliwy ruch do urządzenia switch połączony był z portem CPU o numerze 6 (tagowany).
Po wprowadzeniu DSA znikła definicja switcha, pojawiły się za to fizyczne interfejsy które nazwano wan, lan1, lan2, lan3 oraz lan4 (dotyczy to konkretnie routera Netgear R6220, w innych modelach mogą być inne nazwy interfejsów):
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
config interface 'wan'
option device 'wan'
option proto 'dhcp'
Definicja jest prostrza, bardziej przejrzysta i jednoznacznie wskazuje który port jest konkretnie przypisany do jakiej sekcji konfiguracyjnym.
Przy okazji zaprezentowano także nowy sposób tworzenia
bridge wprowadzony po wydaniu OpenWrt 21.02-rc2. Obecnie w sekcji nie ma opcji
type bridge oraz
ifname, jest za to opcja
device która może wskazywać albo odpowiedni interfejs (np. wan) albo interfejs
bridge (w tym przykładzie - br-lan), którego definicja jest osobnej sekcji typu
device. Sekcja ta zawiera listę portów wchodzących w skład tego
bridge.
Definiowane VLANów na WAN
Zróbmy klasyczny przykład - potrzebujemy tagowany VLAN 35 na interfejsie wan. Wg
starej konfiguracji wyglądało to tak:
config interface 'wan'
option ifname 'eth0.35'
option proto 'dhcp'
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 6t'
config switch_vlan
option device 'switch0'
option vlan '35'
option ports '4t 6t'
lub ostatnią sekcję można zamienić na poniższą:
config switch_vlan
option device 'switch0'
option vlan '2'
option vid 35
option ports '4t 6t'
co jest taką samą definicją.
Dla DSA VLANy definiuje się przez stworzenie nowej sekcji typu 802.11q
config interface 'wan'
option proto 'dhcp'
option device 'wan.35'
config device
option type '8021q'
option ifname 'wan'
option vid '35'
option name 'wan.35'
Sieć WiFi na innym VLAN
Scenariusz: mamy AP pracujący z adresem 192.168.1.1 (adres na management interface), chcemy żeby WiFi rozgłaszało sieć gościnną skojarzoną z VLAN 7.
Sytuacja często spotykana w "przemysłowych" punktach dostępowych, gdzie mamy rozdzieloną sieć do zarządzenia AP oraz ruch dla klientów. W przypadku AP Ubiquiti konfiguracja można wyglądać następująco:

AP mamy dołączony kablem do portu LAN1. Musimy teraz ustawić nasz router. Tworzymy
sieć gościnną a następnie modyfikujemy konfigurację sieci, a właściwie
bridge do następującej postaci:
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.1.1'
config interface 'guest'
option device 'br-guest'
option proto 'static'
option ipaddr '172.16.0.1'
option netmask '255.240.0.0'
config device
option name 'br-guest'
option type 'bridge'
list ports lan1.7
Po restarcie utworzy się VLAN 7 na interfejsie LAN1, będzie dostęp do panelu zarządzenia AP (w tym przypadku: 192.168.1.20) oraz klient podłączony do wifi dostanie adres z sieci gościnnej.
Sieć LAN i WAN na jednym kablu
Mamy urządzenie z jednym portem ethernet (np. PC lub RPi) i chcemy na vlanach zrobić lan i wan. Dodatkowo, to tego portu będzie podłączony zarządzalny switch, który zamieni te VLANy na normalnie gniadka.
Konfiguracja urządzenia
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
config bridge-vlan
option device 'br-lan'
option vlan '10'
list ports 'eth0:t'
config bridge-vlan
option device 'br-lan'
option vlan '20'
list ports 'eth0:t'
config interface 'lan'
option device 'br-lan.10'
option proto 'static'
list ipaddr '192.168.1.1/24'
config interface wan
option device br-lan.2
option proto dhcp
Logiczny LAN jest na tagowanym VLAN 10, zaś logiczny WAN na tagowanym VLAN 20. Teraz wystarczy dołączyć switch kablem do portu 1 skonfigurowany następująco:
- VLAN 20: tagged port 1, untagged port 2, reszta portów exclude
- VLAN 10: tagged port 1, exclude port 2, reszta portów untagged
W takiej konfiguracji od urządzenia dołączamy kablem switch do portu 1, do portu 2 można dać kabel "do internetu", reszta portów pracuje jako LAN.
Inne konfiguracje
Inne możliwości definiowana VLANów dla DSA można znaleźć na
forum OpenWrt.