A few days ago the following message starting appearing in the log file on
our mailhost:
Apr 22 12:41:20 chatter sendmail[7009]: gethostbyaddr() failed
Obviously, sendmail is having difficulty resolving the address of some host.
My question is, how can I determine which host sendmail is complaining about
or why it is generating this message. We are running NIS and all of the NIS
maps seem to be intact (ypwhich -m). The machine is a SPARC 5 running
Solaris 2.4.
********************************************************************************
The problem was that the mailhost had an interface configured with an I.P.
address that did not map back to a hostname. Performing an "ifconfig -a"
revealed the offending interface. To correct the problem I used the
following command:
ifconfig <interface> unplumb
ex. ifconfig ipd0 unplumb
Doing "ifconfig -a" again shows that interface ipd0 has been removed.
A special thanks goes to the following individuals:
Anne Kilarjian <anne@CS.SunySB.EDU>
Stephen Harris <sweh@mpn.com>
Casper Dik <casper@holland.Sun.COM>
Michael Kohne <mhkohne@moberg.com>
sanjays@netcom.com (Sanjay Srivastava)
"Raju (netinc)" <NETINC.IN.ORACLE.COM.ofcmail@in.oracle.com>
Thanks also to those that will resond after I post this summary.
Below are two of the most informative responses I received and I thought
some of you may appreciate the information.
>From Anne Kilarjian:
The machine "chatter" in your example has an interface configured
with an IP address that does not map back to a hostname. Do an
ifconfig -a and check that each and every interface's IP address
also has the reverse DNS mapping set up. Especially check that
any virtual interfaces are mapped in both directions, and check
too for any non-used interfaces that show up in ifconfig with an
IP address of 0.0.0.0. In any case the mail will get through to
its destination (its not the destination the Sun is complaining
about) but the messages can be annoying.
>From Stephen Harris:
It's your own host.
When sendmail starts (remember, a copy is started for every mail message sent)
it looks at _all_ IP addresses on _all_ interfaces (including multiple IP
addresses on the same interface - eg le0:1) and does a lookup on that. Which
means you must be able to do a reverse lookup on all the IP addresses and
get a hostname.
If it can not, then it will *warn* you they gethostbyaddr() failed. It's
just a warning....
****************************************************************
Leo Crombach
System and Network Administrator
Tropel Corporation
60 O'Connor Road
Fairport, New York 14450
(716)388-3566
lcrombach@tropel.com
****************************************************************