-
Notifications
You must be signed in to change notification settings - Fork 910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serial in RPZ dump file not correct #14857
Comments
I'll try to reproduce. For that I need to know which version of the recursor you are running. Update: my memory was wrong: I do see a full reload. But if you define a
|
As for the comment in #11490 (comment), I'll add a remark. |
I'm running 5.1.2 and I do have both
Let's
but
The My
Might this be related to
|
One observation: |
Once complicating matter here is that the server side can decide to send a whole new zone instead of updates, for it's own reasons. This can happen if, for example, the provided SOA by us is not the most recent previous one as the server only has the most recent delta available. At first glance this could be happening here, but I need to study your logs a bit more. It would be interesting to see if subsequent updates are incremental or not. I'll try to run some tests here as well. |
This happens with every Nov 20 11:39:14: msg="Pre-loading RPZ zone from seed file" subsystem="luaconfig" level="0" prio="Info" tid="0" ts="1732099154.461" seedfile="/var/lib/pdns-recursor/bforeai.ioc2rpz" zone="bforeai.ioc2rpz" Back then I've seen this with 250 MB Spamhaus RPZ and forgot about this, considering this is some server glitch with incremental updates. |
Hi, |
Also give a better error message when our serial is higher than the auth one Fixes PowerDNS#14857
I can also confirm, that |
I analyzed the error, and should have a fix by tomorrow, including some internal consistency checking so this can be diagnosed more easily if it happens again. |
Short description
Apparently Recursor lacks the command to notify about RPZ file update.
reload-lua-config
is all-or-nothing and triggers also IXFR "whole zone" transfers for rpzPrimary() RPZ (why is this happening anyway?) which might be multi-megabytes in size, therefore not suitable for frequent updates.Usecase
I use 3 rpzPrimary() and 2 rpzFile() sources. The DNS-based ones support IXFR, so I don't need to worry about updates, but RPZ files are cyclically fetched from remote servers (possibly with different frequency) and I need to notify recursor to grab new ones.
Description
I'm looking for a way to frequently update RPZ files without refetching entire rpzPrimary(). These zones can be large, so it would be best if this was possible on file-by-file basis, but as local storage is fast enough it might as well trigger all of them at all (with regard to CPU intensiveness of recursor itself, reloading needlessly files that didn't change). I don't want to saturate RPZ-over-DNS providers though by issuing "whole zone" transfers every few minutes.
I thought that maybe
reload-zones
would work (after reading #11490 (comment)), but it's not. Maybe this command could gain some switch for RPZ (reload-zones -rpz
)?As an alternative there could be some new
rec_control
command to load/unload specified RPZ file without invoking entire LUA config, or some inotify watch installed for reload to happen automagically.Or maybe simply some way to suppress "whole zone" transfers after
reload-lua-config
?Currently I'm thinking about file-to-authoritative substitute approach, where RPZ files are handled by separate pdns, which then is used as rpzPrimary() on the main recursor, but this seems a bit too much work for what it's worth.
The text was updated successfully, but these errors were encountered: