Hi there -- I'm trying an unusual situation here, and it doesn't
seem to be working.


I have a dynamic zone, and a daemon that will act as a nameserver,
generating data in that zone based on queries coming from clients.
rbldnsd is a good example of this.

I don't want to dedicate an IP address to this zone, so I thought
a good way to do this would be to use BIND's "type forward" zone
support:

zone "v.yerp.org" IN {
type forward;
forward first;
forwarders {
127.0.0.1 port 55;
};
};

IOW, run the non-BIND ns on port 55, and let clients access it through
BIND's forwarded zone. This means I can keep BIND running on that
machine, great!

So: this works if I point clients at the nameserver directly; but if I let
them use the normal TLD delegation lookup, it fails.

The 2LD zone delegates to the v.yerp.org subdomain correctly (afaik):

yerp.org. IN SOA ns1.boxhost.net. jm.jmason.org. (
2004000021
3600 600 604800 3600 )
yerp.org. IN NS ns1.boxhost.net.
ns1.boxhost.net. IN A 195.218.96.101
yerp.org. IN NS ns6.gandi.net.
ns6.gandi.net. IN A 217.70.177.40

v.yerp.org. IN NS ns2.yerp.org.
ns2.yerp.org. IN A 64.142.3.174


(Note: that's on another server entirely, ns1.boxhost.net.)

A "dig +trace", however, seems to indicate that the ns2 host (where the
forward zone is running) doesn't want to be authoritative for the zone:

: jm 1726...; dig test.com.v.yerp.org TXT +trace

; <<>> DiG 9.2.4rc5 <<>> test.com.v.yerp.org TXT +trace
;; global options: printcmd
. 517766 IN NS H.ROOT-SERVERS.NET.
. 517766 IN NS I.ROOT-SERVERS.NET.
. 517766 IN NS J.ROOT-SERVERS.NET.
. 517766 IN NS K.ROOT-SERVERS.NET.
. 517766 IN NS L.ROOT-SERVERS.NET.
. 517766 IN NS M.ROOT-SERVERS.NET.
. 517766 IN NS A.ROOT-SERVERS.NET.
. 517766 IN NS B.ROOT-SERVERS.NET.
. 517766 IN NS C.ROOT-SERVERS.NET.
. 517766 IN NS D.ROOT-SERVERS.NET.
. 517766 IN NS E.ROOT-SERVERS.NET.
. 517766 IN NS F.ROOT-SERVERS.NET.
. 517766 IN NS G.ROOT-SERVERS.NET.
;; Received 436 bytes from 127.0.0.1#53(127.0.0.1) in 1 ms

org. 172800 IN NS TLD1.ULTRADNS.NET.
org. 172800 IN NS TLD2.ULTRADNS.NET.
;; Received 119 bytes from 128.63.2.53#53(H.ROOT-SERVERS.NET) in 96 ms

yerp.org. 86400 IN NS ns6.gandi.net.
yerp.org. 86400 IN NS ns1.boxhost.net.
;; Received 90 bytes from 204.74.112.1#53(TLD1.ULTRADNS.NET) in 41 ms

v.yerp.org. 3600 IN NS ns2.yerp.org.
;; Received 72 bytes from 217.70.177.40#53(ns6.gandi.net) in 186 ms

org. 170720 IN NS TLD1.ULTRADNS.NET.
org. 170720 IN NS TLD2.ULTRADNS.NET.
;; Received 87 bytes from 64.142.3.174#53(ns2.yerp.org) in 34 ms


So the request never gets forwarded to the forwardee nameserver daemon --
this happens within BIND. Is there any way to make BIND think it's
authoritative for that zone? Am I missing something? Have I screwed up
my delegation there?

(BTW, the v.yerp.org zone is currently down, so any queries to that
will fail.)

--j.