Temat: prosta konfiguracja vlan'ów

Cześć,

Zabrałem się za konfigurację prostej sieci w domu opartej na VLAN'ach.

W założeniach:

VLAN 10 - vlan w którym znajduje się aktualnie router z openwrt -192.168.110.1/24
VLAN 20 - IOT - 192.168.120.1/24
VLAN 30 - komputery PC - 192.168.130.1/24


Konfiguracja interfejsów:

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'

config bridge-vlan
    option device 'br-lan'
    option vlan '10'
    list ports 'eth0:t'
    list ports 'lan1'

config bridge-vlan
    option device 'br-lan'
    option vlan '20'
    list ports 'eth0:t'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'

config bridge-vlan
    option device 'br-lan'
    option vlan '30'
    list ports 'eth0:t'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'
    
config interface 'lan'
    option device 'br-lan.10'
    option proto 'static'
    option ipaddr '192.168.110.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'VLAN20_IOT'
    option proto 'static'
    option device 'br-lan.20'
    option ipaddr '192.168.120.1'
    option netmask '255.255.255.0'

config interface 'VLAN30_PC'
    option proto 'static'
    option device 'br-lan.30'
    option ipaddr '192.168.130.1'
    option netmask '255.255.255.0'

config bridge-vlan
    option device 'br-lan'
    option vlan '100'
    list ports 'wan'

Konfiuguracja firewall:

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

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

config zone
    option name 'wan'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'
    list network 'wan'
    list network 'wan6'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config zone
    option name 'IOT'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'
    list network 'VLAN20_IOT'

config zone
    option name 'PC'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    list network 'VLAN30_PC'

config rule
    option src 'IOT'
    option target 'ACCEPT'

Jestem zapięty laptopem to portu pierwszego, adresacja wpisana ręcznie 192.168.120.6  a adresu bramy 192.168.120.1 czy też routera 192.168.110.1 nawet nie jestem w stanie spingowac.
Gdzie robię błąd ?

2

Odp: prosta konfiguracja vlan'ów

Coś mi nie gra. Masz router z DSA, czemu tagujesz eth0 w każdym vlanie? eth0 w ogóle nie powinieneś dotykać.

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

3

Odp: prosta konfiguracja vlan'ów

Faktycznie, powinno być bez eth0 ale to nie rozwiązuje problemu. Zostały same interfejsy lan

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fdfb:972e:6761::/48'
    option packet_steering '1'

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.10'
    option proto 'static'
    option ipaddr '192.168.110.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wan'
    option device 'wan'
    option proto 'dhcp'

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'

config bridge-vlan
    option device 'br-lan'
    option vlan '10'
    list ports 'lan1'

config bridge-vlan
    option device 'br-lan'
    option vlan '20'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'

config bridge-vlan
    option device 'br-lan'
    option vlan '30'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'

config interface 'VLAN20_IOT'
    option proto 'static'
    option device 'br-lan.20'
    option ipaddr '192.168.120.1'
    option netmask '255.255.255.0'

config interface 'VLAN30_PC'
    option proto 'static'
    option device 'br-lan.30'
    option ipaddr '192.168.130.1'
    option netmask '255.255.255.0'

4

Odp: prosta konfiguracja vlan'ów

I teraz  - co chcesz właściwe zrobić? Jeżeli chcesz podzielić switch na inne podsieci bez tagowania to wywal z bridge-vlan lany. Jeżeli chcesz w jednym porcie mieć kilka tagowanych sieci to zrób tag na danych porcie w vlane, ale wtedy dołączenie urządzenie do tego portu też musi obsłużyć dany vlan.

Tu miałeś to rozpisane: https://forum.openwrt.org/t/mini-tutori … nfig/96998

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

5

Odp: prosta konfiguracja vlan'ów

Mi generalnie chodzi o zrobienie kilku podsieci, które będą miały wycięty ruch między sobą.

Taka konfiguracja działa:

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fdc5:2f42:783e::/48'
    option packet_steering '1'

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.10.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wan'
    option device 'wan'
    option proto 'dhcp'

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'

config interface 'pc'
    option proto 'static'
    option device 'br-lan'
    option ipaddr '192.168.20.1'
    option netmask '255.255.255.0'

Pytanie czy taka konfiguracja jest ok czy jednak powinno być inaczej?

Potem każde urządzenie będzie miało statycznie przypisany adres IP w wybranej podsieci + dodatkowo reguły blokujące ruch między podsieciami.

6

Odp: prosta konfiguracja vlan'ów

skoro już zrobiłeś to przecież możesz sam sprawdzić zamiast zadawać pytania smile

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

7

Odp: prosta konfiguracja vlan'ów

Aliasy chcesz zrobić, czyli coś takiego: https://openwrt.org/docs/guide-user/net … face_alias

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

8 (edytowany przez m80 2023-11-09 10:45:33)

Odp: prosta konfiguracja vlan'ów

Interfejs "man" (management) do zarządzania routerem lub innymi urządzeniami sieciowymi - port lan1
Interfejs "iot" dla urządzeń IoT - port lan2 + WiFi
Interfejs "pcs" dla PC/laptopów - port lan3 + lan4 + WiFi

