[Pdns-users] powerdns recursor 5.1 doesn't support non-yaml syntax?

prochazka at cortex.cz prochazka at cortex.cz
Fri Aug 30 10:08:34 UTC 2024


Re-reply for list.

Well...

5.0.x had existing default old-style recursor.conf (default values, no 
modifications done). After upgrade this file was rewritten to new 
recursor.conf with yaml syntax (so all default values are gone).

tldr; this is upgrade 5.0.8 -> 5.1.1 (alltime pdns repository), not the 
new install.

Renaming recursor-local.conf to recursor-local.yml:
###recursor-local.yml
#Ansible managed

allow-from=127.0.0.1,192.168.0.0/16,SUBNET_IPV4,SUBNET_IPV4,::1/128,SUBNET_IPV6,SUBNET_IPV4
local-address=::1,ADDR_IPV6,127.0.0.1,ADDR_IPV4
local-port=53
max-negative-ttl=300
query-local-address=0.0.0.0,::
serve-rfc1918=no

forward-zones=
forward-zones+=internal1.cortex.cz=ADDR;ADDR;ADDR
forward-zones+=internal2.cortex.cz=ADDR;ADDR;ADDR
forward-zones+=168.192.in-addr.arpa=ADDR;ADDR;ADDR
forward-zones+=x.x.x.x.x.x.x.x.ip6.arpa=ADDR;ADDR;ADDR
forward-zones+=internal3.cortex.cz=ADDR;ADDR;ADDR

###syslog
2024-08-30T11:15:19.559023+02:00 hostname systemd[1]: Starting 
pdns-recursor.service - PowerDNS Recursor...
2024-08-30T11:15:19.616148+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 PowerDNS Recursor 5.1.1 (C) PowerDNS.COM BV
2024-08-30T11:15:19.616222+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 Using 64-bits mode. Built using gcc 12.2.0 on Jul 22 2024 
13:49:14 by root at localhost.
2024-08-30T11:15:19.616250+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free 
software, and you are welcome to redistribute it according to the terms 
of the GPL version 2.
2024-08-30T11:15:19.616339+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 msg="Processing main YAML settings" subsystem="config" 
level="0" prio="Notice" tid="0" ts="1725009319.615" 
path="/etc/powerdns/recursor.conf"
2024-08-30T11:15:19.616367+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 msg="Processing YAML settings" subsystem="config" level="0" 
prio="Notice" tid="0" ts="1725009319.616" 
path="/etc/powerdns/recursor.d/recursor-local.yml"
2024-08-30T11:15:19.616493+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 msg="YAML config found, but error occurred processing it" 
error="invalid type: string 
\"allow-from=127.0.0.1,192.168.0.0/16,SUBNET_IPV4,SUBNET_IPV4,::1/128,SUBNET_IPV6,SUBNET_IPV4 
local-address=::1,ADDR_IPV6,127.0.0.1,ADDR_IPV4 local-port=53 
max-negative-ttl=300 query-local-address=0.0.0.0,:\", expected struct 
Recursorsettings at line 3 column 1" subsystem="config" level="0" 
prio="Error" tid="0" ts="1725009319.616" 
configname="/etc/powerdns/recursor.conf"
2024-08-30T11:15:19.616575+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 msg="Trying to read YAML from .yml or .conf failed, failing 
back to old-style config read" subsystem="config" level="0" 
prio="Warning" tid="0" ts="1725009319.616" 
configname="/etc/powerdns/recursor.conf"
2024-08-30T11:15:19.616649+02:00 hostname pdns-recursor[8741]: Aug 30 
11:15:19 msg="Fatal error" error="Trying to set unknown setting 
'dnssec:'" subsystem="config" level="0" prio="Critical" tid="0" 
ts="1725009319.616" exception="PDNSException"
2024-08-30T11:15:19.618127+02:00 hostname systemd[1]: 
pdns-recursor.service: Main process exited, code=exited, 
status=1/FAILURE
2024-08-30T11:15:19.618355+02:00 hostname systemd[1]: 
pdns-recursor.service: Failed with result 'exit-code'.
2024-08-30T11:15:19.618644+02:00 hostname systemd[1]: Failed to start 
pdns-recursor.service - PowerDNS Recursor.


For me, upgrade 5.0.8 -> 5.1.1 breaks because it overwrite even default 
old-style recursor.conf and all shit with mix yaml/old-style happens.

Prochazka


Dne 2024-08-30 10:46, Otto Moerbeek via Pdns-users napsal:
> On Fri, Aug 30, 2024 at 10:16:22AM +0200, Otto Moerbeek via Pdns-users 
> wrote:
> 
>> On Fri, Aug 30, 2024 at 09:33:17AM +0200, Prochazka via Pdns-users 
>> wrote:
>> 
>> > Hi,
>> >
>> > i upgraded one of the 5.0.x recursor to 5.1.1 from pdns repo. We have
>> > modifications in the /etc/powerdns/recursor.d/recursor-local.conf in the
>> > non-yaml syntax. After upgrade i see /etc/recursor.conf include
>> > /etc/powerdns/recursor.d/ but modifications are ignored. Why? I don't see
>> > (or missed info) in the documentation about not supporting old syntax on
>> > 5.1.x.
>> >
>> > Please confirm.
>> >
>> > Thanks
>> > Prochazka
>> 
>> 5.1.1 accepts both YAML and old-style settings. It tries to read the
>> the recursor.conf file as YAML, but if that fails falls back to old
>> style.  Please share more details (exact config files and log), so we
>> can diagnose what is going on.
> 
> Additional info: if the main recursor.conf file is YAML format, only
> .yml included file are processed. Could that be happening here?
> 
> Our packages do not overwrite existing .conf files, but will install
> default .conf file in YAML format for new installs.
> 
> 	-Otto
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> https://mailman.powerdns.com/mailman/listinfo/pdns-users



More information about the Pdns-users mailing list