Ok,
I forgot to mention that this setup will include two devices: FutroS920, which is my router, and HomeAP, which is acting as my wireless AP. Both sets of configs are below:
FutroS920:
root@FutroS920:~# cat /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 'fd90:6a68:a309::/48'
config interface 'lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option device 'br-lan.3'
option ipaddr '192.168.2.1'
list dns '1.1.1.1'
list dns '1.0.0.1'
option defaultroute '0'
config interface 'UntrustedLAN'
option proto 'static'
option ipaddr '10.1.1.1'
option netmask '255.255.255.0'
option device 'br-lan.9'
list dns '1.1.1.1'
list dns '1.0.0.1'
option defaultroute '0'
config interface 'SecureIOT'
option proto 'static'
option ipaddr '192.168.99.1'
option netmask '255.255.255.0'
option defaultroute '0'
config interface 'PublicIOT'
option proto 'static'
option ipaddr '10.99.99.1'
option netmask '255.255.255.0'
option defaultroute '0'
option device 'br-lan.99'
config device
option type 'bridge'
option name 'br-lan'
list ports 'eth0'
list ports 'eth1'
config bridge-vlan
option device 'br-lan'
option vlan '3'
list ports 'eth0:u*'
list ports 'eth1:t'
config bridge-vlan
option device 'br-lan'
option vlan '33'
config bridge-vlan
option device 'br-lan'
option vlan '9'
list ports 'eth1:t'
config bridge-vlan
option device 'br-lan'
option vlan '99'
list ports 'eth1:t'
config interface 'WAN'
option proto 'dhcp'
option device 'br-wan.10'
option peerdns '0'
list dns '1.1.1.1'
list dns '1.0.0.1'
config device
option type 'bridge'
option name 'br-wan'
list ports 'eth2'
option mtu '1500'
config bridge-vlan
option device 'br-wan'
option vlan '10'
list ports 'eth2:t'
config interface 'AdguardBypass'
option proto 'static'
option ipaddr '10.55.55.1'
option netmask '255.255.255.0'
list dns '1.1.1.1'
list dns '1.0.0.1'
option defaultroute '0'
root@FutroS920:~# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'X'
option path 'X'
option cell_density '0'
option country 'X'
option disabled '1'
root@FutroS920:~# cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option localservice '1'
option ednspacket_max '1232'
option localuse '1'
option cachesize '1000'
option rebind_protection '0'
list server '192.168.2.1'
option port '57'
option noresolv '1'
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'
list dhcp_option '6,192.168.2.1'
list dhcp_option '3,192.168.2.1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
config dhcp 'UntrustedLAN'
option interface 'UntrustedLAN'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option '6,1.1.1.1,1.0.0.1,8.8.8.8,8.8.4.4'
config dhcp 'SecureIOT'
option interface 'SecureIOT'
option start '100'
option limit '150'
option leasetime '12h'
config dhcp 'PublicIOT'
option interface 'PublicIOT'
option start '100'
option limit '150'
option leasetime '12h'
config dhcp 'WAN'
option interface 'WAN'
config dhcp 'AdguardBypass'
option interface 'AdguardBypass'
option start '100'
option limit '150'
option leasetime '12h'
list dhcp_option '6,1.1.1.1,1.0.0.1,8.8.8.8,8.8.4.4'
root@FutroS920:~# cat /etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
option drop_invalid '1'
option flow_offloading '1'
option flow_offloading_hw '1'
config zone
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
option name 'TrustedLAN'
config zone
option name 'wan'
option output 'ACCEPT'
option masq '1'
option mtu_fix '1'
list network 'WAN'
option input 'DROP'
option forward 'DROP'
config forwarding
option dest 'wan'
option src 'TrustedLAN'
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'
option enabled '0'
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 proto 'esp'
option target 'ACCEPT'
option dest 'TrustedLAN'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
option dest 'TrustedLAN'
config zone
option output 'ACCEPT'
option forward 'REJECT'
option name 'UntrustLAN'
option input 'REJECT'
list network 'UntrustedLAN'
list network 'AdguardBypass'
config zone
option name 'SecureIOT'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'SecureIOT'
config zone
option name 'PublicIOT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'PublicIOT'
option input 'REJECT'
config forwarding
option src 'TrustedLAN'
option dest 'PublicIOT'
config forwarding
option src 'TrustedLAN'
option dest 'SecureIOT'
config forwarding
option src 'UntrustLAN'
option dest 'wan'
config rule
option name 'Untrusted DHCP and DNS'
option src 'UntrustLAN'
option dest_port '53 67 68'
option target 'ACCEPT'
config forwarding
option src 'UntrustLAN'
option dest 'PublicIOT'
config redirect 'adguardhome_dns_53'
option proto 'tcp udp'
option target 'DNAT'
option name 'Adguard Home'
option src 'TrustedLAN'
option src_dport '53'
option dest_port '53'
config redirect
option target 'DNAT'
option name 'Adguard Home Untrusted'
option src 'UntrustLAN'
option src_dport '53'
option dest_port '53'
config include 'nat6'
option path '/etc/firewall.nat6'
option reload '1'
config redirect
option target 'DNAT'
option name 'Guest Printing'
list proto 'tcp'
option src 'UntrustLAN'
option src_dport '9100'
config forwarding
option src 'PublicIOT'
option dest 'wan'
config redirect
option target 'DNAT'
option name 'Adguard Home PublicIOT'
option src 'PublicIOT'
option src_dport '53'
option dest_port '53'
config rule
option name 'PublicIOT DHCP and DNS'
option src 'PublicIOT'
option dest_port '53 67 68'
option target 'ACCEPT'
HomeAP:
root@HomeAP:~# cat /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 'fd26:df77:5d6e::/48'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0.3'
list ports 'eth1.3'
config interface 'lan'
option proto 'dhcp'
option device 'br-lan'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '4'
option vid '3'
option ports '0t 5t'
config switch_vlan
option device 'switch0'
option vlan '6'
option vid '9'
option ports '0t 4 3 2 1 5t'
config switch_vlan
option device 'switch0'
option vlan '7'
option vid '99'
option ports '0t 5t'
config device
option type 'bridge'
option name 'br-untrustedlan'
list ports 'eth0.9'
list ports 'eth1.9'
config interface 'UNTRUSTEDLAN'
option proto 'none'
option device 'br-untrustedlan'
config device
option type 'bridge'
option name 'br-publiciot'
list ports 'eth0.99'
config interface 'PublicIOT'
option proto 'none'
option device 'br-publiciot'
root@HomeAP:~# cat /etc/config/wireless
config wifi-device 'radio0'
option type 'X'
option path 'soc/X
option band '5g'
option cell_density '0'
option country 'X
option htmode 'VHT80'
option channel '36'
config wifi-device 'radio1'
option type 'mac80211'
option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
option band '2g'
option htmode 'HT40'
option cell_density '0'
option channel '4'
config wifi-iface 'wifinet0'
option device 'radio0'
option mode 'ap'
option ssid 'WiFi'
option encryption 'psk2'
option isolate '1'
option dtim_period '3'
option key
option ieee80211r '1'
option mobility_domain '123e'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option network 'UNTRUSTEDLAN'
config wifi-iface 'wifinet1'
option device 'radio1'
option mode 'ap'
option ssid 'WiFi'
option encryption 'psk2'
option isolate '1'
option dtim_period '3'
option key
option ieee80211r '1'
option mobility_domain '123e'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option network 'UNTRUSTEDLAN'
config wifi-iface 'wifinet2'
option device 'radio0'
option mode 'ap'
option ssid 'AdminM'
option encryption 'psk2'
option network 'lan'
option key
option disabled '1'
config wifi-iface 'wifinet4'
option device 'radio1'
option mode 'ap'
option ssid 'IOT-ZONE'
option encryption 'psk2'
option dtim_period '3'
option key
option ieee80211r '1'
option mobility_domain '321f'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option network 'PublicIOT'
option disabled '1'
root@HomeAP:~# cat /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 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'
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
list ra_flags 'managed-config'
list ra_flags 'other-config'
option ignore '1'
option ra 'hybrid'
option dhcpv6 'hybrid'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
root@HomeAP:~# cat /etc/config/firewall
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
option synflood_protect '1'
option flow_offloading '1'