Guest-wifi dhcp offering wrong subnet

IDK why I am unable to create a guest wifi with a seperate subnet. everything used to work back in 24.10 but stopped working on a 25.12.4 clean install and I cannot figure out why!

I have no idea what this 192.168.0.X ip is doing on my network as I have no devices/subnets in that address anywhere . any hints on how to debug the issue greatly appreciated.

logread

Thu Jul 9 13:30:04 2026 daemon.warn odhcpd[2481]: No default route present, setting ra_lifetime to 0!
Thu Jul 9 13:30:04 2026 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Thu Jul 9 13:30:04 2026 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 6 names
Thu Jul 9 13:30:04 2026 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd.hosts.lan - 0 names
Thu Jul 9 13:30:04 2026 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Thu Jul 9 13:30:05 2026 daemon.info hostapd: phy1-ap0: STA hh:ii:jj:kk:b0:44 IEEE 802.11: authenticated
Thu Jul 9 13:30:05 2026 daemon.info hostapd: phy1-ap0: STA hh:ii:jj:kk:b0:44 IEEE 802.11: associated (aid 1)
Thu Jul 9 13:30:05 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED hh:ii:jj:kk:b0:44 auth_alg=open
Thu Jul 9 13:30:05 2026 daemon.info hostapd: phy1-ap0: STA hh:ii:jj:kk:b0:44 WPA: pairwise key handshake completed (RSN)
Thu Jul 9 13:30:05 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:06 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: authenticated
Thu Jul 9 13:30:06 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: associated (aid 2)
Thu Jul 9 13:30:07 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED aa:bb:cc:dd:f3:5d auth_alg=open
Thu Jul 9 13:30:07 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d WPA: pairwise key handshake completed (RSN)
Thu Jul 9 13:30:07 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED aa:bb:cc:dd:f3:5d
Thu Jul 9 13:30:11 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) aa:bb:cc:dd:f3:5d
Thu Jul 9 13:30:11 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.110 aa:bb:cc:dd:f3:5d
Thu Jul 9 13:30:11 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 13:30:11 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:27 2026 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-newlan) 192.168.25.115 hh:ii:jj:kk:b0:44
Thu Jul 9 13:30:54 2026 daemon.info dnsmasq-dhcp[1]: DHCPRELEASE(br-lan) 192.168.20.249 ea:91:73:67:b1:33
Thu Jul 9 13:30:54 2026 daemon.warn odhcpd[2481]: No default route present, setting ra_lifetime to 0!
Thu Jul 9 13:30:54 2026 daemon.notice hostapd: phy2-ap0: AP-STA-DISCONNECTED ea:91:73:67:b1:33
Thu Jul 9 13:30:54 2026 daemon.info hostapd: phy2-ap0: STA ea:91:73:67:b1:33 IEEE 802.11: disassociated
Thu Jul 9 13:30:54 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: authenticated
Thu Jul 9 13:30:54 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: associated (aid 3)
Thu Jul 9 13:30:54 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED ww:xx:yy:zz:0b:19 auth_alg=open
Thu Jul 9 13:30:54 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 WPA: pairwise key handshake completed (RSN)
Thu Jul 9 13:30:54 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED ww:xx:yy:zz:0b:19
Thu Jul 9 13:30:55 2026 daemon.info hostapd: phy2-ap0: STA ea:91:73:67:b1:33 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Jul 9 13:30:57 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-lan) ea:91:73:67:b1:33
Thu Jul 9 13:30:57 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-lan) 192.168.20.249 ea:91:73:67:b1:33
Thu Jul 9 13:31:00 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) ww:xx:yy:zz:0b:19
Thu Jul 9 13:31:00 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 13:31:00 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 13:31:00 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong server-ID
Thu Jul 9 13:31:49 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED aa:bb:cc:dd:f3:5d
Thu Jul 9 13:31:58 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: authenticated
Thu Jul 9 13:31:58 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: associated (aid 2)
Thu Jul 9 13:31:58 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED aa:bb:cc:dd:f3:5d auth_alg=open
Thu Jul 9 13:31:58 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d WPA: pairwise key handshake completed (RSN)
Thu Jul 9 13:31:58 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED aa:bb:cc:dd:f3:5d
Thu Jul 9 13:32:03 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) aa:bb:cc:dd:f3:5d
Thu Jul 9 13:32:03 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.110 aa:bb:cc:dd:f3:5d
Thu Jul 9 13:32:03 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 13:32:03 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
Thu Jul 9 13:32:49 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 13:32:49 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong network
Thu Jul 9 13:33:09 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:09 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: authenticated
Thu Jul 9 13:33:09 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: associated (aid 3)
Thu Jul 9 13:33:09 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED ww:xx:yy:zz:0b:19 auth_alg=open
Thu Jul 9 13:33:09 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 WPA: pairwise key handshake completed (RSN)
Thu Jul 9 13:33:09 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:09 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:09 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong network
Thu Jul 9 13:33:12 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:12 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:12 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:12 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong server-ID
Thu Jul 9 13:33:13 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED ww:xx:yy:zz:0b:19
Thu Jul 9 13:33:13 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: disassociated
Thu Jul 9 13:33:14 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

