Let's look at your config in text form -- it's much easier to see the whole story.
Further, in the future, if you do post screenshots, please upload them directly to the forum site instead of using 3rd party image sharing sites.
Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
Remove the line for the option type bridge... it does not belong here:
Remove the force_link from all network stanzas:
Your camera DHCP server is out of range...
The limit is the size of the pool, not the last IP in the pool. It follows this equation
start to (start + limit - 1)
Because the network is a /24, that means that the last valid address is 254. Since you've got a start address of 101, the largest value of limit that is allowed is 154.
Restart the router after making these changes and test again. You shoud be able to set the input rule to drop or reject and still get DHCP addresses.
Great, thank you so much, I also found that HomeAssistant that is on the IOT VLAN20 it looks like its having some network performance issue, it my be related to the firewall?
And I was also wondering if my config is secure....
l this is my updated firewall config
root@OpenWrt:~# cat /etc/config/firewall
config defaults
option input 'ACCEPT'
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 '10local'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network '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 'cameras'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network '40cameras'
config zone
option name 'iot'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network '20iot'
config zone
option name 'guest'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
list network '99guest'
config rule
option name 'Cameras to DHCP, DNS'
option src 'cameras'
option dest_port '53 67 68'
option target 'ACCEPT'
list proto 'tcp'
list proto 'udp'
config rule
option name 'Cameras to http, https (80 443)'
list proto 'tcp'
option dest 'wan'
option dest_port '443 80'
option target 'ACCEPT'
option src 'cameras'
config forwarding
option src 'lan'
option dest 'cameras'
config forwarding
option src 'lan'
option dest 'iot'
config forwarding
option src 'lan'
option dest 'wan'
config redirect
option dest 'iot'
option target 'DNAT'
option name 'Home assistant'
option src 'wan'
option src_dport '8123'
option dest_ip '192.168.20.5'
option dest_port '8123'
config forwarding
option src 'iot'
option dest 'wan'
config forwarding
option src 'iot'
option dest 'cameras'
config forwarding
option src 'guest'
option dest 'wan'
config rule
option name 'Guest to DHCP, DNS'
option src 'guest'
option dest_port '53 67 68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Guest to http, https (80 443)'
list proto 'tcp'
option src 'guest'
option dest 'wan'
option dest_port '80 443'
option target 'ACCEPT'
config rule
option name 'IOT to DHCP, DNS, NTPD'
option src 'iot'
option dest_port '53 67 68 123'
option target 'ACCEPT'
config rule
option name 'IOT to http, https (80 443)'
list proto 'tcp'
option src 'iot'
option dest 'wan'
option dest_port '80 443'
option target 'ACCEPT'
Possibly. Although I'm not seeing anything immediately obvious that would cause problems from the IoT network.
A few thoughts... Generally, yes, things are fine. But some things could be better.
Typically, the IoT network should not have access to the router itself except for DHCP and DNS... it depends on your requirements, of course... but I'd recommend settings input to drop or reject:
I wouldn't suggest providing direct access to HA from the wan... this makes your HA host vulnerable to attacks from the internet:
Instead, a VPN would provide much better security. I recommend Wireguard.
Does the IoT network need to reach the cameras? If so, this is good. If not, consider deleting this:
What is the purpose of this (and the other one for the IoT and cameras zones):
You can delete these rules since they don't serve any purpose -- you're already allowing the zone forwarding from guest (or iot or cameras) > wan.
If you reject/drop input, you need to create rules that accept dhcp (and typically also dns). Without this, devices will be unable to get an ip address via dhcp and may also be unable to resolve domain names.
If you trust that your cameras won’t be used as an attack vector against your router. Probably fine. But if you don’t trust the cameras, make the dedicated accept rules as I described.
Yes. Although your iot network has way more ports than I would expect. This type of rule is only necessary for access to services on the router itself.