@@ -30,10 +30,10 @@ in {
3030 enable = mkEnableOption "PowerDNS Recursor, a recursive DNS server";
3131
3232 dns.address = mkOption {
33− type = types.str;
34− default = "0.0.0.0";
33+ type = oneOrMore types.str;
34+ default = [ "::" "0.0.0.0" ];
3535 description = ''
36− IP address Recursor DNS server will bind to.
36+ IP addresses Recursor DNS server will bind to.
3737 '';
3838 };
3939
@@ -47,8 +47,12 @@ in {
4747
4848 dns.allowFrom = mkOption {
4949 type = types.listOf types.str;
50− default = [ "10.0.0.0/8" "172.16.0.0/12" "192.168.0.0/16" ];
51− example = [ "0.0.0.0/0" ];
50+ default = [
51+ "127.0.0.0/8" "10.0.0.0/8" "100.64.0.0/10"
52+ "169.254.0.0/16" "192.168.0.0/16" "172.16.0.0/12"
53+ "::1/128" "fc00::/7" "fe80::/10"
54+ ];
55+ example = [ "0.0.0.0/0" "::/0" ];
5256 description = ''
5357 IP address ranges of clients allowed to make DNS queries.
5458 '';
@@ -72,7 +76,8 @@ in {
7276
7377 api.allowFrom = mkOption {
7478 type = types.listOf types.str;
75− default = [ "0.0.0.0/0" ];
79+ default = [ "127.0.0.1" "::1" ];
80+ example = [ "0.0.0.0/0" "::/0" ];
7681 description = ''
7782 IP address ranges of clients allowed to make API requests.
7883 '';
@@ -96,7 +101,7 @@ in {
96101
97102 forwardZonesRecurse = mkOption {
98103 type = types.attrs;
99− example = { eth = "127.0.0.1:5353"; };
104+ example = { eth = "[::1]:5353"; };
100105 default = {};
101106 description = ''
102107 DNS zones to be forwarded to other recursive servers.