1 (edytowany przez Zephyr 2025-06-03 11:14:41)

Temat: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Witam, mam uruchomioną konfigurację VLAN'ów jak na grafice:

rzut poglądowy

Działając w obszarze A i dołączając się czy to do WiFi czy do odpowiedniego portu routera 'VLAN Selector' nie mam problemu aby znaleźć się w odpowiednim VLAN'ie w obszarze B.
W obszarze B w routerach mam 'zeswitchowany' port WAN z portem 1 które działają jako TRUNK z VLAN ID=1 tak więc łączę je ze sobą bez dodatkowych switchy.
Łącząc się w obszarze B czy do WiFi TRUNK czy do portu TRUNK mam dostęp do sieci od ISP ale nie mam połączeń do urządzeń w TRUNK np. do 172.30.100.200...

Zauważyłem na przykładzie 172.30.100.240 (pierwszego w gałęzi TRUNK), że jak wyrzucę konfigurację VLAN'ów to wtedy widzę urządzenia w 172.30.0.0/16.

Poniżej przedstawiam konfigurację dla 172.30.100.240 (OpenWRT 19.07.9 z Luci).

NETWORK:

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 'dead:cafe:a243::/48'

config interface 'trunk'
    option type 'bridge'
    option ifname 'eth0.1'
    option proto 'static'
    option delegate '0'
    option force_link '0'
    option ipaddr '172.30.100.240'
    option netmask '255.255.0.0'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '6t 1 0'

config switch_vlan
    option device 'switch0'
    option ports '6t 1t 2 0t'
    option vlan '10'

config switch_vlan
    option device 'switch0'
    option ports '6t 1t 3 0t'
    option vlan '11'

config switch_vlan
    option device 'switch0'
    option ports '6t 1t 4 0t'
    option vlan '12'

config interface 'vlan10'
    option proto 'static'
    option type 'bridge'
    option ipaddr '10.186.20.253'
    option netmask '255.255.0.0'
    option delegate '0'
    option force_link '0'
    option ifname 'eth0.10'
    option gateway '10.186.20.254'

config interface 'vlan11'
    option proto 'static'
    option type 'bridge'
    option delegate '0'
    option force_link '0'
    option ifname 'eth0.11'
    option ipaddr '10.186.70.200'
    option netmask '255.255.255.0'
    option gateway '10.186.70.202'

config interface 'vlan12'
    option proto 'static'
    option type 'bridge'
    option ipaddr '10.186.22.253'
    option netmask '255.255.0.0'
    option delegate '0'
    option force_link '0'
    option ifname 'eth0.12'
    option gateway '10.186.22.254'

WIRELESS

config wifi-device 'radio0'
    option type 'mac80211'
    option hwmode '11g'
    option path 'platform/10300000.wmac'
    option htmode 'HT20'
    option channel 'auto'

config wifi-iface 'default_radio0'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'ap'
    option key '12345678'
    option network 'trunk'
    option ssid 'trunk'

config wifi-iface 'wifinet1'
    option device 'radio0'
    option mode 'ap'
    option key '12345678'
    option encryption 'psk2'
    option network 'vlan10'
    option ssid 'AP vlan10'

config wifi-iface 'wifinet2'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'ap'
    option network 'vlan11'
    option key '12345678'
    option ssid 'AP vlan11'

config wifi-iface 'wifinet3'
    option encryption 'psk2'
    option device 'radio0'
    option mode 'ap'
    option network 'vlan12'
    option key '12345678'
    option ssid 'AP vlan12'

FIREWALL

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'trunk'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    list network 'trunk'

config include
    option path '/etc/firewall.user'

DHCP

config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option filterwin2k '0'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option nonegcache '0'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'
    option nonwildcard '1'
    option localservice '1'

config dhcp 'trunk'
    option interface 'trunk'
    option ignore '1'

config odhcpd 'odhcpd'
    option maindhcp '0'
    option leasefile '/tmp/hosts/odhcpd'
    option leasetrigger '/usr/sbin/odhcpd-update'
    option loglevel '4'

config dhcp 'vlan10'
    option interface 'vlan10'
    option limit '10'
    option leasetime '8h'
    option start '20'

config dhcp 'vlan11'
    option interface 'vlan11'
    option leasetime '8h'
    option limit '8'
    option start '203'

config dhcp 'vlan12'
    option interface 'vlan12'
    option start '10'
    option limit '10'
    option leasetime '8h'

Z mojego punktu widzenia nie widzę błędu ale... jestem amatorem i mogłem coś przeoczyć.
Czy ktoś z Was widzi tu błąd?

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

2

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Pierwsze zmień, bo jest dhcp zamiast networku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Poprawiłem smile

Cezary napisał/a:

Pierwsze zmień, bo jest dhcp zamiast networku.

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

4

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Widzisz bo ruch na interfejsie który nazwałeś trunk nie jest tagowany, więc cokolwiek podłączysz bez żadnego vlana widzi wszystkie urządzenia w nim. Zapis typu

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '6t 1 0'

Daje ci tylko podział switcha na logiczne coś, bez tagowania ramek. Chcesz to zmienić to sobie wszędzie zrób vlan o jakimś numerze który będziesz na tych tplinkach traktował jako interfejs "trunk".

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Sugerowałem się konfiguracją domyślną (tu z TL-WDR4300) gdzie LAN'y nie mają tagowania:

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '2 3 4 5 0t'

