The current config syntax allows a single kind of listening address, `listen-address`. This sets the `local-address` option in `/etc/powerdns/recursor.conf`. Unfortunately, `local-address` is only for IPv4 addresses; a separate `local-ipv6` setting in recursor.conf is required for IPv6 addresses.
See the documentation here: https://doc.powerdns.com/md/authoritative/settings/#local-address
and: https://doc.powerdns.com/md/authoritative/settings/#local-ipv6
As a result, this configuration:
```
# show service dns
forwarding {
ignore-hosts-file
listen-address 2604:3024:423e:b9f2::1
listen-address 192.168.10.1
listen-address 2604:3024:423e:b9f1::1
listen-address 51.89.31.65
listen-address 2604:3024:423e:b9f4::1
listen-address 192.168.20.1
listen-address 127.0.0.1
name-server 2604:3024:423e:b9f1:3063:21ff:fee91234
name-server 51.89.31.67
name-server 52.41.86.239
}
```
creates this setting in `recursor.conf`:
```
# listen-on
local-address=2604:3024:423e:b9f2::1,192.168.10.1,2604:3024:423e:b9f1::1,51.89.31.65,2604:3024:423e:b9f4::1,192.168.20.1,127.0.0.1
```
The server does not, in fact, listen on any of the IPv6 addresses, although it does listen on the IPv4 addresses without complaint.
There should probably be a separate `listen-address-v6` config option, or something similar.