/etc/config/network

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
option device 'lo'
option proto 'static'
list ipaddr '127.0.0.1/8'

config globals 'globals'
option dhcp_default_duid 'XXXX'
option ula_prefix 'XXXXX::/48'
option packet_steering '1'

config device
option name 'br-lan'
option type 'bridge'
list ports 'lan2'
list ports 'lan3'

config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.20.1/24'
option ip6assign '60'

config interface 'wan'
option device 'wan'
option proto 'dhcp'
option metric '100'
option multipath 'off'

config interface 'wanb'
option proto 'dhcp'
option device 'lan1'
option metric '200'
option multipath 'off'

config device
option type 'bridge'
option name 'br-newlan'
option bridge_empty '1'

config interface 'Newlan'
option proto 'static'
option device 'br-newlan'
option ipaddr '192.168.25.1/24'

DHCP

root@OpenWrt:~# 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 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'
option localuse '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'
option ra_slaac '1'
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/odhcpd.leases'
option leasetrigger '/usr/sbin/odhcpd-update'
option loglevel '4'
option piodir '/tmp/odhcpd-piodir'
option hostsdir '/tmp/hosts'

config dhcp 'Newlan'
option interface 'Newlan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'

root@OpenWrt:~#

/etc/config/wireless

root@OpenWrt:~# cat /etc/config/wireless

config wifi-device 'radio0'
option type 'mac80211'
option path 'platform/soc@0/c000000.wifi'
option band '5g'
option channel '36'
option htmode 'HE80'
option disabled '0'

config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt_5G'
option encryption 'sae'
option disabled '0'
option key 'Mhmd122333'

config wifi-device 'radio1'
option type 'mac80211'
option path 'platform/soc@0/c000000.wifi+1'
option band '2g'
option channel 'auto'
option htmode 'HE20'
option disabled '0'
option cell_density '0'

config wifi-iface 'default_radio1'
option device 'radio1'
option network 'Newlan'
option mode 'ap'
option ssid 'LINKSYS MX4200'
option encryption 'psk2'
option disabled '0'
option key '88888888'

config wifi-device 'radio2'
option type 'mac80211'
option path 'platform/soc@0/c000000.wifi+2'
option band '5g'
option channel 'auto'
option htmode 'HE80'
option disabled '0'

config wifi-iface 'default_radio2'
option device 'radio2'
option network 'lan'
option mode 'ap'
option ssid 'OpenWrt'
option encryption 'sae'
option disabled '0'
option key 'XXXXXXX'

it is list
So:

list ipaddr '192.168.20.1/24'

