HI folks,
I've an up-to-date CentOS 5.x box on a small intranet (<20 users).
We did a reboot over the weekend and all appears well except that clients on the LAN can no longer send email. Just hangs/times out. No clear identifiers in the /var/log/maillog or /var/log/messages.
We're not setup for ESMTP as it's a closed network and I'm really hoping for a kickstart as to where to look to get this going.
In case it helps, my sendmail.cf file is below.
Thanks in advance. -R
divert(-1)dnl dnl # dnl # This is the sendmail macro config file for m4. If you make changes to dnl # /etc/mail/sendmail.mc, you will need to regenerate the dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is dnl # installed and then performing a dnl # dnl # make -C /etc/mail dnl # include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl dnl # dnl # Do not advertize sendmail version. dnl # dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl dnl # dnl # default logging level is 9, you might want to set it higher to dnl # debug the configuration dnl # dnl define(`confLOG_LEVEL', `9')dnl dnl # dnl # Uncomment and edit the following line if your outgoing mail needs to dnl # be sent out through an external mail server: dnl # dnl # define(`SMART_HOST', `smtp.your.provider')dnl dnl # define(`confDEF_USER_ID', ``8:12'')dnl dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl dnl # dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links dnl # dnl define(`confAUTH_OPTIONS', `A p')dnl dnl # dnl # PLAIN is the preferred plaintext authentication method and used by dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not dnl # guaranteed secure. dnl # Please remember that saslauthd needs to be running for AUTH. dnl # dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl # dnl # Rudimentary information on creating certificates for sendmail TLS: dnl # cd /usr/share/ssl/certs; make sendmail.pem dnl # Complete usage: dnl # make -C /usr/share/ssl/certs usage dnl # dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl dnl # dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's dnl # slapd, which requires the file to be readble by group ldap dnl # dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl dnl # dnl define(`confTO_QUEUEWARN', `4h')dnl dnl define(`confTO_QUEUERETURN', `5d')dnl dnl define(`confQUEUE_LA', `12')dnl dnl define(`confREFUSE_LA', `18')dnl define(`confTO_IDENT', `0')dnl dnl FEATURE(delay_checks)dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl dnl # dnl # The following limits the number of processes sendmail can fork to accept dnl # incoming messages or process its message queues to 20.) sendmail refuses dnl # to accept connections once it has reached its quota of child processes. dnl # dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl dnl # dnl # Limits the number of new connections per second. This caps the overhead dnl # incurred due to forking new sendmail processes. May be useful against dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address dnl # limit would be useful but is not available as an option at this writing.) dnl # dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl dnl # dnl # The -t option will retry delivery if e.g. the user runs over his quota. dnl # FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl dnl # dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment dnl # the following 2 definitions and activate below in the MAILER section the dnl # cyrusv2 mailer. dnl # dnl define(`confLOCAL_MAILER', `cyrusv2')dnl dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl dnl # dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who can't reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl dnl # dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1. dnl # dnl # For this to work your OpenSSL certificates must be configured. dnl # dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl dnl # dnl # The following causes sendmail to additionally listen on the IPv6 loopback dnl # device. Remove the loopback address restriction listen to the network. dnl # dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl dnl # dnl # enable both ipv6 and ipv4 in sendmail: dnl # dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6') dnl # dnl # We strongly recommend not accepting unresolvable domains if you want to dnl # protect yourself from spam. However, the laptop and users on computers dnl # that do not have 24x7 DNS do need this. dnl # FEATURE(`accept_unresolvable_domains')dnl dnl # dnl FEATURE(`relay_based_on_MX')dnl dnl # dnl # Also accept email sent to "localhost.localdomain" as local email. dnl # LOCAL_DOMAIN(`localhost.localdomain')dnl dnl # dnl # The following example makes mail from this host and any additional dnl # specified domains appear to be sent from mydomain.com dnl # dnl MASQUERADE_AS(`mydomain.com')dnl dnl # dnl # masquerade not just the headers, but the envelope as well dnl # dnl FEATURE(masquerade_envelope)dnl dnl # dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well dnl # dnl FEATURE(masquerade_entire_domain)dnl dnl # dnl MASQUERADE_DOMAIN(localhost)dnl dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl dnl MASQUERADE_DOMAIN(mydomain.lan)dnl MAILER(smtp)dnl MAILER(procmail)dnl dnl MAILER(cyrusv2)dnl DAEMON_OPTIONS(`Name=smtp,Modifiers=b')
Ray Leventhal wrote:
HI folks,
I've an up-to-date CentOS 5.x box on a small intranet (<20 users).
We did a reboot over the weekend and all appears well except that clients on the LAN can no longer send email. Just hangs/times out. No clear identifiers in the /var/log/maillog or /var/log/messages.
We're not setup for ESMTP as it's a closed network and I'm really hoping for a kickstart as to where to look to get this going.
In case it helps, my sendmail.cf file is below.
Thanks in advance. -R
<snip> I should add that sendmail is definitely running :). I can telnet to the box on port 25 and get a reply, and "service sendmail status" returns 'running' with at least one pid.
HI,
Check the below things on your server.
1) diskspace
2) mailq
3) netstat -ntlp |grep :25 |grep tcp
4) telnet on port 25 from server as well as from client
5) ps auxxww |grep sendmail
################you should get output like below########################### root 794 0.0 0.0 4320 648 pts/2 S+ 13:13 0:00 grep sendmail root 21186 0.0 0.2 10876 2156 ? Ss May23 0:00 sendmail: accepting connections smmsp 21195 0.0 0.1 8192 1636 ? Ss May23 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue ########################################################################
5) check maillog properly definitely it will throw some messages
6) check /var/log/messages .
Check the maillog otherwise increase the sendmail loglevel in the sendmail.mc file to 10 and restart sendmail.
Line to be changed in sendmail.mc to increase log level.
dnl define(`confLOG_LEVEL', `9')dnl
Regards lingu
On Mon, Jun 9, 2008 at 6:33 PM, Ray Leventhal centos@swhi.net wrote:
HI folks,
I've an up-to-date CentOS 5.x box on a small intranet (<20 users).
We did a reboot over the weekend and all appears well except that clients on the LAN can no longer send email. Just hangs/times out. No clear identifiers in the /var/log/maillog or /var/log/messages.
We're not setup for ESMTP as it's a closed network and I'm really hoping for a kickstart as to where to look to get this going.
In case it helps, my sendmail.cf file is below.
Thanks in advance. -R
divert(-1)dnl dnl # dnl # This is the sendmail macro config file for m4. If you make changes to dnl # /etc/mail/sendmail.mc, you will need to regenerate the dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is dnl # installed and then performing a dnl # dnl # make -C /etc/mail dnl # include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl dnl # dnl # Do not advertize sendmail version. dnl # dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl dnl # dnl # default logging level is 9, you might want to set it higher to dnl # debug the configuration dnl # dnl define(`confLOG_LEVEL', `9')dnl dnl # dnl # Uncomment and edit the following line if your outgoing mail needs to dnl # be sent out through an external mail server: dnl # dnl # define(`SMART_HOST', `smtp.your.provider')dnl dnl # define(`confDEF_USER_ID', ``8:12'')dnl dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl dnl # dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links dnl # dnl define(`confAUTH_OPTIONS', `A p')dnl dnl # dnl # PLAIN is the preferred plaintext authentication method and used by dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not dnl # guaranteed secure. dnl # Please remember that saslauthd needs to be running for AUTH. dnl # dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl # dnl # Rudimentary information on creating certificates for sendmail TLS: dnl # cd /usr/share/ssl/certs; make sendmail.pem dnl # Complete usage: dnl # make -C /usr/share/ssl/certs usage dnl # dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl dnl # dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's dnl # slapd, which requires the file to be readble by group ldap dnl # dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl dnl # dnl define(`confTO_QUEUEWARN', `4h')dnl dnl define(`confTO_QUEUERETURN', `5d')dnl dnl define(`confQUEUE_LA', `12')dnl dnl define(`confREFUSE_LA', `18')dnl define(`confTO_IDENT', `0')dnl dnl FEATURE(delay_checks)dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl dnl # dnl # The following limits the number of processes sendmail can fork to accept dnl # incoming messages or process its message queues to 20.) sendmail refuses dnl # to accept connections once it has reached its quota of child processes. dnl # dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl dnl # dnl # Limits the number of new connections per second. This caps the overhead dnl # incurred due to forking new sendmail processes. May be useful against dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address dnl # limit would be useful but is not available as an option at this writing.) dnl # dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl dnl # dnl # The -t option will retry delivery if e.g. the user runs over his quota. dnl # FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl dnl # dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment dnl # the following 2 definitions and activate below in the MAILER section the dnl # cyrusv2 mailer. dnl # dnl define(`confLOCAL_MAILER', `cyrusv2')dnl dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl dnl # dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who can't reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl dnl # dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1. dnl # dnl # For this to work your OpenSSL certificates must be configured. dnl # dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl dnl # dnl # The following causes sendmail to additionally listen on the IPv6 loopback dnl # device. Remove the loopback address restriction listen to the network. dnl # dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl dnl # dnl # enable both ipv6 and ipv4 in sendmail: dnl # dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6') dnl # dnl # We strongly recommend not accepting unresolvable domains if you want to dnl # protect yourself from spam. However, the laptop and users on computers dnl # that do not have 24x7 DNS do need this. dnl # FEATURE(`accept_unresolvable_domains')dnl dnl # dnl FEATURE(`relay_based_on_MX')dnl dnl # dnl # Also accept email sent to "localhost.localdomain" as local email. dnl # LOCAL_DOMAIN(`localhost.localdomain')dnl dnl # dnl # The following example makes mail from this host and any additional dnl # specified domains appear to be sent from mydomain.com dnl # dnl MASQUERADE_AS(`mydomain.com')dnl dnl # dnl # masquerade not just the headers, but the envelope as well dnl # dnl FEATURE(masquerade_envelope)dnl dnl # dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well dnl # dnl FEATURE(masquerade_entire_domain)dnl dnl # dnl MASQUERADE_DOMAIN(localhost)dnl dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl dnl MASQUERADE_DOMAIN(mydomain.lan)dnl MAILER(smtp)dnl MAILER(procmail)dnl dnl MAILER(cyrusv2)dnl DAEMON_OPTIONS(`Name=smtp,Modifiers=b')
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
lingu wrote: Hi lingu, Thanks for your reply.
Check the below things on your server.
- diskspace
df -h shows 253GB free on the LVM which holds mail
- mailq
mailq says 'mailqueue is empty'
- netstat -ntlp |grep :25 |grep tcp
# netstat -ntlp|grep :25|grep tcp tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 12861/sendmail: acc
- telnet on port 25 from server as well as from client
connects with the following, from either server or lan client: 220 gungho.prvnet ESMTP Sendmail 8.13.8/8.13.8; Mon, 9 Jun 2008 09:27:59 -0400
- ps auxxww |grep sendmail
###############################################
# ps auxwww|grep sendmail root 12861 0.0 0.2 8960 1920 ? Ss 08:42 0:00 sendmail: accepting connections smmsp 12869 0.0 0.1 8012 1484 ? Ss 08:42 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue root 13249 0.0 0.0 3892 688 pts/2 S+ 09:28 0:00 grep sendmail
- check maillog properly definitely it will throw some messages
The only interesting thing here is: Jun 9 09:10:49 gungho sendmail[13074]: m59D9b47013074: lost input channel from [172.16.0.155] to smtp after mail
- check /var/log/messages .
nothing unusual in the messages file.
Check the maillog otherwise increase the sendmail loglevel in the sendmail.mc http://sendmail.mc file to 10 and restart sendmail.
Line to be changed in sendmail.mc http://sendmail.mc to increase log level.
dnl define(`confLOG_LEVEL', `9')dnl
done. I'll re-check logs now as well.
Regards lingu
Thanks for your suggestions. I'll reply with status shortly -Ray
no change in connection to the mail server. clients connect, but time out.
increase in the log level produced lines like this in /var/log/maillog: Jun 9 09:28:51 gungho sendmail[13243]: m59DRxV2013243: gungho [172.16.0.106] did not issue MAIL/EXPN/VRFY/ETRN during connection to smtp
172.16.0.106 is the server address
-Ray
Ray Leventhal wrote on Mon, 09 Jun 2008 09:48:22 -0400:
increase in the log level produced lines like this in /var/log/maillog: Jun 9 09:28:51 gungho sendmail[13243]: m59DRxV2013243: gungho [172.16.0.106] did not issue MAIL/EXPN/VRFY/ETRN during connection to smtp
172.16.0.106 is the server address
so, it's a connection to itself. was this a test to localhost? If not, that hints in the direction of the problem. Maybe you accidentally set the smarthost to itself or so? I'd try a manual connect and walk thru an SMTP conversation and send a mail. Also, clients can produce debug log files, too, even Microsoft products ....
Kai
Kai Schaetzl wrote:
so, it's a connection to itself. was this a test to localhost? If not, that hints in the direction of the problem. Maybe you accidentally set the smarthost to itself or so? I'd try a manual connect and walk thru an SMTP conversation and send a mail. Also, clients can produce debug log files, too, even Microsoft products ....
Kai
Hi Kai,
Thanks for your reply. Yes, that one was a connection to itself...but the msg remains when connecting from a client. My last post must have crossed with yours. It now appears to be nothing more than a server timeout issue which is very strange as this server's load averages are /always/ < .10.
I'm not sure what might have changed since the reboot on Sunday morning....am now looking at what is or is not running against the snapshot taken on Friday night. Do you think it's wise to replace the sendmail.cf and sendmail.mc files from the snapshot (after backing them up, of course)?
-Ray
Ray Leventhal wrote on Mon, 09 Jun 2008 11:42:27 -0400:
Do you think it's wise to replace the sendmail.cf and sendmail.mc files from the snapshot (after backing them up, of course)?
If you did not change the files: no. As I said: go thru a manual send and check *where* the timeout occurs (better: repeat it a few times to be sure it's always in the same phase). The messages in the logs are not very clear about this. If your users have to authenticate before sending this could be a typical point-of-failure where after the reboot the authentication against an external mechanism is somehow hampered. I guess, you do have any spam protection on the machine as you said it's not taking external mail?
Kai
Kai Schaetzl wrote:
Ray Leventhal wrote on Mon, 09 Jun 2008 11:42:27 -0400:
Do you think it's wise to replace the sendmail.cf and sendmail.mc files from the snapshot (after backing them up, of course)?
If you did not change the files: no. As I said: go thru a manual send and check *where* the timeout occurs (better: repeat it a few times to be sure it's always in the same phase). The messages in the logs are not very clear about this. If your users have to authenticate before sending this could be a typical point-of-failure where after the reboot the authentication against an external mechanism is somehow hampered. I guess, you do have any spam protection on the machine as you said it's not taking external mail?
Kai
nothing but vanilla stuff here, for email. no milters, no spam protection...it's a tiny intranet (<20 users). We don't auth on sending at all...and that's what got me puzzled.
I will do as you suggested; I'll telnet from a client-host and do the same. Funny though, when ssh'd into the box, using pine works without hesitation, I guess because I'm already auth'd.
Thanks for your input. -Ray
Ray Leventhal wrote:
HI folks,
I've an up-to-date CentOS 5.x box on a small intranet (<20 users).
We did a reboot over the weekend and all appears well except that clients on the LAN can no longer send email. Just hangs/times out. No clear identifiers in the /var/log/maillog or /var/log/messages.
inserted update: It does appear there's something in /var/log/maillog. I found this entry, repeated a few times for users (now that they're here and using the system).
Jun 9 09:10:49 gungho sendmail[13074]: m59D9b47013074: lost input channel from [172.16.0.155] to smtp after mail
We're not setup for ESMTP as it's a closed network and I'm really hoping for a kickstart as to where to look to get this going.
In case it helps, my sendmail.cf file is below.
Thanks in advance. -R
<snip>
This now seems like a timeout issue. Increasing client-side timeout to
180 seconds gets mail going just fine.
Any ideas on what might be happening since a reboot to cause this change in MTA behaviour would be greatly appreciated.
Regards, -Ray
On Mon, Jun 09, 2008 at 11:34:11AM -0400, Ray Leventhal wrote:
This now seems like a timeout issue. Increasing client-side timeout to
180 seconds gets mail going just fine.
Any ideas on what might be happening since a reboot to cause this change in MTA behaviour would be greatly appreciated.
DNS. It's always DNS :-)
(more accurately, host and IP address resolution).
How long is it taking your server to resolve the IP address into a name? To resolve names into IP addresses? To resolve destination MX records?
<snip>
DNS. It's always DNS :-)
(more accurately, host and IP address resolution).
How long is it taking your server to resolve the IP address into a name? To resolve names into IP addresses? To resolve destination MX records?
Hi Stephen,
While I agree, I'm still a bit stumped. Nothing changed other than a reboot on Sunday afternoon. I do have Friday's rsync snapshot and running diff against the sendmail files (cf/mc) as well as hosts, resolv.conf, etc...all showed no differences.
Thanks, -Ray
On Mon, Jun 09, 2008 at 04:46:47PM -0400, Ray Leventhal wrote:
DNS. It's always DNS :-)
While I agree, I'm still a bit stumped. Nothing changed other than a reboot on Sunday afternoon. I do have Friday's rsync snapshot and running diff against the sendmail files (cf/mc) as well as hosts, resolv.conf, etc...all showed no differences.
Ah, there's where the reboot magic comes in. When you start sendmail it picks up the resolving configuration when you started. If nsswitch.conf or resolv.conf changed _afterwards_ then sendmail may not have noticed.... until you reboot!
Many core configuration files (eg tzdata) has this issue; the relevant libraries load the configuration at start time.
Now I say "may" in the above because if you have nscd then it's very possible to change configurations without restarting daemons if you nudge nscd.
But, for safety, changing name resolving configurations is better followed by daemon restarts or rebooting... just for safety.
on 6-9-2008 6:03 AM Ray Leventhal spake the following:
HI folks,
I've an up-to-date CentOS 5.x box on a small intranet (<20 users).
We did a reboot over the weekend and all appears well except that clients on the LAN can no longer send email. Just hangs/times out. No clear identifiers in the /var/log/maillog or /var/log/messages.
We're not setup for ESMTP as it's a closed network and I'm really hoping for a kickstart as to where to look to get this going.
In case it helps, my sendmail.cf file is below.
Thanks in advance. -R
divert(-1)dnl dnl # dnl # This is the sendmail macro config file for m4. If you make changes to dnl # /etc/mail/sendmail.mc, you will need to regenerate the dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is dnl # installed and then performing a dnl # dnl # make -C /etc/mail dnl # include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for linux')dnl OSTYPE(`linux')dnl dnl # dnl # Do not advertize sendmail version. dnl # dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl dnl # dnl # default logging level is 9, you might want to set it higher to dnl # debug the configuration dnl # dnl define(`confLOG_LEVEL', `9')dnl dnl # dnl # Uncomment and edit the following line if your outgoing mail needs to dnl # be sent out through an external mail server: dnl # dnl # define(`SMART_HOST', `smtp.your.provider')dnl dnl # define(`confDEF_USER_ID', ``8:12'')dnl dnl define(`confAUTO_REBUILD')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST', `True')dnl define(`confDONT_PROBE_INTERFACES', `True')dnl define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl dnl # dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links dnl # dnl define(`confAUTH_OPTIONS', `A p')dnl dnl # dnl # PLAIN is the preferred plaintext authentication method and used by dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not dnl # guaranteed secure. dnl # Please remember that saslauthd needs to be running for AUTH. dnl # dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl # dnl # Rudimentary information on creating certificates for sendmail TLS: dnl # cd /usr/share/ssl/certs; make sendmail.pem dnl # Complete usage: dnl # make -C /usr/share/ssl/certs usage dnl # dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl dnl # dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's dnl # slapd, which requires the file to be readble by group ldap dnl # dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl dnl # dnl define(`confTO_QUEUEWARN', `4h')dnl dnl define(`confTO_QUEUERETURN', `5d')dnl dnl define(`confQUEUE_LA', `12')dnl dnl define(`confREFUSE_LA', `18')dnl define(`confTO_IDENT', `0')dnl dnl FEATURE(delay_checks)dnl FEATURE(`no_default_msa', `dnl')dnl FEATURE(`smrsh', `/usr/sbin/smrsh')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl dnl # dnl # The following limits the number of processes sendmail can fork to accept dnl # incoming messages or process its message queues to 20.) sendmail refuses dnl # to accept connections once it has reached its quota of child processes. dnl # dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl dnl # dnl # Limits the number of new connections per second. This caps the overhead dnl # incurred due to forking new sendmail processes. May be useful against dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address dnl # limit would be useful but is not available as an option at this writing.) dnl # dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl dnl # dnl # The -t option will retry delivery if e.g. the user runs over his quota. dnl # FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl dnl # dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment dnl # the following 2 definitions and activate below in the MAILER section the dnl # cyrusv2 mailer. dnl # dnl define(`confLOCAL_MAILER', `cyrusv2')dnl dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl dnl # dnl # The following causes sendmail to only listen on the IPv4 loopback address dnl # 127.0.0.1 and not on any other network devices. Remove the loopback dnl # address restriction to accept email from the internet or intranet. dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl # dnl # The following causes sendmail to additionally listen to port 587 for dnl # mail from MUAs that authenticate. Roaming users who can't reach their dnl # preferred sendmail daemon due to port 25 being blocked or redirected find dnl # this useful. dnl # dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl dnl # dnl # The following causes sendmail to additionally listen to port 465, but dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1. dnl # dnl # For this to work your OpenSSL certificates must be configured. dnl # dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl dnl # dnl # The following causes sendmail to additionally listen on the IPv6 loopback dnl # device. Remove the loopback address restriction listen to the network. dnl # dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl dnl # dnl # enable both ipv6 and ipv4 in sendmail: dnl # dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6') dnl # dnl # We strongly recommend not accepting unresolvable domains if you want to dnl # protect yourself from spam. However, the laptop and users on computers dnl # that do not have 24x7 DNS do need this. dnl # FEATURE(`accept_unresolvable_domains')dnl dnl # dnl FEATURE(`relay_based_on_MX')dnl dnl # dnl # Also accept email sent to "localhost.localdomain" as local email. dnl # LOCAL_DOMAIN(`localhost.localdomain')dnl dnl # dnl # The following example makes mail from this host and any additional dnl # specified domains appear to be sent from mydomain.com dnl # dnl MASQUERADE_AS(`mydomain.com')dnl dnl # dnl # masquerade not just the headers, but the envelope as well dnl # dnl FEATURE(masquerade_envelope)dnl dnl # dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well dnl # dnl FEATURE(masquerade_entire_domain)dnl dnl # dnl MASQUERADE_DOMAIN(localhost)dnl dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl dnl MASQUERADE_DOMAIN(mydomain.lan)dnl MAILER(smtp)dnl MAILER(procmail)dnl dnl MAILER(cyrusv2)dnl DAEMON_OPTIONS(`Name=smtp,Modifiers=b')
All your Daemon_options (`port... definitions are turned off (dnl). You have effectively told sendmail to not listen to anybody. At a minimum you need "DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')" turned on for local mail to move, or "DAEMON_OPTIONS(`Port=smtp, Name=MTA')" to listen to all interfaces.
<big snip>
All your Daemon_options (`port... definitions are turned off (dnl). You have effectively told sendmail to not listen to anybody. At a minimum you need "DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')" turned on for local mail to move, or "DAEMON_OPTIONS(`Port=smtp, Name=MTA')" to listen to all interfaces.
Hi Scott,
Thanks for your reply.
I had this in the file posted: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
but I"ll change it to
DAEMON_OPTIONS(`Port=smtp, Name=MTA') based on your suggestion.
Thanks, -Ray
on 6-9-2008 1:44 PM Ray Leventhal spake the following:
<big snip> > All your Daemon_options (`port... definitions are turned off (dnl). > You have effectively told sendmail to not listen to anybody. > At a minimum you need "DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, > Name=MTA')" turned on for local mail to move, or > "DAEMON_OPTIONS(`Port=smtp, Name=MTA')" to listen to all interfaces. > Hi Scott,
Thanks for your reply.
I had this in the file posted: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
but I"ll change it to
DAEMON_OPTIONS(`Port=smtp, Name=MTA') based on your suggestion.
Thanks, -Ray
What you posted was the sendmail.mc file. That might not be the options your system was running on if you never actually ran it through the macro processor. As I was looking through the rest of the thread, it looks as if you are not running on the settings in the sendmail.mc file. Do you run webmin on this server, as it will allow you to make changes directly in your sendmail.cf file.
What you posted was the sendmail.mc file. That might not be the options your system was running on if you never actually ran it through the macro processor. As I was looking through the rest of the thread, it looks as if you are not running on the settings in the sendmail.mc file. Do you run webmin on this server, as it will allow you to make changes directly in your sendmail.cf file.
Yes, actually I do use Webmin to manage this server. I made that change you suggested in the webmin interface (sendmail.m4) and rebuilt it from there.
-R
Ray Leventhal wrote on Mon, 09 Jun 2008 17:02:43 -0400:
I made that change you suggested in the webmin interface (sendmail.m4) and rebuilt it from there.
You can m4 rebuild the sendmail.cf from the sendmail section in webmin? I wouldn't be to sure about that. I haven't ever noticed that might be possible (I use webmin only to manage the various sendmail databases, not the configuration). Do you have sendmail-devel installed? Removing the localhost from daemon options won't change anything. It was working before, just with a timeout (which means the settings from this file were not in use!), so sendmail *is* listening on all interfaces already. Now, by recompiling the sendmail.cf from m4/mc files (if that really was done) that you may have never used before you might have introduced more problems. If your sendmail.cf did not change a tiny bit from before the working state then the problem is *not* in sendmail.cf, but somewhere else. And Stephen's hints to DNS and the connection to rebooting make sense to me. Anyway, it cannot be sendmail.cf unless you changed it and didn't restart it after the change. (If you made all changes with webmin then it got restarted each time.)
Kai
Kai Schaetzl wrote:
I made that change you suggested in the webmin interface (sendmail.m4) and rebuilt it from there.
You can m4 rebuild the sendmail.cf from the sendmail section in webmin? I wouldn't be to sure about that. I haven't ever noticed that might be possible (I use webmin only to manage the various sendmail databases, not the configuration). Do you have sendmail-devel installed?
A 'make' is run when the sendmail init script starts that will rebuild sendmail.cf from sendmail.mc if it is newer, and all the databases if their corresponding text file is newer.
Removing the localhost from daemon options won't change anything. It was working before, just with a timeout (which means the settings from this file were not in use!), so sendmail *is* listening on all interfaces already.
A reboot would trigger the rebuild from sendmail.mc. Perhaps it was changed after sendmail was working before. Backups of the files in /etc are always a good thing...
Now, by recompiling the sendmail.cf from m4/mc files (if that really was done) that you may have never used before you might have introduced more problems. If your sendmail.cf did not change a tiny bit from before the working state then the problem is *not* in sendmail.cf, but somewhere else. And Stephen's hints to DNS and the connection to rebooting make sense to me. Anyway, it cannot be sendmail.cf unless you changed it and didn't restart it after the change. (If you made all changes with webmin then it got restarted each time.)
You should be able to tell by the timestamps, but you can easily tell if sendmail is listening by trying to telnet to port 25 from another machine. If it accepts connections, you should be able to diagnose other problems from the /var/log/maillog entries. If it doesn't, check the daemon options and any firewalling you might have.
Les Mikesell wrote on Tue, 10 Jun 2008 07:49:09 -0500:
A 'make' is run when the sendmail init script starts that will rebuild sendmail.cf from sendmail.mc if it is newer, and all the databases if their corresponding text file is newer.
I was aware about the latter, not the former. You are right, it even replaces the sendmail.mc if I rename it. Good to know if it ever gets replaced by an update (I use my own mc file).
A reboot would trigger the rebuild from sendmail.mc. Perhaps it was
changed after sendmail was working before.
The point is that his sendmail.cf from his backup (=before the reboot) and after the reboot are the same. So, this scenario doesn't apply.
Backups of the files in /etc
are always a good thing...
The rebuild creates a backup at sendmail.cf.bak, btw.
You should be able to tell by the timestamps, but you can easily tell if sendmail is listening by trying to telnet to port 25 from another machine.
He already knows that sendmail accepts connections. Maillog is of no help (maybe with a higher log level, I know that you can get even more info with 14). He has to identify the cause of the timeout and the first step is to identify the phase where it happens.
Kai
He already knows that sendmail accepts connections. Maillog is of no help (maybe with a higher log level, I know that you can get even more info with 14). He has to identify the cause of the timeout and the first step is to identify the phase where it happens.
Kai
Hi folks,
Name resolution is, absolutely, the issue. I'll post the resolution once I've figured it out, but something on the LAN must have changed to coincide with this behavioral change in sendmail.
My thanks to all who replied.
Regards, -Ray