Sendmail & /etc/nsswitch.conf
Posted: Fri Oct 31, 2008 4:25 pm
I was trying to configure the sendmail in a Non-Global Zone (NGZ) but it kept complaining about the Unknow Host.
The relay server for external recipients were wrong and therefore email messages did not get sent.
After troubleshooting for a long time, I realized that I did not have "dns" for hosts: in /etc/nsswitch.conf.
Sendmail tried to resolve (or find) the right relay server and failed, of course.
After adding "dns" for hosts: in /etc/nsswitch.conf, the new sendmail is able to send and receive email messages to and from external mail servers such as Yahoo and Gmail.
With one exception.
I am unable to send email from geminitwins.net to hsiao.net.
Mail log shows:
This is consistent with name server setting.
I was unable to transfer hsiao.net zone to geminitwins.net by the public IP.
However, I was able to transfer the zone via private IP (1.0.0.xxx).
Traceroute shows a similar result.
It reached hsiao.net's public IP at the first hop but it went out again to the neverland.
Adding 1.0.0.238 in /etc/hosts would make tracroute work in one hop.
However, sendmail still can not reach hsiao.net from geminitwins.net.
My guess is this is caused by the problem-prone 2wire gateway router.
It can not route properly and therefore causes numerous network routing problems.
The relay server for external recipients were wrong and therefore email messages did not get sent.
After troubleshooting for a long time, I realized that I did not have "dns" for hosts: in /etc/nsswitch.conf.
Sendmail tried to resolve (or find) the right relay server and failed, of course.
After adding "dns" for hosts: in /etc/nsswitch.conf, the new sendmail is able to send and receive email messages to and from external mail servers such as Yahoo and Gmail.
Code: Select all
hosts: files dns
I am unable to send email from geminitwins.net to hsiao.net.
Mail log shows:
Code: Select all
Oct 31 16:25:12 geminitwins.net sendmail[11163]: [ID 801593 mail.info] m9VN2d1K011150: to=<cah@hsiao.net>, ctladdr=<cah@geminitwins.net> (1001/4), delay=00:22:33, xdelay=00:04:00, mailer=esmtp, pri=120343, relay=ms3.hsiao.net. [99.1.11.225], dsn=4.0.0, stat=Deferred: Connection timed out with ms3.hsiao.net.
I was unable to transfer hsiao.net zone to geminitwins.net by the public IP.
However, I was able to transfer the zone via private IP (1.0.0.xxx).
Code: Select all
zone "hsiao.net"{
type slave;
file "s/db.hsiao.net";
masters { 1.0.0.238; };
};
It reached hsiao.net's public IP at the first hop but it went out again to the neverland.
Adding 1.0.0.238 in /etc/hosts would make tracroute work in one hop.
However, sendmail still can not reach hsiao.net from geminitwins.net.
My guess is this is caused by the problem-prone 2wire gateway router.
It can not route properly and therefore causes numerous network routing problems.