NXDomain reply after LAN IP response from forwarder for zone

Jarrod Farrell jarrodmaddy at gmail.com
Sat Sep 13 22:38:12 UTC 2025


BIND 9.20.12

And adding `validate-except` to my configuration seems to be what I need, so thanks Greg.

```
IP 10.0.10.1.33184 > 10.0.10.100.53: 43821+ [1au] A? firewall.my-home.net.lan. (62)
IP 10.0.10.100.59360 > 10.0.10.101.53: 45885+% [1au] A? firewall.my-home.net.lan. (62)
IP 10.0.10.101.53 > 10.0.10.100.59360: 45885* 1/0/1 A 10.96.48.1 (66)
IP 10.0.10.100.53 > 10.0.10.1.33184: 43821 1/0/1 A 10.96.48.1 (94)
```

So for posterity, the final configuration:

```named.conf
include "/etc/bind/rndc.key";
controls {
   inet 127.0.0.1 allow {localhost;} keys {"rndc-key";};
};

acl cachenetworks {  127.0.0.0/24;  ::1/128;  10.0.10.0/24;  };
acl badnetworks {  };

options {
   listen-on {  any;  };
   listen-on-v6 {  any;  };
   allow-query-cache { cachenetworks; };
   blackhole { badnetworks; };
   forward first;
   forwarders {  9.9.9.9;  149.112.112.112;  2620:fe::fe;  2620:fe::9;  };
   directory "/run/named";
   pid-file "/run/named/named.pid";
   validate-except { my-home.net.lan; };

};

zone "my-home.net.lan" {
   type forward;
   forward only;
   forwarders { 10.0.10.101; };
};
```

And for those of the NixOS bend like I am (since this is what is generating the configuration BIND uses:)

```nix
services.bind = {
   enable = true;
   cacheNetworks = [
     "127.0.0.0/24"
     "::1/128"
     "10.0.10.0/24"
   ];
   forward = "first";
   extraOptions = ''
     validate-except { my-home.net.lan; };
   '';
   extraConfig = ''
     zone "my-home.net.lan" {
       type forward;
       forward only;
       forwarders { 10.0.10.101; };
     };
   '';
};
```

On 9/13/25 18:01, Greg Choules wrote:
> Hello.
> What version of BIND are you running?
> 
> By default, BIND will attempt to perform DNSSEC validation, which is probably why you're seeing the DS query. See here for more information on validation and DNSSEC in general: https://bind9.readthedocs.io/en/latest/dnssec-guide.html#dnssec-validation-explained <https://bind9.readthedocs.io/en/latest/dnssec-guide.html#dnssec-validation-explained>
> 
> You might want to leave validation enabled in general, but disable it for domains that you know are not signed, like "my-home.net.lan". Take a look at this configuration statement: https://bind9.readthedocs.io/en/latest/reference.html#namedconf-statement-validate-except <https://bind9.readthedocs.io/en/latest/reference.html#namedconf-statement-validate-except>
> 
> I hope that helps.
> Cheers, Greg


More information about the bind-users mailing list