Also change for guest

Reboot afterwards and check again also reboot your PC

same after reboot :

logread

Thu Jul 9 14:23:41 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED aa:bb:cc:dd:f3:5d
Thu Jul 9 14:23:50 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: authenticated
Thu Jul 9 14:23:50 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: associated (aid 1)
Thu Jul 9 14:23:50 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED aa:bb:cc:dd:f3:5d auth_alg=open
Thu Jul 9 14:23:50 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d WPA: pairwise key handshake completed (RSN)
Thu Jul 9 14:23:50 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED aa:bb:cc:dd:f3:5d
Thu Jul 9 14:23:54 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) aa:bb:cc:dd:f3:5d
Thu Jul 9 14:23:54 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.110 aa:bb:cc:dd:f3:5d
Thu Jul 9 14:23:54 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 14:23:54 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
Thu Jul 9 14:24:16 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: authenticated
Thu Jul 9 14:24:16 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: associated (aid 3)
Thu Jul 9 14:24:16 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED ww:xx:yy:zz:0b:19 auth_alg=open
Thu Jul 9 14:24:16 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 WPA: pairwise key handshake completed (RSN)
Thu Jul 9 14:24:16 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:19 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:19 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:19 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:19 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong server-ID
Thu Jul 9 14:24:41 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:41 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:41 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED ww:xx:yy:zz:0b:19
Thu Jul 9 14:24:41 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: disassociated
Thu Jul 9 14:24:42 2026 daemon.info hostapd: phy1-ap0: STA ww:xx:yy:zz:0b:19 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Thu Jul 9 14:25:24 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED aa:bb:cc:dd:f3:5d
Thu Jul 9 14:25:33 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: authenticated
Thu Jul 9 14:25:33 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: associated (aid 1)
Thu Jul 9 14:25:34 2026 daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED aa:bb:cc:dd:f3:5d auth_alg=open
Thu Jul 9 14:25:34 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d WPA: pairwise key handshake completed (RSN)
Thu Jul 9 14:25:34 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED aa:bb:cc:dd:f3:5d
Thu Jul 9 14:25:39 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-newlan) aa:bb:cc:dd:f3:5d
Thu Jul 9 14:25:39 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-newlan) 192.168.25.110 aa:bb:cc:dd:f3:5d
Thu Jul 9 14:25:39 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 14:25:39 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-newlan) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
root@OpenWrt:~#

/etc/config/network

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
option device 'lo'
option proto 'static'
list ipaddr '127.0.0.1/8'

config globals 'globals'
option dhcp_default_duid '00040028cb39a090401fa40cfcfe5834dc9c'
option ula_prefix 'fdb1:7b49:b2a2::/48'
option packet_steering '1'

config device
option name 'br-lan'
option type 'bridge'
list ports 'lan2'
list ports 'lan3'

config interface 'lan'
option device 'br-lan'
option proto 'static'
list ipaddr '192.168.20.1/24'
option ip6assign '60'

config interface 'wan'
option device 'wan'
option proto 'dhcp'
option metric '100'
option multipath 'off'

config interface 'wanb'
option proto 'dhcp'
option device 'lan1'
option metric '200'
option multipath 'off'

config device
option type 'bridge'
option name 'br-newlan'
option bridge_empty '1'

config interface 'Newlan'
option proto 'static'
option device 'br-newlan'
list ipaddr '192.168.25.1/24'

/etc/config/firewall

config zone
option name 'newlan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'REJECT'
list network 'Newlan'

config forwarding
option src 'newlan'
option dest 'wan'

Are you connected wired or wireless and if wireless to newlan or lan

Do you again have an ip address of 192.168.0.X on your client?

What is the IP address of your upstream network?

No!

I'm connecting to ssid 'LINKSYS MX4200' on network 'Newlan'

what is the current output of:

