NDB man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

NDB(6)									NDB(6)

NAME
       ndb - Network database

DESCRIPTION
       The network database consists of files describing machines known to the
       local installation and machines known  publicly.	  The  files  comprise
       multi-line  tuples  made	 up  of	 attribute/value  pairs	 of  the  form
       attr=value or sometimes just attr.  Each line  starting	without	 white
       space starts a new tuple.  Lines starting with # are comments.

       The  file  /lib/ndb/local is the root of the database.  Other files are
       included in the database if a tuple with	 an  attribute-value  pair  of
       attribute  database  and no value exists in /lib/ndb/local.  Within the
       database tuple, each pair with attribute file identifies a file	to  be
       included	 in  the  database.   The files are searched in the order they
       appear.	For example:

	      database=
		   file=/lib/ndb/common
		   file=/lib/ndb/local
		   file=/lib/ndb/global

       declares the database to be composed of the three  files	 /lib/ndb/com‐
       mon,  /lib/ndb/local,  and /lib/ndb/global.  By default, /lib/ndb/local
       is searched before the others.  However, /lib/ndb/local may be included
       in the database to redefine its ordering.

       Within  tuples,	pairs on the same line bind tighter than pairs on dif‐
       ferent lines.

       Programs search the database directly using the routines in  ndb(2)  or
       indirectly  using ndb/cs and ndb/dns (see ndb(8)).  Both ndb/cs and the
       routine ndbipinfo impose structure on the otherwise  flat  database  by
       using  knowledge	 specific  to the network.  The internet is made up of
       networks which can be subnetted multiple times.	A network must have an
       ipnet  attribute and is uniquely identified by the values of its ip and
       ipmask attributes.  If the ipmask is missing, the relevant Class	 A,  B
       or C one is used.

       A  search  for an attribute associated with a network or host starts at
       the lowest level, the entry for the host or network itself,  and	 works
       its  way	 up,  bit  by  bit,  looking  at entries for nets/subnets that
       include the network or host.  The search ends  when  the	 attribute  is
       found.  For example, consider the following entries:

	      ipnet=murray-hill ip=135.104.0.0 ipmask=255.255.0.0
		   dns=135.104.10.1
		   ntp=ntp.cs.bell-labs.com
	      ipnet=plan9 ip=135.104.9.0 ipmask=255.255.255.0
		   ntp=oncore.cs.bell-labs.com
		   smtp=smtp1.cs.bell-labs.com
	      ip=135.104.9.6 sys=anna dom=anna.cs.bell-labs.com
		   smtp=smtp2.cs.bell-labs.com

       Here  anna  is  on the subnet plan9 which is in turn on the class B net
       murray-hill.  Assume that we're	searching  for	anna's	NTP  and  SMTP
       servers.	  The search starts by looking for an entry with sys=anna.  We
       find the anna entry.  Since it has an smtp=smtp2.cs.bell-labs.com pair,
       we're  done looking for that attribute.	To fulfill the NTP request, we
       continue by looking for networks that include anna's  IP	 address.   We
       lop  off	 the  right  most  one bit from anna's address and look for an
       ipnet= entry with ip=135.104.9.4.  Not finding one, we drop another bit
       and  look  for  an  ipnet= entry with ip=135.104.9.0.  There is such an
       entry and it has	 the  pair,  ntp=oncore.cs.bell-labs.com,  ending  our
       search.

       Ndb/cs  can  be	made  to  perform such network aware searches by using
       metanames in the	 dialstring.   A  metaname  is	a  $  followed	by  an
       attribute  name.	  Ndb/cs looks up the attribute relative to the system
       it is running on.  Thus, with the above example, if a program called

		   dial("tcp!$smtp!smtp", 0, 0, 0);

       the dial would connect to the SMTP port of smtp2.cs.bell-labs.com.

       A number of attributes are meaningful to programs  and  thus  reserved.
       They are:

       sys    system name (a short name)

       dom    Internet fully-qualified domain name

       ip     Internet address, v4 or v6.

       ipv6   IPv6 Internet address.  For DNS, an record.

       ether  Ethernet	address (must be lower-case hexadecimal).  Beware that
	      for machines with multiple ether attributes,  dhcpd  may	expect
	      requests to come from the address in the first ether attribute.

       bootf  file  to download for initial bootstrap; /386/9boot to boot a PC
	      via PXE.

       ipnet  Internet network name

       ipmask Internet network mask

       ipgw   Internet gateway

       auth   authentication server to be used

       authdom
	      authentication domain.  Plan 9 supports multiple	authentication
	      domains.	 To  specify an authentication server for a particular
	      domain, add a tuple containing both auth and authdom  attributes
	      and values.

       fs     file server to be used

       tcp    a TCP service name

       udp    a UDP service name

       port   a TCP or UDP port number

       restricted
	      a	 TCP  service  that  can be called only by ports numbered less
	      that 1024

       proto  a protocol supported by a host.  The pair proto=il was needed by
	      cs (see ndb(8)) in tuples for hosts that supported the IL proto‐
	      col

       dnsdomain
	      a domain name that ndb/dns adds onto  any	 unrooted  names  when
	      doing a search.  There may be multiple dnsdomain pairs.

       dns    a DNS server to use (for DNS and DHCP)

       ntp    an NTP server to use (for DHCP)

       smtp   an SMTP server to use (for DHCP)

       time   a time server to use (for DHCP)

       wins   a Windows name server (for DHCP)

       mx     mail exchanger (for DNS and DHCP); also pref.

       srv    service location (for DNS); also pri, weight and port.

       soa    start of area (for DNS)

       Cs  defers  to dns to translate dotted names to IP addresses, only con‐
       sulting the database files if dns cannot translate the name.

       Cs allows network entries  with	sys  and  dom  attributes  but	no  ip
       attribute.  Searches for the system name are resolved by looking up the
       domain name with dns.

       The file /lib/ndb/auth is used during authentication to decide who  has
       the power to `speak for' other users; see authsrv(6).

EXAMPLES
       A tuple for the CPU server, spindle.

       sys=spindle
	    dom=spindle.research.bell-labs.com
	    bootf=/mips/9powerboot
	    ip=135.104.117.32 ether=080069020677

       Entries for the network mh-astro-net and its subnets.

       ipnet=mh-astro-net ip=135.104.0.0 ipmask=255.255.255.0
	    fs=bootes.research.bell-labs.com
	    ipgw=r70.research.bell-labs.com
	    auth=p9auth.research.bell-labs.com
       ipnet=unix-room ip=135.104.117.0
	    ipgw=135.104.117.1
       ipnet=third-floor ip=135.104.51.0
	    ipgw=135.104.51.1

       Mappings between TCP service names and port numbers.

       tcp=sysmon     port=401
       tcp=rexec      port=512	 restricted
       tcp=9fs	      port=564

FILES
       /lib/ndb/local
	      first database file searched

SEE ALSO
       con(1),	dial(2),  ndb(2), 9boot(8), booting(8), dhcpd(8), ipconfig(8),
       ndb(8)

									NDB(6)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net