config device
    option name 'br0'
    option type 'bridge'
    option vlan_filtering '1'
    option igmp_snooping '1'
    
config bridge-vlan
    option device 'br0'
    option vlan '10'
    option alias 'man'
    list ports 'lan1:u*'
    # Podłącz PC do tego portu żeby zalogować się do routera

config bridge-vlan
    option device 'br0'
    option vlan '20'
    option alias 'iot'
    list ports 'lan2:u*'
    # Do tego portu można podłączyć np. serwer Home Assistant albo PC/laptop aby mieć dostęp 
    # do urządzeń IoT
    # Można też zwolnić ten port (przypisać go do innego vlana) i zrobić forwarding 
    # na firewallu np. z "pcs" do "iot" dla jednego PC żeby miał dostęp do urządzeń IoT
  
config bridge-vlan
    option device 'br0'
    option vlan '30'
    option alias 'pcs'
    list ports 'lan3:u*'
    list ports 'lan4:u*'
    # Do tych portów podłączasz PC/Laptopy lub switch żeby mieć więcej portów w tym vlanie

config interface 'man'
    option proto 'static'
    option device 'br0.man'
    option ipaddr '192.168.110.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'iot'
    option proto 'static'
    option device 'br0.iot'
    option ipaddr '192.168.120.1'
    option netmask '255.255.255.0'

config interface 'pcs'
    option proto 'static'
    option device 'br0.pcs'
    option ipaddr '192.168.130.1'
    option netmask '255.255.255.0'
  1. Dodajesz/zmieniasz w /etc/config/dropbear: option Interface 'lan' na 'man' żeby mieć dostęp po ssh

  2. Dodajesz w /etc/config/dhcp dla każdego interfejsu (man, iot, pcs) oddzielny pool dhcp

  3. Dodajesz w /etc/config/firewall do zony lan sieć 'man' a usuwasz z niej sieć 'lan'

  4. Dodajesz w /etc/config/firewall zonę iot i dodajesz do niej sieć "iot", ewentualnie dodajesz forwarding iot => wan jeżeli urządzenia IoT korzystają z Internetu/chmury

  5. Dodajesz w /etc/config/firewall zonę pcs i dodajesz do niej sieć "pcs", dodajesz forwarding pcs => wan

  6. Dodajesz w /etc/config/firewall dla zony iot i pcs odpowiednie reguły dla DHCP i DNS
    (zobacz w FAQ sieć gościnną: chodzi o porty 53, 67, 68)

  7. Jeśli chcesz mieć dostęp z pcs do iot to dodajesz w /etc/config/firewall forwarding
    np. src 'pcs' => dest 'iot' (dodatkowo możesz dodać src_mac lub src_ip PC z którego się łączysz z IoT)

  8. W /etc/config/wireless dodajesz oddzielne sieci bezprzewodowe dla iot (2.4GHz) i pcs (2.4 + 5 GHz)
    W miarę potrzeb dla niektórych sieci WiFi włączasz izolację, roaming itp.

  9. Restartujesz router

9 (edytowany przez adikilp 2023-11-09 14:49:30)

Odp: prosta konfiguracja vlan'ów

Na podstawie przedstawioneco configu przez @m80 skonfigurowałem u Siebie:

network

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd21:dd4a:e4db::/48'
    option packet_steering '1'

config device
    option name 'br-lan'
    option type 'bridge'
    option vlan_filtering '1'
    option igmp_snooping '1'

config bridge-vlan
        option device 'br-lan'
        option vlan '10'
        option alias 'lan'
        list ports 'lan1:u*'

config bridge-vlan
        option device 'br-lan'
        option vlan '20'
        option alias 'iot'
        list ports 'lan2:u*'


config interface 'lan'
    option device 'br-lan.lan'
    option proto 'static'
    option ipaddr '192.168.110.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'iot'
    option device 'br-lan.iot'
    option proto 'static'
    option ipaddr '192.168.120.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wan'
    option device 'wan'
    option proto 'dhcp'

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'

dhcp

config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv4 'server'
    option dhcpv6 'server'
    option ra 'server'
    list ra_flags 'managed-config'
    list ra_flags 'other-config'

config dhcp 'iot'
    option interface 'iot'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv4 'server'
    option dhcpv6 'server'
    option ra 'server'
    list ra_flags 'managed-config'
    list ra_flags 'other-config'

O ile port Lan1 działa ok i faktycznie można dostać się z niego do LUCI o tyle na drugim porcie nawet nie przydziela IP z DHCP

Co ciekawe zakładka Interfaces w LUCI wywala błąd i nic nie wyświetla.