ubus call system board
cat /etc/config/network
cat /etc/config/wireless
cat /etc/config/dhcp
cat /etc/config/firewall

From the logread, it looks like your wireless clients previously had IP leases in the 192.168.0,x subnet and are requesting that IP be renewed, which the dhcp server for Newlan is rejecting.. Have you tried releasing the previous IP addresses on the clients, then try to connect to the Newlan again.

I would guess that that is what a reboot of the client should have solved?

but if the client is Windows and Fast Startup is enabled, then a shutdown/reboot is actually a hibernation and so doesnt properly release the IP lease.

so they should not be able to get this 192.168.0 from anywhere else

well the log says otherwise

the client aa:bb:cc:dd:f3:5d broadcasts a DHCPDISCOVER , gets a DHCPOFFER from br-irancel of 192.168.25.110 , then replies with a DHCPREQUEST requesting 192.168.0.26 !!. Unsuprisingly br-irancel rejects the request with a DHCPNAK

On first glance I do not see anything wrong in your setup.
This is the problem:

Thu Jul 9 16:57:25 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d WPA: pairwise key handshake completed (RSN)
Thu Jul 9 16:57:25 2026 daemon.notice hostapd: phy1-ap0: EAPOL-4WAY-HS-COMPLETED aa:bb:cc:dd:f3:5d
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-irancell) aa:bb:cc:dd:f3:5d
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-irancell) 192.168.25.110 aa:bb:cc:dd:f3:5d
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-irancell) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-irancell) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-irancell) 192.168.0.26 aa:bb:cc:dd:f3:5d
Thu Jul 9 16:57:30 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-irancell) 192.168.0.26 aa:bb:cc:dd:f3:5d wrong server-ID
Thu Jul 9 16:59:00 2026 daemon.notice hostapd: phy1-ap0: AP-STA-DISCONNECTED aa:bb:cc:dd:f3:5d
Thu Jul 9 16:59:09 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: authenticated
Thu Jul 9 16:59:09 2026 daemon.info hostapd: phy1-ap0: STA aa:bb:cc:dd:f3:5d IEEE 802.11: associated (aid 1)

There might be another DHCP server active on your network, check that

so does the ww:xx:yy:zz:0b:19 iPhone ( sometimes):

Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-irancell) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-irancell) 192.168.25.192 ww:xx:yy:zz:0b:19 iPhone
Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPDISCOVER(br-irancell) ww:xx:yy:zz:0b:19
Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPOFFER(br-irancell) 192.168.25.192 ww:xx:yy:zz:0b:19
Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-irancell) 192.168.0.28 ww:xx:yy:zz:0b:19
Thu Jul 9 17:02:42 2026 daemon.info dnsmasq-dhcp[1]: DHCPNAK(br-irancell) 192.168.0.28 ww:xx:yy:zz:0b:19 wrong server-ID

2 ip cameras, one iPhone. on that network. all on wifi.

I haven't changed anything on the openwrt dhcp side, so I guess openwrt dhcp will go silent if it sees another dhcp instance running on the same network.

Are there other wifi networks in the area that your devices may be connecting to ?

They are getting the 192.168.0.x from somewhere

disabled the SSID in question and scanned the area. no same ssid around.

It doesnt necessarily need to be the same SSID. If the device has connected to that network previously and has it stored, then it will automatically connect again

I have not in this range though : ranges from 2 modems and one router

I haven't changed anything on the openwrt dhcp side, so I guess openwrt dhcp will go silent if it sees another dhcp instance running on the same network.

No it wont!

I've just noticed that your wan & wanb interfaces have been allocated private IP addresses , what are they connected to ? and does that possibly have a wireless interface with a DHCP subnet of 192.168.0.x

Check on the router if something is not bridged with:

brctl show

Listen on the router for DHCP requests:

tcpdump -i br-irancell -vvv -n port 67 or port 68

Get your client of the network and then connect again

Check what is listening on your router with:

 netstat -ulpn | grep :67