The latest (and firest) testing images contains a "/var/lib/knot-resolver" directory with a wrong ownership. This should be "knot-resolver:knot-resolver" instead of "root:root".
> https://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=240827441761c4eb7640d0cf98e857659cb66cfb
Tested on current nightly build. Initial state after install/boot: /var/lib/knot-resolver root:root 755 /var/lib/knot-resolver/leases.db root:root 644 /var/lib/knot-resolver/zones missing Knot Resolver was running, but DHCP lease lookups produced repeated log errors: /usr/lib/knot-resolver/kres_modules/leases.lua:76: attempt to index upvalue 'sql_fwd' (a nil value) /usr/lib/knot-resolver/kres_modules/leases.lua:102: attempt to index upvalue 'sql_rev' (a nil value) The DB schema existed, but accessing it as the knot-resolver user failed before correcting ownership: setpriv --reuid=knot-resolver --init-groups \ sqlite3 /var/lib/knot-resolver/leases.db 'select count(*) from leases;' -> attempt to write a readonly database Manual workaround applied: /etc/init.d/knot-resolver stop install -o knot-resolver -g knot-resolver -m 0755 -d \ /var/lib/knot-resolver \ /var/lib/knot-resolver/zones chown knot-resolver:knot-resolver \ /var/lib/knot-resolver \ /var/lib/knot-resolver/leases.db chmod 0755 /var/lib/knot-resolver chmod 0644 /var/lib/knot-resolver/leases.db chmod 0755 /var/lib/knot-resolver/zones /etc/init.d/knot-resolver start After this, read-only DB access as knot-resolver worked: setpriv --reuid=knot-resolver --init-groups \ sqlite3 'file:/var/lib/knot-resolver/leases.db?mode=ro' \ 'select count(*) from leases;' -> 0 initially, then 1 after adding a test lease. DHCP lease test: /usr/sbin/dhcp-lease commit \ ADDRESS=192.168.0.250 \ HOSTNAME=kres-test \ DOMAINNAME=home.home kdig @127.0.0.1 kres-test.home.home. A +short -> 192.168.0.250 kdig @127.0.0.1 -x 192.168.0.250 +short -> kres-test.forest.home. After reboot, ownership persisted: /var/lib/knot-resolver knot-resolver:knot-resolver 755 /var/lib/knot-resolver/leases.db knot-resolver:knot-resolver 644 /var/lib/knot-resolver/zones knot-resolver:knot-resolver 755 After reboot, DHCP lease A and PTR lookups still worked and no fresh sql_fwd/sql_rev nil errors appeared.
Please don't use any AI for posts like this. This is super long and I have no idea what you want to tell me.
Sorry, let me rephrase more clearly. The problem seems to be file ownership. On my system after install of the latest nightly: /var/lib/knot-resolver root:root 755 /var/lib/knot-resolver/leases.db root:root 644 /var/lib/knot-resolver/zones missing With that state, DHCP lease lookups caused repeated errors: leases.lua:76: attempt to index upvalue 'sql_fwd' (a nil value) leases.lua:102: attempt to index upvalue 'sql_rev' (a nil value) After changing ownership to knot-resolver:knot-resolver and creating the zones directory: /var/lib/knot-resolver knot-resolver:knot-resolver 755 /var/lib/knot-resolver/leases.db knot-resolver:knot-resolver 644 /var/lib/knot-resolver/zones knot-resolver:knot-resolver 755 DHCP lease forward and reverse lookups started working: kres-test.home.home -> 192.168.0.250 192.168.0.250 -> kres-test.home.home This also still worked after reboot. The resolver itself works once ownership is fixed, but the installed state had the wrong owner and was missing /var/lib/knot-resolver/zones.
No, DON'T USE AI. You should have posted one line. That is all it needed. Don't do it again.
https://www.ipfire.org/blog/ipfire-2-29-core-update-203-is-available-for-testing
Core Update 203 has been released: > https://www.ipfire.org/blog/ipfire-2-29-core-update-203-released