I am trying to implement VLANs across my network. Two out of three VLANs are working. My new default VLAN is giving me problems. I had a working network prior to this
IOT - 2 - 192.168.2.1/24
Guest - 3 - 192.168.3.1/24
LAN - 4 - 192.168.4.1/24
GW - 192.168.4.1
AP - 192.168.4.3
I have changed the PVID from 1 to 4 on my switch port for the AP.
I have removed the default vlan 1 untagged membership on my switch port for the AP.
The switch port for the AP is trunked to 2, 3, 4.
The switch port for the GW is trunked to 2, 3, 4. *NOTE Because I have not fully cutover all devices to PVID 4, I have left PVID 1 on the GW and it is Untagged.
traffic flows in both directions from AP<->GW (tested ssh and ping, both directions).
VLAN IOT/2 wireless works.
VLAN Guest/3 wireless works.
VLAN LAN/4 wireless does NOT work.
VLAN LAN/4 tests ran on radio1, wifinet5, SSID wifi-test.
My wireless clients can connect to the wifi-test, however, only by hard-coding the IP information. DHCP is not working because wireless client traffic is not leaving the radio interface. Wireless clients cannot ping the AP. The AP cannot ping wireless clients. I do see a successful authentication and handshake in the system log when hard-coding the IP information.
I am at a loss, how traffic between devices work but wireless clients do not.
Here is my configuration:
GW
ubus call system board
{
"kernel": "6.6.73",
"hostname": "gw",
"system": "Intel(R) N100",
"model": "Protectli VP3210",
"board_name": "protectli-vp3210",
"rootfs_type": "ext4",
"release": {
"distribution": "OpenWrt",
"version": "24.10.0",
"revision": "r28427-6df0e3d02a",
"target": "x86/64",
"description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
"builddate": "1738624177"
}
}
/etc/config/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 'fd72:fb9f:febc::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
option ipv6 '0'
list ports 'eth1'
list ports 'eth1.4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipv6 '0'
list dns '192.168.4.31'
list dns '1.1.1.1'
list dns '1.0.0.1'
list ipaddr '192.168.4.1/24'
config interface 'wan'
option device 'eth0'
option proto 'dhcp'
option ifname 'eth0'
config interface 'wan6'
option device 'eth0'
option proto 'dhcpv6'
config device
option type 'bridge'
option name 'br-iot'
option ipv6 '0'
list ports 'eth1.2'
config interface 'iot'
option proto 'static'
option device 'br-iot'
option ipaddr '192.168.2.1'
option netmask '255.255.255.0'
config device
option type 'bridge'
option name 'br-guest'
option ipv6 '0'
option bridge_empty '1'
list ports 'eth1.3'
config interface 'guest'
option proto 'static'
option device 'br-guest'
option ipaddr '192.168.3.1'
option netmask '255.255.255.0'
config device
option type '8021q'
option ifname 'eth1'
option vid '2'
option name 'eth1.2'
option ipv6 '0'
config device
option type '8021q'
option ifname 'eth1'
option vid '3'
option name 'eth1.3'
option ipv6 '0'
config device
option type 'bridge'
option name 'br-mgmt'
list ports 'eth2'
option ipv6 '0'
config interface 'mgmt'
option proto 'static'
option device 'br-mgmt'
list ipaddr '192.168.1.2/24'
list ipaddr '192.168.4.2/24'
option disabled '1'
config device
option type '8021q'
option ifname 'eth1'
option vid '101'
option name 'eth1.101'
option ipv6 '0'
config interface 'vpn'
left here purely for awareness
config wireguard_vpn
left here purely for awareness
config device
option type '8021q'
option ifname 'eth1'
option vid '4'
option name 'eth1.4'
option ipv6 '0'
This device does not have wireless so no /etc/config/wireless to show
/etc/config/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 'plex.direct' #whitelisted to prevent log spamming
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'
option force '1'
list dhcp_option '6,192.168.4.31,1.1.1.1,1.0.0.1'
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 'iot'
option interface 'iot'
option start '100'
option limit '150'
option leasetime '12h'
option force '1'
list dhcp_option '6,1.1.1.1,1.0.0.1'
config dhcp 'guest'
option interface 'guest'
option start '100'
option limit '150'
option leasetime '12h'
option force '1'
list dhcp_option '6,192.168.4.31,1.1.1.1,1.0.0.1'
/etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
config zone 'lan'
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
list network 'mgmt'
list network 'vpn'
option log '1'
config zone 'wan'
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 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'iot'
config forwarding
option src 'lan'
option dest 'iot'
config zone
option name 'guest'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'guest'
config forwarding
option src 'guest'
option dest 'wan'
config forwarding
option src 'iot'
option dest 'wan'
config rule
option name 'Allow-Guest-DHCP-and-DNS'
option src 'guest'
option dest_port '53 67 68'
option target 'ACCEPT'
config rule
option name 'Allow-IOT-DHCP-and-DNS'
option src 'iot'
option dest_port '53 67 68'
option target 'ACCEPT'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'Plex'
option family 'ipv4'
list proto 'tcp'
option src 'wan'
option src_dport '32400'
option dest_ip '192.168.4.37'
option dest_port '32400'
config zone
option name 'mgmt'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'mgmt'
config forwarding
option src 'mgmt'
option dest 'guest'
config forwarding
option src 'mgmt'
option dest 'iot'
config forwarding
option src 'mgmt'
option dest 'lan'
config forwarding
option src 'mgmt'
option dest 'wan'
config forwarding
option src 'lan'
option dest 'guest'
config rule 'wg'
option name 'Allow-WireGuard'
option src 'wan'
option dest_port '51820'
option proto 'udp'
option target 'ACCEPT'
/proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth1.2 | 2 | eth1
eth1.3 | 3 | eth1
eth1.4 | 4 | eth1
AP
ubus call system board
{
"kernel": "5.15.167",
"hostname": "ap",
"system": "ARMv7 Processor rev 5 (v7l)",
"model": "Google WiFi (Gale)",
"board_name": "google,wifi",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.5",
"revision": "r24106-10cc5fcd00",
"target": "ipq40xx/chromium",
"description": "OpenWrt 23.05.5 r24106-10cc5fcd00"
}
}
/etc/config/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 'fd09:14ff:bbda::/48'
option packet_steering '1'
config device
option name 'wan'
option macaddr '88:3d:24:ae:40:27'
config device
option type 'bridge'
option name 'br-mgmt'
list ports 'wan'
option ipv6 '0'
config interface 'mgmt'
option proto 'static'
option device 'br-mgmt'
option defaultroute '0'
list ipaddr '192.168.4.4/24'
config device
option type 'bridge'
option name 'br-iot'
option ipv6 '0'
list ports 'lan.2'
config device
option type 'bridge'
option name 'br-guest'
option ipv6 '0'
list ports 'lan.3'
config interface 'iot'
option proto 'dhcp'
option device 'br-iot'
config interface 'guest'
option proto 'dhcp'
option device 'br-guest'
config device
option name 'lan'
option ipv6 '1'
config device
option type 'bridge'
option name 'br-lan'
option ipv6 '0'
list ports 'lan.4'
config interface 'lan'
option proto 'static'
option device 'br-lan'
list ipaddr '192.168.4.3/24'
option gateway '192.168.4.1'
list dns '192.168.4.31'
list dns '1.1.1.1'
list dns '1.0.0.1'
config device
option type '8021q'
option ifname 'lan'
option vid '2'
option name 'lan.2'
option ipv6 '0'
config device
option type '8021q'
option ifname 'lan'
option vid '4'
option name 'lan.4'
option ipv6 '0'
config device
option type '8021q'
option ifname 'lan'
option vid '3'
option name 'lan.3'
option ipv6 '0'
/etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc/a000000.wifi'
option channel '1'
option band '2g'
option htmode 'HT20'
option cell_density '0'
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'iot'
option mode 'ap'
option ssid 'iot-wifi'
option encryption 'sae-mixed'
option key 'iot'
option ieee80211r '1'
option mobility_domain 'ffff'
option ft_over_ds '0'
option ieee80211k '1'
option time_advertisement '2'
option time_zone 'PST8PDT,M3.2.0,M11.1.0'
option wnm_sleep_mode '1'
option wnm_sleep_mode_no_keys '1'
option bss_transition '1'
config wifi-device 'radio1'
option type 'mac80211'
option path 'platform/soc/a800000.wifi'
option channel '36'
option band '5g'
option htmode 'VHT80'
option cell_density '0'
option country 'US'
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'iot'
option mode 'ap'
option ssid 'iot-wifi'
option encryption 'sae-mixed'
option key 'iot'
option ieee80211r '1'
option mobility_domain 'ffff'
option ft_over_ds '0'
option ieee80211k '1'
option time_advertisement '2'
option time_zone 'PST8PDT,M3.2.0,M11.1.0'
option wnm_sleep_mode '1'
option wnm_sleep_mode_no_keys '1'
option bss_transition '1'
option ieee80211w '0'
config wifi-iface 'wifinet3'
option device 'radio1'
option mode 'ap'
option ssid 'guest-wifi'
option encryption 'sae'
option key 'guest'
option ieee80211r '1'
option mobility_domain '4f57'
option ft_over_ds '0'
option wpa_disable_eapol_key_retries '1'
option network 'guest'
option ieee80211k '1'
option time_advertisement '2'
option time_zone 'PST8PDT,M3.2.0,M11.1.0'
option wnm_sleep_mode '1'
option wnm_sleep_mode_no_keys '1'
option bss_transition '1'
config wifi-iface 'wifinet4'
option device 'radio0'
option mode 'ap'
option ssid 'prod-wifi'
option encryption 'sae-mixed'
option key 'password'
option ieee80211r '1'
option mobility_domain '1b29'
option ft_over_ds '0'
option ieee80211k '1'
option time_advertisement '2'
option time_zone 'PST8PDT,M3.2.0,M11.1.0'
option wnm_sleep_mode '1'
option wnm_sleep_mode_no_keys '1'
option bss_transition '1'
option network 'lan'
config wifi-iface 'wifinet5'
option device 'radio1'
option mode 'ap'
option ssid 'test-wifi
option encryption 'psk2'
option key 'password'
option time_advertisement '2'
option time_zone 'PST8PDT,M3.2.0,M11.1.0'
option wnm_sleep_mode '1'
option wnm_sleep_mode_no_keys '1'
option bss_transition '1'
option network 'lan'
/etc/config/ 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 cachesize '1000'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
option nonwildcard '1'
option localservice '1'
option ednspacket_max '1232'
option filter_aaaa '0'
option filter_a '0'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
/etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option synflood_protect '1'
/proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
lan.2 | 2 | lan
lan.3 | 3 | lan
lan.4 | 4 | lan