summaryrefslogtreecommitdiff
path: root/static/plan9-4e/man8/ndb.8
diff options
context:
space:
mode:
Diffstat (limited to 'static/plan9-4e/man8/ndb.8')
-rw-r--r--static/plan9-4e/man8/ndb.8459
1 files changed, 459 insertions, 0 deletions
diff --git a/static/plan9-4e/man8/ndb.8 b/static/plan9-4e/man8/ndb.8
new file mode 100644
index 00000000..322a1373
--- /dev/null
+++ b/static/plan9-4e/man8/ndb.8
@@ -0,0 +1,459 @@
+.TH NDB 8
+.SH NAME
+query, mkhash, mkdb, cs, csquery, dns, dnsquery, ipquery, dnsdebug, mkhosts \- network database
+.SH SYNOPSIS
+.B ndb/query
+[
+.B -f
+.I dbfile
+]
+.I "attr value"
+[
+.I rattr
+]
+.br
+.B ndb/ipquery
+.I "attr value"
+.I rattr...
+.br
+.B ndb/mkhash
+.I "file attr"
+.br
+.B ndb/cs
+[
+.B -n
+] [
+.B -f
+.I dbfile
+] [
+.B -x
+.I netmtpt
+]
+.br
+.B ndb/csquery
+[
+.B -s
+]
+[
+.B server
+[
+.I addr...
+]
+]
+.br
+.B ndb/dns
+[
+.B -rs
+] [
+.B -f
+.I dbfile
+] [
+.B -x
+.I netmtpt
+]
+.br
+.B ndb/dnsquery
+.br
+.B ndb/dnsdebug
+[
+.B -rx
+]
+[ [
+.BI @ server
+]
+.I domain-name
+[
+.I type
+] ]
+.br
+.B ndb/mkdb
+.SH DESCRIPTION
+The network database holds administrative information used by
+network programs such as
+.IR dhcpd (8),
+.IR ipconfig (8),
+.IR con (1),
+etc.
+.PP
+.I Ndb/query
+searches the database for an attribute of type
+.I attr
+and value
+.IR value .
+If
+.I rattr
+is not specified, all entries matched by the search are returned.
+If
+.I rattr
+is specified, the value of the first pair with attribute
+.I rattr
+of all the matched entries is returned.
+.PP
+.I Ndb/ipquery
+uses
+.I ndbipinfo
+(see
+.IR ndb (2))
+to search for the values of the attributes
+.I rattr
+corresponding to the system
+with entries of attribute type
+.I attr
+and
+value
+.IR value .
+.PP
+.I Ndb/mkhash
+creates a hash file for all entries with attribute
+.I attr
+in database file
+.IR file .
+The hash files are used by
+.I ndb/query
+and by the ndb library routines.
+.PP
+.I Ndb/cs
+is a server used by
+.IR dial (2)
+to translate network names.
+It is started at boot time.
+It finds out what networks are configured
+by looking for
+.B /net/*/clone
+when it starts.
+It can also be told about networks by writing
+to
+.B /net/cs
+a message of the form:
+.IP
+.B "add net1 net2 ..."
+.PP
+.I Ndb/cs
+also sets the system name in
+.B /dev/sysname
+if it can figure it out.
+The options are:
+.TP
+.B -f
+supplies the name of the data base file to use,
+default
+.BR /lib/ndb/local .
+.TP
+.B -x
+specifies the mount point of the
+network.
+.TP
+.B -n
+causes cs to do nothing but set the system name.
+.PP
+.I Ndb/csquery
+can be used to query
+.I ndb/cs
+to see how it resolves addresses.
+.I Ndb/csquery
+prompts for addresses and prints out what
+.I ndb/cs
+returns.
+.I Server
+defaults to
+.BR /net/cs .
+If any
+.I addrs
+are specified,
+.I ndb/csquery
+prints their translations and immediately exits.
+The exit status will be nil only if all addresses
+were successfully translated
+The
+.B -s
+flag sets exit status without printing any results.
+.PP
+.I Ndb/dns
+is a server used by
+.I ndb/cs
+and by remote systems to translate Internet domain names.
+.I Ndb/dns
+is started at boot time.
+By default
+.I dns
+serves only requests written to
+.BR /net/dns .
+The options are:
+.TP
+.B -f
+supplies the name of the data base file to use,
+default
+.BR /lib/ndb/local .
+.TP
+.B -x
+specifies the mount point of the
+network.
+.TP
+.B -s
+also answer domain requests sent to UDP port 53.
+.TP
+.B -r
+defer to other servers to resolve queries.
+.PP
+When the
+.B -r
+option is specified, the servers used come from the
+.I dns
+attribute in the database. For example, to specify a set of dns servers that
+systems on the network
+.IR mh-net :
+.EX
+
+ipnet=mh-net ip=135.104.0.0 ipmask=255.255.0.0
+ dns=ns1.cs.bell-labs.com
+ dns=ns2.cs.bell-labs.com
+dom=ns1.cs.bell-labs.com ip=135.104.1.11
+dom=ns2.cs.bell-labs.com ip=135.104.1.12
+
+.EE
+.PP
+The server for a domain is indicated by a database entry containing
+both a
+.I dom
+and a
+.I ns
+attribute.
+For example, the entry for the Internet root is:
+.EX
+
+dom=
+ ns=A.ROOT-SERVERS.NET
+ ns=B.ROOT-SERVERS.NET
+ ns=C.ROOT-SERVERS.NET
+dom=A.ROOT-SERVERS.NET ip=198.41.0.4
+dom=B.ROOT-SERVERS.NET ip=128.9.0.107
+dom=C.ROOT-SERVERS.NET ip=192.33.4.12
+
+.EE
+The last three lines provide a mapping for the
+server names to their ip addresses. This is only
+a hint and will be superseded from whatever is learned
+from servers owning the domain.
+.PP
+The root of a domain subtree served by the local database is indicated
+by an entry with an
+.B soa
+attribute.
+For example, the Bell Labs CS research domain is:
+.EX
+
+dom=cs.bell-labs.com soa=
+ refresh=3600 ttl=3600
+ ns=plan9.bell-labs.com
+ ns=ns1.cs.bell-labs.com
+ ns=ns2.cs.bell-labs.com
+ mb=presotto@plan9.bell-labs.com
+ mx=mail.research.bell-labs.com pref=20
+ mx=plan9.bell-labs.com pref=10
+
+.EE
+Here, the
+.B mb
+entry is the mail address of the person responsible for the
+domain (default
+.BR postmaster ).
+The
+.B mx
+entries list mail exchangers for the domain name and
+.B refresh
+and
+.B ttl
+define the area refresh interval and the minimum TTL for
+records in this domain.
+.PP
+Delegation of a further subtree to another set of name servers
+is indicated by an
+.B soa=delegated
+attribute.
+.EX
+
+dom=bignose.cs.research.bell-labs.com
+ soa=delegated
+ ns=anna.cs.research.bell-labs.com
+ ns=dj.cs.research.bell-labs.com
+
+.EE
+Nameservers within the delegated domain (as in this example)
+must have their IP addresses listed elsewhere in
+.I ndb
+files.
+.PP
+Wild-carded domain names can also be used.
+For example, to specify a mail forwarder for all Bell Labs research systems:
+.EX
+
+dom=*.research.bell-labs.com
+ mx=research.bell-labs.com
+
+.EE
+`Cname' aliases may be established by adding a
+.B cname
+attribute giving the real domain name;
+the name attached to the
+.B dom
+attribute is the alias.
+`Cname' aliases are severely restricted;
+the aliases may have no other attributes than
+.B dom
+and are daily further restricted in their use by new RFCs.
+.EX
+
+cname=anna.cs.research.bell-labs.com dom=www.cs.research.bell-labs.com
+
+.EE
+.I Ndb/dnsquery
+can be used to query
+.I ndb/dns
+to see how it resolves requests.
+.I Ndb/dnsquery
+prompts for commands of the form
+.IP
+.I "domain-name request-type"
+.LP
+where
+.I request-type
+can be
+.BR ip ,
+.BR mx ,
+.BR ns ,
+.BR cname ,
+.BR ptr ....
+In the case of the inverse query type,
+.BR ptr ,
+.I dnsquery
+will reverse the ip address and tack on the
+.B .in-addr.arpa
+for you.
+.PP
+.I Ndb/dnsdebug
+is like
+.I ndb/dnsquery
+but bypasses the local server.
+It communicates via UDP with the domain name servers
+in the same way that the local resolver would and displays
+all packets received.
+The query can be specified on the command line or
+can be prompted for.
+The queries look like those of
+.I ndb/dnsquery
+with one addition.
+.I Ndb/dnsdebug
+can be directed to query a particular name server by
+the command
+.BI @ name-server\f1.
+From that point on, all queries go to that name server
+rather than being resolved by
+.IR dnsdebug .
+The
+.B @
+command returns query resolution to
+.IR dnsdebug .
+Finally, any command preceded by a
+.BI @ name-server
+sets the name server only for that command.
+.PP
+Normally
+.I dnsdebug
+uses the
+.B /net
+interface and the database file
+.BR /lib/ndb/local.
+The
+.B -x
+option directs
+.I dnsdebug
+to use the
+.B /net.alt
+interface and
+.B /lib/ndb/external
+file.
+The
+.B -r
+option is the same as for
+.IR ndb/dns .
+.PP
+.I Ndb/mkdb
+is used in concert with
+.IR awk (1)
+scripts to convert
+uucp systems files and IP host files
+into database files.
+It is very specific to the situation at Murray Hill.
+.PP
+When the database files change underfoot,
+.I ndb/cs
+and
+.I ndb/dns
+track them properly. Nonetheless, to keep the database searches efficient
+it is necessary to run
+.I ndb/mkhash
+whenever the files are modified.
+It may be profitable to control this by a frequent
+.IR cron (8)
+job.
+.PP
+.I Ndb/mkhosts
+generates a BSD style
+.BR hosts ,
+.BR hosts.txt ,
+and
+.B hosts.equiv
+files from an ndb data base file specified on the
+command line (default
+.BR /lib/ndb/local ).
+For local reasons the files are called
+.BR hosts.1127 ,
+.BR astro.txt ,
+and
+.BR hosts.equiv .
+.SH EXAMPLES
+.EX
+% ndb/query sys helix
+sys=helix dom=helix.research.bell-labs.com bootf=/mips/9powerboot
+ ip=135.104.117.31 ether=080069020427
+ proto=il
+% ndb/dnsquery
+> plan9.bell-labs.com ip
+plan9.bell-labs.com ip 204.178.31.2
+> 204.178.31.2 ptr
+2.31.178.204.in-addr.arpa ptr plan9.bell-labs.com
+2.31.178.204.in-addr.arpa ptr ampl.com
+>
+.EE
+.SH FILES
+.TF /lib/ndb/local.*xxx
+.TP
+.B /lib/ndb/local
+first database file searched
+.TP
+.B /lib/ndb/local.*
+hash files for
+.B /lib/ndb/local
+.TP
+.B /srv/cs
+service file for
+.I ndb/cs
+.TP
+.B /net/cs
+where
+.B /srv/cs
+gets mounted
+.TP
+.B /srv/dns
+service file for
+.I ndb/dns
+.TP
+.B /net/dns
+where
+.B /srv/dns
+gets mounted
+.SH SOURCE
+.B /sys/src/cmd/ndb
+.SH SEE ALSO
+.IR ndb (2)
+.IR ndb (6)