wm: doc

ref: 766dd843123e8cbea0f60e5b1b537541156b6622
dir: /ndb.ms/

View raw version
Note the differences in how the addresses must  be formatted:

.P1
; ndb/csquery
> tcp!ircnow.org!443
/net/tcp/clone 198.251.82.194!443

; ndb/dnsquery
> ircnow.org ipv6
ircnow.org ipv6	2605:6404:2d3::
.P2

.PP
Note: All addresses in plan 9 are IPv6 addresses. So an ipmask=/123 for an IPv4 address is actually an IPv4 /27 subnet.

Note: when you lookup a name using whatever nameserver is defined in /lib/ndb/local, if it's not found, ndb will recursively search the root nameservers to find the entry
Most resolvers will normally give up, but ndb is really persistent.

.PP
To run a caching DNS server, modify /cfg/$sysname/termrc or /cfg/$sysname/cpurc (whichever is appropriate) to include the following: 
.P1
ndb/dns -rLs
.P2
.PP
Be aware that you must include -L to prevent users outside the local network from being able to turn your caching server into an open relay for denial of service amplification attacks. -L provides a crude form of access control. Otherwise, you must firewall off access to prevent becoming an attack vector.