I'm trying to get my head round VLAN offloading on V1.9.0 of a ERPoe-5 router. I'm new to EdgeMAX -- and inially setup through the GUI, but don't mind using the CLI if I need to.
I've got a local subnet on eth1
I've got another subnet on eth2 and aliases of eth2 for a couple of VLANS (each corresponding to a SSID coming from a unifi AP).
I've not got any exotic firewall rules, just a few for accepting/dropping based on destination addresses/connection state between subnets.
When I turn on VLAN offloading pings get through between networks, but other traffic doesn't. If I turn it off it traffic can flow freely as intended.
I've had a good search through the forums and couldn't find a definitive answer. -- There's discussion about not using offloading if for firewall rules that modify -- but I'm not sure if drop/accept fall in that category? There's similar discussion here, but unlike this topic https://community.ubnt.com/t5/EdgeMAX/Vlan-offload-not-work-properly/td-p/1197776 I don't have any bonded interfaces, and I'm not sure how offload has changed in later firmwares.
I'd have thought if the offload hardware can handle accept/drop based on src/dst fields of packets it could look at the vlan tag too?
firewall { all-ping enable broadcast-ping disable group { network-group LAN-networks { description "Local nets" network 192.168.1.0/24 } port-group DHCP { description "" port 67 port 68 } } ipv6-receive-redirects disable ipv6-src-route disable ip-src-route disable log-martians enable name COMMON_IN { default-action accept description "" rule 10 { action accept description "Allow established/related" log disable protocol all state { established enable invalid disable new disable related enable } } rule 20 { action accept description "Allow printing" destination { address 192.168.101.50 } log disable protocol all state { established enable invalid disable new enable related enable } } rule 30 { action drop description "Drop connections to lans" destination { group { network-group LAN-networks } } log disable protocol all } } name COMMON_LOCAL { default-action drop description "" rule 10 { action accept description "Allow dns forwarder" destination { port 53 } log disable protocol tcp_udp } rule 20 { action accept description "allow dhcp" destination { group { port-group DHCP } } log disable protocol udp } } name PRIVATE_WLAN_IN { default-action drop description "" rule 10 { action accept description "Allow established/related" log disable protocol all state { established enable invalid disable new disable related enable } } rule 20 { action drop description "Drop connections to lans" destination { group { network-group LAN-networks } } log disable protocol all } } name PRIVATE_WLAN_LOCAL { default-action drop description "" rule 10 { action accept description "Allow dns forwarder" destination { port 53 } log disable protocol tcp_udp } rule 20 { action accept description "allow dhcp" destination { group { port-group DHCP } } log disable protocol udp } } name GUEST_WLAN_IN { default-action drop description "" rule 10 { action accept description "Allow established/related" log disable protocol all state { established enable invalid disable new disable related enable } } rule 20 { action drop description "Drop connections to lans" destination { group { network-group LAN-networks } } log disable protocol all } rule 30 { action accept destination { port 80 } log disable protocol tcp state { established disable invalid disable new enable related disable } } rule 31 { action accept destination { port 443 } log disable protocol tcp } } name GUEST_WLAN_LOCAL { default-action drop description "" rule 10 { action accept description "Allow dns forwarder" destination { port 53 } log disable protocol tcp_udp } rule 20 { action accept description "allow dhcp" destination { group { port-group DHCP } } log disable protocol udp } } name MAIN_LAN_IN { default-action drop description "" rule 20 { action accept description "Allow established/related" log disable protocol all state { established enable invalid disable new enable related enable } } rule 30 { action drop description "Drop invalid state" log disable protocol all state { established disable invalid enable new disable related disable } } } name WAN_IN { default-action drop description "WAN to internal" rule 10 { action accept description "Allow established/related" log enable state { established enable related enable } } rule 20 { action drop description "Drop invalid state" state { invalid enable } } } name WAN_LOCAL { default-action drop description "WAN to router" rule 10 { action accept description "Allow established/related" log disable protocol all state { established enable related enable } } rule 20 { action drop description "Drop invalid state" state { invalid enable } } } name WLAN_IN { default-action accept description "" } name WLAN_LOCAL { default-action drop description "" rule 10 { action accept description "Allow dns forwarder" destination { port 53 } log disable protocol tcp_udp } rule 20 { action accept description "allow dhcp" destination { group { port-group DHCP } } log disable protocol udp } } receive-redirects disable send-redirects enable source-validation disable syn-cookies enable } interfaces { ethernet eth0 { address dhcp description Internet duplex auto firewall { in { name MAIN_LAN_IN } local { name WAN_LOCAL } } poe { output off } speed auto } ethernet eth1 { address 192.168.1.1/24 description Local duplex auto poe { output off } speed auto } ethernet eth2 { address 192.168.10.1/24 description WLAN duplex auto firewall { in { name WLAN_IN } local { name WLAN_LOCAL } } poe { output off } speed auto vif 98 { address 192.168.98.1/24 description "general VLAN" firewall { in { name COMMON_IN } local { name COMMON_LOCAL } } mtu 1500 } vif 99 { address 192.168.99.1/24 description "Guest WLAN" firewall { in { name GUEST_WLAN_IN } local { name GUEST_WLAN_LOCAL } } mtu 1500 } vif 101 { address 192.168.101.1/24 description "appliance vlan" firewall { in { name PRIVATE_WLAN_IN } local { name PRIVATE_WLAN_LOCAL } } mtu 1500 } } ethernet eth3 { description "Local 2" duplex auto poe { output off } speed auto } ethernet eth4 { description "Local 2" duplex auto poe { output off } speed auto } loopback lo { } switch switch0 { address 192.168.2.1/24 description "Local 2" mtu 1500 switch-port { interface eth3 { } interface eth4 { } vlan-aware disable } } } service { dhcp-server { disabled false hostfile-update disable shared-network-name COMMON_WLAN { authoritative disable subnet 192.168.98.0/24 { default-router 192.168.98.1 dns-server 192.168.98.1 lease 86400 start 192.168.98.100 { stop 192.168.98.200 } } } shared-network-name PRIVATE_VLAN { authoritative disable subnet 192.168.101.0/24 { default-router 192.168.101.1 dns-server 192.168.101.1 lease 86400 start 192.168.101.100 { stop 192.168.101.200 } static-mapping printer { ip-address 192.168.101.50 } } } shared-network-name GUEST_WLAN { authoritative disable subnet 192.168.99.0/24 { default-router 192.168.99.1 dns-server 192.168.99.1 lease 86400 start 192.168.99.100 { stop 192.168.99.200 } } } shared-network-name LAN1 { authoritative enable subnet 192.168.1.0/24 { default-router 192.168.1.1 dns-server 192.168.1.1 lease 86400 start 192.168.1.100 { stop 192.168.1.200 } } } shared-network-name LAN2 { authoritative enable subnet 192.168.2.0/24 { default-router 192.168.2.1 dns-server 192.168.2.1 lease 86400 start 192.168.2.38 { stop 192.168.2.243 } } } shared-network-name WLAN { authoritative disable subnet 192.168.10.0/24 { default-router 192.168.10.1 dns-server 192.168.10.1 lease 86400 start 192.168.10.100 { stop 192.168.10.200 } } } use-dnsmasq disable } dns { forwarding { cache-size 150 listen-on eth1 listen-on switch0 listen-on eth2 listen-on eth2.99 listen-on eth2.98 listen-on eth2.101 } } gui { http-port 80 https-port 443 older-ciphers enable } mdns { reflector } nat { rule 5010 { description "masquerade for WAN" outbound-interface eth0 type masquerade } } ssh { port 22 protocol-version v2 } } name-server 8.8.8.8 ntp { server 0.ubnt.pool.ntp.org { } server 1.ubnt.pool.ntp.org { } server 2.ubnt.pool.ntp.org { } server 3.ubnt.pool.ntp.org { } } syslog { global { facility all { level notice } facility protocols { level debug } } } time-zone UTC traffic-analysis { dpi disable export disable } }
Thanks in advance. And appologies if it's something obvious.