RPCError
RPC call to uci/get failed with ubus code 9: Unspecified error
  at ClassConstructor.handleCallReply (https://192.168.110.1/luci-static/resources/rpc.js?v=git-23.292.78378-27fb6e5:15:3)

Jeszcze coś jest źle?

10

Odp: prosta konfiguracja vlan'ów

Zrób
uci show network
uci show firewall
uci show dhcp

Gdzieś masz literówkę.

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

11

Odp: prosta konfiguracja vlan'ów

Faktycznie, była literówka.

To jeszcze jedno pytanie.
Czy jeśli na wifi zdefiniowałem kilka sieci

config wifi-iface 'default_radio1'
    option device 'radio1'
    option network 'lan iot pc tel'
    option mode 'ap'
    option ssid 'test.NET'
    option encryption 'psk2'
    option key '123456789'

to czy przy jednoczesnym statycznym wpisie w DHCP

config host
    option name 'TELEFON1'
    option dns '1'
    option mac '90:73:5A:52:6F:03'
    option ip '192.168.130.33'

jestem w stanie zrobić żeby urządzenia dostawały przez wifi, IP z sieci którezostały zdefiniowane w DHCP??

12

Odp: prosta konfiguracja vlan'ów

Nie możesz dodać kilka sieci, tylko jedną. Jak chcesz kilka to zrob kilka sekcji z róznymi networkami o tym samym ssid (co ideoligicznie jest bez sensu, skoro jest to samo ssid to po co masz mieć kilka sieci)

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

13

Odp: prosta konfiguracja vlan'ów

To daje mi to, że mam na tym samym ssid kilka vlanów. Wszystkie urządzenia łączą się do tego samego ssid ale mają różne dostępy bo są w różnych vlanach. Wiadomo, można zrobić kilka ssid ale trzeba by rekonfigurować wszystkie urządzenia, które obecnie mają zapisany jeden i ten sam ssid.

14

Odp: prosta konfiguracja vlan'ów

To tak to nie zadziała. Prawdopodobnie musiał byś skorzystać z dynamicvlan z hostapd i kierować klientów do określonego vlanu po podłączeniu się do jednego wifi.

Prościej będzie jak zrobisz różne ssid i będziesz się łączył określonym urządzeniem do określonej sieci.

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

15 (edytowany przez adikilp 2023-11-15 15:11:14)

Odp: prosta konfiguracja vlan'ów

Jednak zrezygnowałem z kilku tych samych ssid i kilku vlanów. W tej chwili mam dwa ssid w tym jedno dla gości na którym jest problem z przyznaniem adresu przez dhcp.

W logach objaw następujący:

daemon.warn odhcpd[2304]: No default route present, overriding ra_lifetime!
daemon.err odhcpd[2304]: Failed to send to ff02::1%quest@br-lan.60 (Operation not permitted)

Natomiast konfiguracja wygląda tak:

network

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd21:dd4a:e4db::/48'
    option packet_steering '1'

config device
    option name 'br-lan'
    option type 'bridge'
    option igmp_snooping '1'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'
    list ports 'lan4'

config bridge-vlan
    option device 'br-lan'
    option vlan '10'
    option alias 'lan'
    list ports 'lan1:u*'
    list ports 'lan2:u*'
    list ports 'lan3:u*'

config bridge-vlan
    option device 'br-lan'
    option vlan '60'
    option alias 'quest'

config interface 'lan'
    option device 'br-lan.lan'
    option proto 'static'
    option ipaddr '192.168.110.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'quest'
    option device 'br-lan.quest'
    option proto 'static'
    option ipaddr '192.168.160.1'
    option netmask '255.255.255.0'
    option ip6assign '60'

config interface 'wan'
    option device 'wan'
    option proto 'dhcp'

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'

dhcp

config dnsmasq
    option domainneeded '1'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option cachesize '1000'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
    option localservice '1'
    option ednspacket_max '1232'
    list rebind_domain 'free.aero2.net.pl'

config dhcp 'lan'
    option interface 'lan'
    option start '240'
    option limit '250'
    option leasetime '1h'
    option dhcpv4 'server'
    option dhcpv6 'server'
    option ra 'server'
    list ra_flags 'managed-config'
    list ra_flags 'other-config'

config dhcp 'wan'
    option interface 'wan'
    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 'quest'
    option interface 'quest'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv4 'server'
    option ra 'server'
    option dhcpv6 'server'

Gdzie robię błąd ?

16

Odp: prosta konfiguracja vlan'ów

To co pokazałeś jest od ipv6. Zakładam że cię to nie interesuje.

Zrobiłeś sieć gościnną. Dlaczego zrobiłes to jako br-lan.lan i br-lan.quest? Czy chcesz żeby sieć gościnna była tylko na wifi czy chcesz też po kablu? Jeżeli po kablu to na jakich portach? Bo pisałeś że vlany sobie odpuściłeś a jednak uparcie je tworzysz.

Jak chcesz żeby to teraz działało?

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

17

Odp: prosta konfiguracja vlan'ów

VLAN'y dalej istnieją i działają. Ograniczyłem jedynie ich liczbę i liczbę SSID.
W przyszłości ten vlan QUEST może pojawić się na którymś z portów jednak na chwilę obecną chcę go wykorzystać tylko na wifi.

18

Odp: prosta konfiguracja vlan'ów

Więc zrób wg tego: https://eko.one.pl/?p=openwrt-guestnetwork i żadnych vlanów do tego nie potrzebujesz.

lan zostaw jako br-lan, dla quest (a nie guest?) zrób br-quest itd.

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