Page MenuHomePhabricator

Migrate dns forwarder from dnsmasq to powerdns-recursor
Closed, ResolvedPublicFEATURE REQUEST

Description

Propose to migrate dnsmasq backed dns forwarder to powerdns-recursor backed
Basically we get significant improvements and more flexibility and overcoming issues like T557

ServerAuthoritativeRecursiveRecursion ACLSlave modeCachingDNSSECTSIGIPv6WildcardFree SoftwareInterfacesplit horizon
PowerDNSYesYesYesYes[Note 2]YesYes (since 3.0) [Note 3]Yes (since 3.0)Yes[Note 2]YesYesWeb[Note 4], command linePartial[Note 5]
DnsmasqPartial[Note 11]NoNoNoYesYes (since 2.69) [Note 12]NoYesYesYescommand linePartial[Note 13]

Table is from here

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
syncer created this task.Feb 25 2018, 10:15 AM
c-po added a subscriber: c-po.Feb 25 2018, 11:48 AM

Functionality should be implemented via the new style vyos-1x interface.

Agree,
@c-po what will be best way to start with that,
i can collect vyos settings a map them to pdns config options, not that much there actually

c-po added a comment.Feb 25 2018, 1:52 PM

That would be great!
In parallel the XML file for the config nodes can be created. I‘d keep the nodes as they are right now to kot break running setups.

syncer triaged this task as Normal priority.Feb 27 2018, 1:20 PM
c-po moved this task from Need Triage to In Progress on the VyOS 1.2.x board.Apr 13 2018, 6:32 PM
c-po added a subscriber: dmbaturin.Apr 13 2018, 6:35 PM

This is a first configuration file generated from the vyos-1x python scripts:

### Autogenerated by vyos-config-dns-forwarding.py on Fri, 13 Apr 2018 20:31:09 ###
daemon=yes
threads=1
allow-from=0.0.0.0/0
log-common-errors=yes
local-address=172.16.37.240, 127.0.0.1, 172.16.254.35, 172.16.77.1, fe80::250:56ff:feaa:8b61%eth0, ::1
max-cache-entries=1000
forward-zones=bar.net=1.1.1.1, moo.com=2.2.2.2;9.9.9.9;2001:DB8::1:25

# statically configured: 1.1.1.1, 9.9.9.9
# system: 172.16.100.20, 172.16.100.10
forward-zones-recurse=.=1.1.1.1, 9.9.9.9; 172.16.100.20, 172.16.100.10

Please note, I have not found any replacement which implements the following command: set service dns forwarding query-all-servers which set the `all-servers' option in dnsmasq (http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html). For me this command looks deprecated.

@dmbaturin How are such commands removed?

c-po added a comment.Apr 15 2018, 4:09 PM

As set service dns forwarding query-all-server was introduced in VyOS 1.2.x some time ago I decided to drop it as it was not yet released. I hope this is ok.

c-po moved this task from In Progress to Finished on the VyOS 1.2.x board.Apr 15 2018, 4:10 PM
c-po moved this task from Finished to In Progress on the VyOS 1.2.x board.

PowerDNS recursor also supports multiple IPV4 and IPv6 nameservers when using a DNS zone forwarding

set service dns forwarding domain foo.com server 2001:DB8::1
set service dns forwarding domain foo.com server 2001:DB8::2
set service dns forwarding domain foo.com server 1.1.1.1
set service dns forwarding domain foo.com server 9.9.9.9
c-po added a comment.Apr 15 2018, 4:26 PM

dnsmasq is now replaced in favour of pdns recursor.

c-po moved this task from In Progress to Finished on the VyOS 1.2.x board.Apr 15 2018, 4:26 PM
dmbaturin closed this task as Resolved.Tue, Sep 25, 6:17 PM
dmbaturin claimed this task.

I guess we should consider it complete by now.