a urządzenia na portach 2, 3, 4, 5 się widzą na domyślnym VLAN=1.

Muszę 'przetworzyć' jeszcze Twoją myśl bo błądzę...

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

6

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

...spinając zaś kilka routerów LAN'ami (wg powyższej konfiguracji) wszystkie host'y się widzą.

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

7 (edytowany przez Cezary 2025-06-03 13:23:53)

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Zephyr napisał/a:

Sugerowałem się konfiguracją domyślną (tu z TL-WDR4300) gdzie LAN'y nie mają tagowania:

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '2 3 4 5 0t'

a urządzenia na portach 2, 3, 4, 5 się widzą na domyślnym VLAN=1.

Muszę 'przetworzyć' jeszcze Twoją myśl bo błądzę...

Domyślna konfiguracja na takich switchach obsługiwana przez swconfig to nie jest  tagowanie ramek czymkolwiek. To tylko podział switcha na logiczne części w miarę potrzeby, więc tu nie występuje pojęcie tagowania ruchu. Dodaj jawnie to "t" do każdego portu, wtedy tak, pojawią się znaczniki vlanów w ramkach.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Zauważyłem, że routery z obszaru B się pingują. Czy oznaczało by to, że jeżeli któraś z konfiguracji wskazuje na mój TRUNK'owy port ze znacznikiem tagowania to ten port wysyła już tylko i wyłącznie ramki z tagiem - tu wygląda na to, że wysyła i oczekuje ramek z ID=1. Pozostałe urządzenia w sieci nie wysyłają ID VLAN to pewnie dlatego się nie widzą ??

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

9

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Łącząc się z obszaru B do TRUNK dostaję ustawienia DHCP z 172.30.100.253 (czyli obszar A) - tylko dlatego, że też ma option vlan '1'?

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

10

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Właściwie dlatego że tam jest zwykły interfejs bez żadnego tagowania.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Chyba rozumem gdzie mam błąd: z obszaru B przychodzą ramki z identyfikatorem VLAN, zaś kabel mam wpięty do nie tagowanego portu w routerze w obszarze A (już nie ważne jaki ma VLAN na LAN).
Odseparowałem jeden port jako VLAN=5 i obszarze B TRUNK też jest ustawiony na VLAN=5.

korekta

Teraz mam dwa pytania:
- czy można z'bridge'ować VLAN 5 z VLAN 1 (strona 172.30.100.253) ?
- czy w takim przypadku jak w obszarze A na karcie sieciowej jakiegoś hosta ustalę VLAN z obszaru B (nie będący nośnikiem VLAN5) to czy będę miał połączenie z tym VLAN'em?

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM

12

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Nie tak dawno samemu zbłądziłem nad prostszą strukturą i wiem jak to jest. Twoje rozwiązanie jest bardziej rozbudowane a tym samym trudniejsze w analizie.

W obszarze A masz na schemacie jeden VLAN (ID=1) ale raspberry mają inną pulę adresów, dwa pc mają osobną - jak to zrobiłeś? Dodatkowo drugi PC łączy się z wifi trunk - końcowy host nie "zrozumie" otagowanej ramki.

Obszar B jak rozumiem to osobny VLAN dzielony później na inne VLAny. Tej części nie rozumiem najbardziej tj tworzenia vlanów wywodzących się z jednego vlanu. Czy tam nie wystarczy podział sieci na osobne routery (jak domyślam się piętra) z osobną adresacją, z dostępem tylko do internetu i izolacją klientów? Trochę się mi to gryzie z ideą VLAN - tworzysz VLAN 1 i 5 na ka końcu pytasz się jak te dwa VLANy ze sobą połączyć? Więc celem poerwotnym jest, żeby każde urządzenie w tej strukturze miało dostęp do każdego innego (chyba że źle zrozumiałem). Jeśli tak to nie potrzebujesz VLANów moim zdaniem.

To co jak bym zrobił na twoim miejscu - zostawił na chwilę to co zbudowałeś i wziął router główny i dodatkowy router i ustawiłbym to w mniejszej skali. Jak to by ruszyło to bym zabrał sie za skalowanie rozwiązania. W tej chwili dla mnie, mimo że poświeciłem na zrozumienie kilka miniu, to rozwiązanie jest zakręcone i przez to mało zrozumiałe.

13

Odp: Brak komunikacji z urządzeniami w TRUNK po dodaniu VLAN'ów

Moja ostatnia konfiguracja zadziałała prawidłowo tzn. VLAN 5 i VLAN 1 dostały bridge na routerze głównym.

_michal napisał/a:

(...) ustawiłbym to w mniejszej skal(...)

wiem, że w sieć którą prezentuję potrafi zastanowić po co tak komplikować: to już odpowiadam.
W tą sieć spiąłem kilka linii produkcyjnych. Izolacja poprzez VLAN'y była niezbędna bo:
- inne linie są bliźniacze z tą samą statyczną pulą adresów IP lub nazwą hostów,
- musiałem izolować główny broadcast bo wariowały mi urządzenia safety które muszą mieć szybki czas odpowiedzi do sterowników PLC i nie mogą 'czekać' w kolejce,
- chciałem uzyskać dostęp do wszystkich urządzeń IP z jednego punktu,
- chciałem zgłębić bardziej (hobbystycznie) zagadnienie VLAN.

OpenWrt 21.02 / LuCI / Linksys WRT3200ACM