If your site is connected to the Internet, you can use the nslookup(1) program to interactively find MX and other records. To run nslookup, just type its name:
%nslookup
Note that you may have to give the full pathname. Under SunOS, nslookup lives in the /usr/etc directory; under Ultrix, in /usr/ucb; and under HP-UX, in /usr/bin.
Once nslookup is running, it prints the name of your default name server
and the IP address for that machine, then a >
character as a prompt and awaits input:
Server: Your.Main.Server Address: 123.45.67.8 >
To tell nslookup to look up only MX records, [14] use the set command:
[14] Beginning with V8.7 sendmail, you can also use the
/mx
command in-bt
rule-testing mode (see Section 38.5.2, "Look Up MX Records with /mx") to look up MX records.
>set type=mx
>
Now look up some real hosts and domains. First look up the domain sendmail.org by entering its name at the prompt:
>sendmail.org.
Note the trailing dot that tells nslookup(1) that the local, default domain should not be appended prior to the lookup. The output produced by the above lookup looks like this:
>sendmail.org.
Server: Address: 123.45.67.8 sendmail.org preference = 20, mail exchanger = mail1.reference.com sendmail.org preference = 30, mail exchanger = mail2.reference.com sendmail.org preference = 10, mail exchanger = knecht.oxford.reference.com mail1.reference.com inet address = 206.171.3.24 mail2.reference.com inet address = 128.102.240.18 knecht.oxford.reference.com inet address = 204.247.98.2 >
The first two lines again show the name and IP address of the
local DNS server. The next three lines show that
the domain sendmail.org
has three MX
records. Mail addressed to that domain is sent
to the machine with the lowest preference (cost), which happens to
be knecht.oxford.reference.com
.
[15]
If that machine is down (or not accepting mail), the message
is sent to the machine with the next higher cost,
mail1.reference.com
. The last three lines show
the IP addresses (A records) for those machines.
[15] Note that case is not significant in domain names; all of the following are the same:
org
,OrG
,ORG
.
Now look up a real UUCP host, lady. Enter its name as if it were a part of the icsi.berkeley.edu domain:
>lady.icsi.berkeley.edu.
The output produced shows that lady has an MX record:
lady.icsi.berkeley.edu preference = 5, mail exchanger = icsib.ICSI.Berkeley.EDU icsib.ICSI.Berkeley.EDU inet address = 128.32.201.15 >
Mail sent to lady.icsi.berkeley.edu
is instead delivered to the
machine named icsib.ICSI.Berkeley.EDU
, which in turn forwards
that mail over a dial-up line to the UUCP host lady.
Machines that have MX records do not necessarily have A records. The host lady is such a machine. You tell nslookup(1) to look up an A record with the set command:
>set type=a
>lady.berkeley.edu.
*** No address information available for lady.berkeley.edu.
The nslookup(1) program is a useful tool for performing
all the same lookups that are done by sendmail. Each type of lookup
corresponds to a set type
. The list of some available
nslookup(1) types is shown in
Table 21.1.
Type | Description |
---|---|
a | IP address |
cname | Canonical name for an alias |
hinfo | Host CPU and operating system type |
mx | Mail exchanger records |
ns | Name server record |
any | Union of all records |
To exit nslookup(1), just type exit
(or Control-D if that fails).