ndb.1 (10500B)
1 .TH NDB 1 2 .SH NAME 3 ndbquery, ndbmkhash, ndbmkdb, ndbipquery, ndbmkhosts \- network database 4 .SH SYNOPSIS 5 .B ndbquery 6 [ 7 .B -f 8 .I dbfile 9 ] 10 .I "attr value" 11 [ 12 .I rattr 13 ] 14 .br 15 .B ndbipquery 16 .I "attr value" 17 .I rattr... 18 .br 19 .B ndbmkhash 20 .I "file attr" 21 .br 22 .B ndbmkdb 23 .SH DESCRIPTION 24 The network database holds administrative information used by 25 .I authdial 26 (see 27 .MR authsrv (3) ) 28 and 29 .MR secstored (1) . 30 .PP 31 .I Ndbquery 32 searches the database for an attribute of type 33 .I attr 34 and value 35 .IR value . 36 If 37 .I rattr 38 is not specified, all entries matched by the search are returned. 39 If 40 .I rattr 41 is specified, the value of the first pair with attribute 42 .I rattr 43 of all the matched entries is returned. 44 .PP 45 .I Ndbipquery 46 uses 47 .I ndbipinfo 48 (see 49 .MR ndb (3) ) 50 to search for the values of the attributes 51 .I rattr 52 corresponding to the system 53 with entries of attribute type 54 .I attr 55 and 56 value 57 .IR value . 58 .PP 59 .I Ndbmkhash 60 creates a hash file for all entries with attribute 61 .I attr 62 in database file 63 .IR file . 64 The hash files are used by 65 .I ndbquery 66 and by the ndb library routines. 67 .\" .PP 68 .\" .I Ndb/cs 69 .\" is a server used by 70 .\" .IR dial (2) 71 .\" to translate network names. 72 .\" It is started at boot time. 73 .\" It finds out what networks are configured 74 .\" by looking for 75 .\" .B /net/*/clone 76 .\" when it starts. 77 .\" It can also be told about networks by writing 78 .\" to 79 .\" .B /net/cs 80 .\" a message of the form: 81 .\" .IP 82 .\" .B "add net1 net2 ..." 83 .\" .PP 84 .\" .I Ndb/cs 85 .\" also sets the system name in 86 .\" .B /dev/sysname 87 .\" if it can figure it out. 88 .\" The options are: 89 .\" .TP 90 .\" .B -f 91 .\" supplies the name of the data base file to use, 92 .\" default 93 .\" .BR /lib/ndb/local . 94 .\" .TP 95 .\" .B -x 96 .\" specifies the mount point of the 97 .\" network. 98 .\" .TP 99 .\" .B -n 100 .\" causes cs to do nothing but set the system name. 101 .\" .PP 102 .\" .I Ndb/csquery 103 .\" can be used to query 104 .\" .I ndb/cs 105 .\" to see how it resolves addresses. 106 .\" .I Ndb/csquery 107 .\" prompts for addresses and prints out what 108 .\" .I ndb/cs 109 .\" returns. 110 .\" .I Server 111 .\" defaults to 112 .\" .BR /net/cs . 113 .\" If any 114 .\" .I addrs 115 .\" are specified, 116 .\" .I ndb/csquery 117 .\" prints their translations and immediately exits. 118 .\" The exit status will be nil only if all addresses 119 .\" were successfully translated 120 .\" The 121 .\" .B -s 122 .\" flag sets exit status without printing any results. 123 .\" .PP 124 .\" .I Ndb/dns 125 .\" is a server used by 126 .\" .I ndb/cs 127 .\" and by remote systems to translate Internet domain names. 128 .\" .I Ndb/dns 129 .\" is started at boot time. 130 .\" By default 131 .\" .I dns 132 .\" serves only requests written to 133 .\" .BR /net/dns . 134 .\" The options are: 135 .\" .TP 136 .\" .B -f 137 .\" supplies the name of the data base file to use, 138 .\" default 139 .\" .BR /lib/ndb/local . 140 .\" .TP 141 .\" .B -x 142 .\" specifies the mount point of the 143 .\" network. 144 .\" .TP 145 .\" .B -s 146 .\" also answer domain requests sent to UDP port 53. 147 .\" .TP 148 .\" .B -n 149 .\" whenever a zone that we serve changes, send UDP NOTIFY 150 .\" messages to any dns slaves for that zone. 151 .\" .TP 152 .\" .B -z 153 .\" whenever we receive a UDP NOTIFY message, run 154 .\" .I program 155 .\" with the domain name of the area as its argument. 156 .\" .TP 157 .\" .B -r 158 .\" defer to other servers to resolve queries. 159 .\" .PP 160 .\" When the 161 .\" .B -r 162 .\" option is specified, the servers used come from the 163 .\" .I dns 164 .\" attribute in the database. For example, to specify a set of dns servers that 165 .\" will resolve requests for systems on the network 166 .\" .IR mh-net : 167 .\" .EX 168 .\" 169 .\" ipnet=mh-net ip=135.104.0.0 ipmask=255.255.0.0 170 .\" dns=ns1.cs.bell-labs.com 171 .\" dns=ns2.cs.bell-labs.com 172 .\" dom=ns1.cs.bell-labs.com ip=135.104.1.11 173 .\" dom=ns2.cs.bell-labs.com ip=135.104.1.12 174 .\" 175 .\" .EE 176 .\" .PP 177 .\" The server for a domain is indicated by a database entry containing 178 .\" both a 179 .\" .I dom 180 .\" and a 181 .\" .I ns 182 .\" attribute. 183 .\" For example, the entry for the Internet root is: 184 .\" .EX 185 .\" 186 .\" dom= 187 .\" ns=A.ROOT-SERVERS.NET 188 .\" ns=B.ROOT-SERVERS.NET 189 .\" ns=C.ROOT-SERVERS.NET 190 .\" dom=A.ROOT-SERVERS.NET ip=198.41.0.4 191 .\" dom=B.ROOT-SERVERS.NET ip=128.9.0.107 192 .\" dom=C.ROOT-SERVERS.NET ip=192.33.4.12 193 .\" 194 .\" .EE 195 .\" The last three lines provide a mapping for the 196 .\" server names to their ip addresses. This is only 197 .\" a hint and will be superseded from whatever is learned 198 .\" from servers owning the domain. 199 .\" .PP 200 .\" You can also serve a subtree of the domain name space from the local 201 .\" database. You indicate subtrees that you'ld like to serve by 202 .\" adding an 203 .\" .B soa= 204 .\" attribute to the root entry. 205 .\" For example, the Bell Labs CS research domain is: 206 .\" .EX 207 .\" 208 .\" dom=cs.bell-labs.com soa= 209 .\" refresh=3600 ttl=3600 210 .\" ns=plan9.bell-labs.com 211 .\" ns=ns1.cs.bell-labs.com 212 .\" ns=ns2.cs.bell-labs.com 213 .\" mb=presotto@plan9.bell-labs.com 214 .\" mx=mail.research.bell-labs.com pref=20 215 .\" mx=plan9.bell-labs.com pref=10 216 .\" dnsslave=nslocum.cs.bell-labs.com 217 .\" dnsslave=vex.cs.bell-labs.com 218 .\" 219 .\" .EE 220 .\" Here, the 221 .\" .B mb 222 .\" entry is the mail address of the person responsible for the 223 .\" domain (default 224 .\" .BR postmaster ). 225 .\" The 226 .\" .B mx 227 .\" entries list mail exchangers for the domain name and 228 .\" .B refresh 229 .\" and 230 .\" .B ttl 231 .\" define the area refresh interval and the minimum TTL for 232 .\" records in this domain. 233 .\" The 234 .\" .B dnsslave 235 .\" entries specify slave DNS servers that should be notified 236 .\" when the domain changes. The notification also requires 237 .\" the 238 .\" .B -n 239 .\" flag. 240 .\" .PP 241 .\" You can also serve reverse lookups (returning the name that 242 .\" goes with an IP address) by adding an 243 .\" .B soa= 244 .\" attribute to the entry defining the root of the reverse space. 245 .\" For example, to provide reverse lookup for all addresses in 246 .\" starting with 135.104 you must have a record like: 247 .\" .EX 248 .\" 249 .\" dom=104.135.in-addr.arpa soa= 250 .\" refresh=3600 ttl=3600 251 .\" ns=plan9.bell-labs.com 252 .\" ns=ns1.cs.bell-labs.com 253 .\" ns=ns2.cs.bell-labs.com 254 .\" .EE 255 .\" Notice the form of the reverse address, i.e., it's the bytes of the 256 .\" address range you are serving reversed and with 257 .\" .B .in-addr.arpa 258 .\" appended. This is a standard form for a domain name in an IPv4 PTR record. 259 .\" .PP 260 .\" If such an entry exists in the database, reverse addresses will 261 .\" automaticly be generated from any IP addresses in the database 262 .\" that are under this root. For example 263 .\" .EX 264 .\" 265 .\" dom=ns1.cs.bell-labs.com ip=135.104.1.11 266 .\" .EE 267 .\" will automaticly create both forward and reverse entries for 268 .\" .B ns1.cs.bell-labs.com . 269 .\" Unlike other DNS servers, there's no way to generate 270 .\" inconsistent forward and reverse entries. 271 .\" .PP 272 .\" Delegation of a further subtree to another set of name servers 273 .\" is indicated by an 274 .\" .B soa=delegated 275 .\" attribute. 276 .\" .EX 277 .\" 278 .\" dom=bignose.cs.research.bell-labs.com 279 .\" soa=delegated 280 .\" ns=anna.cs.research.bell-labs.com 281 .\" ns=dj.cs.research.bell-labs.com 282 .\" 283 .\" .EE 284 .\" Nameservers within the delegated domain (as in this example) 285 .\" must have their IP addresses listed elsewhere in 286 .\" .I ndb 287 .\" files. 288 .\" .PP 289 .\" Wild-carded domain names can also be used. 290 .\" For example, to specify a mail forwarder for all Bell Labs research systems: 291 .\" .EX 292 .\" 293 .\" dom=*.research.bell-labs.com 294 .\" mx=research.bell-labs.com 295 .\" 296 .\" .EE 297 .\" `Cname' aliases may be established by adding a 298 .\" .B cname 299 .\" attribute giving the real domain name; 300 .\" the name attached to the 301 .\" .B dom 302 .\" attribute is the alias. 303 .\" `Cname' aliases are severely restricted; 304 .\" the aliases may have no other attributes than 305 .\" .B dom 306 .\" and are daily further restricted in their use by new RFCs. 307 .\" .EX 308 .\" 309 .\" cname=anna.cs.research.bell-labs.com dom=www.cs.research.bell-labs.com 310 .\" 311 .\" .EE 312 .\" .I Ndb/dnsquery 313 .\" can be used to query 314 .\" .I ndb/dns 315 .\" to see how it resolves requests. 316 .\" .I Ndb/dnsquery 317 .\" prompts for commands of the form 318 .\" .IP 319 .\" .I "domain-name request-type" 320 .\" .LP 321 .\" where 322 .\" .I request-type 323 .\" can be 324 .\" .BR ip , 325 .\" .BR mx , 326 .\" .BR ns , 327 .\" .BR cname , 328 .\" .BR ptr .... 329 .\" In the case of the inverse query type, 330 .\" .BR ptr , 331 .\" .I dnsquery 332 .\" will reverse the ip address and tack on the 333 .\" .B .in-addr.arpa 334 .\" for you. 335 .\" .PP 336 .\" .I Ndb/dnsdebug 337 .\" is like 338 .\" .I ndb/dnsquery 339 .\" but bypasses the local server. 340 .\" It communicates via UDP with the domain name servers 341 .\" in the same way that the local resolver would and displays 342 .\" all packets received. 343 .\" The query can be specified on the command line or 344 .\" can be prompted for. 345 .\" The queries look like those of 346 .\" .I ndb/dnsquery 347 .\" with one addition. 348 .\" .I Ndb/dnsdebug 349 .\" can be directed to query a particular name server by 350 .\" the command 351 .\" .BI @ name-server\f1. 352 .\" From that point on, all queries go to that name server 353 .\" rather than being resolved by 354 .\" .IR dnsdebug . 355 .\" The 356 .\" .B @ 357 .\" command returns query resolution to 358 .\" .IR dnsdebug . 359 .\" Finally, any command preceded by a 360 .\" .BI @ name-server 361 .\" sets the name server only for that command. 362 .\" .PP 363 .\" Normally 364 .\" .I dnsdebug 365 .\" uses the 366 .\" .B /net 367 .\" interface and the database file 368 .\" .BR /lib/ndb/local. 369 .\" The 370 .\" .B -x 371 .\" option directs 372 .\" .I dnsdebug 373 .\" to use the 374 .\" .B /net.alt 375 .\" interface and 376 .\" .B /lib/ndb/external 377 .\" file. 378 .\" The 379 .\" .B -r 380 .\" option is the same as for 381 .\" .IR ndb/dns . 382 .PP 383 .I Ndbmkdb 384 is used in concert with 385 .MR awk (1) 386 scripts to convert 387 uucp systems files and IP host files 388 into database files. 389 It is very specific to the situation at Murray Hill. 390 .PP 391 When the database files change underfoot, 392 running programs 393 track them properly. Nonetheless, to keep the database searches efficient 394 it is necessary to run 395 .I ndbmkhash 396 whenever the files are modified. 397 It may be profitable to control this by a frequent 398 .MR cron (8) 399 job. 400 .PP 401 .I Ndbmkhosts 402 generates a BSD style 403 .BR hosts , 404 .BR hosts.txt , 405 and 406 .B hosts.equiv 407 files from ndb data base files specified on the 408 command line (default 409 .B \*9/ndb/local 410 and 411 .BR \*9/ndb/friends ). 412 It only processes hosts whose domain names end in 413 .IR domname . 414 The output files are named 415 .BI db. domname \fR, 416 .BI equiv. domname \fR, 417 and 418 .BI txt. domname \fR. 419 For historical reasons, the default 420 .I domname 421 is 422 .BR research.att.com. 423 .SH EXAMPLE 424 .IP 425 .EX 426 % ndbquery sys helix 427 sys=helix dom=helix.research.bell-labs.com bootf=/mips/9powerboot 428 ip=135.104.117.31 ether=080069020427 429 proto=il 430 .EE 431 .SH FILES 432 .TP 433 .B \*9/ndb/local 434 first database file searched 435 .TP 436 .B \*9/ndb/local.* 437 hash files for 438 .B \*9/ndb/local 439 .SH SOURCE 440 .B \*9/src/cmd/ndb 441 .SH SEE ALSO 442 .MR ndb (3) , 443 .MR ndb (7)