NONAMED.8
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:6k
源码类别:
操作系统开发
开发平台:
C/C++
- NONAMED(8) Minix Programmer's Manual NONAMED(8)
- NAME
- nonamed - not a name daemon, but acts like one
- SYNOPSIS
- nonamed [-d[level]] [-p port] [-n address[/port]]
- DESCRIPTION
- Nonamed is not an Internet name daemon. When started it immediately
- tries to find a real name daemon on the local network. If it finds one
- then it will relay any DNS queries to that name daemon. If it can't find
- one then it will do its best to answer simple queries using the
- /etc/hosts table for name to address translation.
- On startup nonamed broadcasts up to five simple UDP queries on the local
- network. This is a somewhat nasty thing to do, because it makes all name
- servers on the net spring into action to answer the request. The first
- name server to answer is used by nonamed to answer the queries of its
- clients. The broadcast search is repeated after an hour to give another
- name server a chance to be abused. (It is quite normal for a host to use
- a remote name server. The broadcasts are a bit unfriendly, but they only
- happen once an hour.)
- If a real name server is found then nonamed enters "relay mode", passing
- all queries on. In relay mode the daemon cannot be distinguished from a
- real DNS name daemon.
- Nonamed accepts both UDP and TCP queries under Minix-vmd. Under standard
- Minix only UDP queries are accepted. 256 relayed UDP queries can be
- outstanding before it forgets where the first one came from.
- In answer mode nonamed can answer simple DNS queries to translate a host
- name to an IP address, or an IP address to a host name. Suppose
- /etc/hosts looks like this:
- 127.0.0.1 localhost
- 192.9.200.1 darask.home.cs.vu.nl
- 192.9.200.2 burask.home.cs.vu.nl
- Then queries for the host names listed can be answered with the IP
- addresses to the left of them. If the name can't be found then it is
- retried with the domain name stripped of, this is because "localhost" is
- looked up as "localhost.home.cs.vu.nl" in the above example. Reverse
- lookups are answered with the first hostname on the line with the IP
- address.
- UDP queries are immediately answered on startup if the answer can be
- found in the hosts file. Failure answers, and answers to TCP queries are
- delayed until it decides that there are no real name servers out there.
- 1
- NONAMED(8) Minix Programmer's Manual NONAMED(8)
- Nonamed employs several timeouts for efficient operation:
- If five broadcasts, two seconds apart fail to produce a name server on
- startup then it decides that there are no real name servers around.
- After 1 hour it will again look for a name server. (We don't want to hog
- the same one indefinitely.)
- If no UDP reply is seen in four seconds than a simple probe is sent the
- name server. If that doesn't provoke an answer in two seconds then it
- will look for a new name server. A failing TCP connection will also
- invoke a search, the TCP connection is then made to the new name server.
- A client using UDP will retry eventually, a client using TCP will notice
- nothing but a short delay. The daemon drops back into answer mode if the
- search fails and it has a hosts file with a "localhost" entry.
- It waits five minutes for any action on a TCP stream before the
- connection is aborted.
- In answer mode it will generate data with a TTL (time to live) of 1 hour.
- OPTIONS
- The options are only useful when debugging nonamed, although it can be
- very instructive to watch DNS queries being done.
- -d[level]
- Set debugging level to level (a single digit, by default 1.) Debug
- mode 1 makes nonamed decode and display the DNS queries and replies
- that it receives, sends and relays. The decoding only handles the
- common cases. In debug mode 2 it prints tracing information about
- the internal jobs it executes. In debug mode 3 it core dumps when
- an error causes it to exit. The debugging level may also be
- increased by 1 at runtime by sending signal SIGUSR1 or turned off
- (set to 0) with SIGUSR2.
- [-p port]
- Port to use instead of the normal domain port.
- [-n address[/port]]
- Use this IP address and port to find a real name server. It can be
- used to make nonamed relay to another nonamed. (They do not listen
- to broadcasts, of course.) You can run two daemons on one machine
- if you choose a new port number for one of them. You can force
- nonamed out of relay mode by sending it a hangup signal.
- FILES
- 2
- NONAMED(8) Minix Programmer's Manual NONAMED(8)
- /etc/hosts Hosts to address translation table when in answer mode.
- SEE ALSO
- gethostbyname(3), resolver(3), hosts(5), set_net_default(8), boot(8),
- inetd(8), irdpd(8), rarpd(8).
- NOTES
- You can specify a remote name server in /etc/resolv.conf to circumvent
- nonamed. But then you lose its talent for automatically finding new name
- servers when the remote name server becomes unreachable.
- Don't add a "localhost" entry to the hosts file if there are remote name
- servers. It makes nonamed drop back in answer mode on a flaky network.
- BUGS
- If you can get a remote nonamed to listen to your name server then you
- can make it believe anything you want to. You need access to a machine
- on the same subnet of course.
- AUTHOR
- Kees J. Bot (kjb@cs.vu.nl)
- 3