old-www/LDP/LG/issue29/tag_sendmail.html

218 lines
8.8 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.1pre6">
<TITLE>The Answer Guy 29: 'sendmail' Log Jams and Capacity Problems</TITLE>
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut ========================================================= -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- =============================================================== -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./index.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1> <BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a><BR>
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
<p><hr><p>
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
align="left" border="0">'<tt>sendmail</tt>' Log Jams and Capacity
Problems</H3>
<h4 align="center">running extra '<tt>sendmail -q</tt>' processes</h4>
<p><strong>From Robert Cotran on 28 Apr 1998
<br><br>
Hi there. You seem to know your stuff about Linux. I've been running
it for two years. I have a little server at home. I was at first
running Slackware, I'm not running RedHat 5.0. Here's my problem. After
a while of running, my <tt>sendmail</tt> jams up. It doesn't let in any
mail and it doesn't send out any queued mail. It's the strangest
thing. And I had the same problem running Slackware. I figured that
RedHat (having more updated programs) would be OK, but it's not. After
a while, any queued messages just stay stuck in the <tt>/var/spool/mqueue</tt>
dir, and incoming connections on port 25 are either REAL slow, or not
possible. After rebooting however, all the queued mail zips out, and
incoming connections are fine again. Sorry to bug you, but I just
figured you might have an idea. Thanks for any help you can give me!
<br><br>
Rob
</strong></p>
<blockquote><img src="../gx/dennis/bbub.gif" width="50" height="28" alt="(!)"
align="left" border="0">
You don't say what sort of volume your trying to bump through
there or what sort of connection you have to the net. So
I'll have to assume the worst.
<br><br>
When I was postmaster/sysadmin of a very high volume site
I found that I needed to occasionally run extra copies of
the command '<tt>sendmail -q</tt>' concurrently to help reduce the
backlog in the queue. This command simply makes '<tt>sendmail</tt>'
to one sweep through its queue (mostly outgoing) and
look for items that are ready for a retry.
<br><br>
'<tt>sendmail</tt>' has locking mechanisms (those <tt>x*</tt> and
<tt>l*</tt> files) to prevent concurrency issues. So this is a
safe procedure.
<br><br>
Typically I find that it's the DNS requests that bog down
the processing, so running a
<a href="http://sunsite.unc.edu/LDP/HOWTO/DNS-HOWTO-3.html"
>caching nameserver</a> on the localhost and making it the primary
entry in your <tt>/etc/resolv.conf</tt> can be a big win.
<br><br>
A trick I've used when a system gets temporarily really
overloaded is to tar/gzip up a bunch of <tt>qf*</tt> and
<tt>df*</tt> file pairs (queue control and data) --- ftp that
to another system and extract them into a new directory. Then I
have that system run several queue run processes in
parallel to the other. This is particularly handy
if the other system has a separate pipe (connection
to the Internet).
<br><br>
In Robert Harker's '<tt>sendmail</tt>' Seminar (which I took
a few months ago) he describe a "requeue" mailer.
This is an advanced technique that he would use to
requeue some mail into a separate, low priority,
queue directory. The idea is to prevent a relatively
small number of messages to sites that are dead or
down, and messages to bogus addresses (from your users'
typos, etc) from clogging things up for the other
70 or 80 percent that could be expedited.
<br><br>
Another thing to seriously consider and investigate
is whether you're site is being used as a spammer's
relay. If your SMTP processing load has suddenly and
drastically increased then you might have had some of
your systems "hijacked" by spammers.
<br><br>
To understand this a little bit of explanation is in order. The
Internet was founded in spirit of co-operation so '<tt>sendmail</tt>'
was designed and configured (for the last 20 years) to accept mail
from anyone, to anyone. It would gladly relay mail at the request
of any MTA (mail transport agent).
<br><br>
This was practical and reasonable --- since mail that
needs multiple hops to get somewhere (say from department
to hub/gateway, to other site's hub, to recipient's
department and thence to recipient's home host) shouldn't
need to carry "authentication" information for every
leg of its journey.
<br><br>
However 'spammers' use this openness to send a few copies
of a message with hundreds or thousands of recipients listed
for each. This allows someone with a 28.8 modem to chew up
thousands of gigabit hours of bandwidth over the entire 'net.
<br><br>
In any event you can find some instructions on how to use
the recent configuration options in '<tt>sendmail</tt>' to prevent
some of this abuse. Look at
<a href="http://www.sendmail.com/">http://www.sendmail.com/</a>
for info on the new 8.9 release which supports a number
of anti-spam features for details. (As you might expect
this site also has lots of other sendmail information as
does the older and now slightly out-of-date
<a href="http://www.sendmail.org/">http://www.sendmail.org/</a>).
Sendmail 8.9 includes support for a <tt>FEATURE</tt> (m4 macro set)
that links you into the "Real-Time Black Hole List"
(<a href="http://maps.vix.com/rbl/">RBL</a>) that is maintained by
Paul Vixie (author of DNS BIND/<tt>named</tt> and of the Vixie
'<tt>cron</tt>' among other things).
<br><br>
Like all sendmail <tt>FEATURE</tt>'s this is optional.
<br><br>
For information information about the RBL look at
<a href="http://maps.vix.com/rbl/">http://maps.vix.com/rbl/</a>
<br><br>
For more information about the fight against spam look at:
<a href="http://www.cauce.org/">http://www.cauce.org/</a>
<br><br>
For the best free support on the net for sendmail related issues
subscribe to the
<a href="news:comp.mail.sendmail">comp.mail.sendmail</a> newsgroup.
</blockquote>
<!--================================================================-->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 29 June 1998</H5>
<P> <hr>
<!--================================================================-->
<p align="center"><table width="95%"><tr align="center">
<td rowspan="4"><A HREF="lg_answer29.html"><IMG
SRC="../gx/dennis/answernew.gif"
ALT="[&nbsp;Answer&nbsp;Guy&nbsp;Index&nbsp;]"i
align="left"></A></td>
</tr><tr align="center">
<!-- begins -->
<td><A HREF="tag_versions.html">versions</A></td>
<td><A HREF="tag_lilo.html">lilo</A></td>
<td><A HREF="tag_virtdom.html">virtdom</a></td>
<td><A HREF="tag_kernel.html">kernel</A></td>
<td><A HREF="tag_winmodem.html">winmodem</a></td>
<td><A HREF="tag_basicmail.html">basicmail</a></td>
<td><A HREF="tag_betterbak.html">betterbak</a></td>
</tr><tr align="center">
<td><A HREF="tag_shadow.html">shadow</a></td>
<td><A HREF="tag_dell.html">dell</a></td>
<td><A HREF="tag_dumbterm.html">dumbterm</a></td>
<td><A HREF="tag_whylinux.html">whylinux</a></td>
<td><A HREF="tag_redhat.html">redhat</a></td>
<td><A HREF="tag_netcard.html">netcard</a></td>
<td><A HREF="tag_macrovir.html">macrovir</a></td>
</tr><tr align="center">
<td><A HREF="tag_newlook.html">newlook</a></td>
<td><A HREF="tag_tacacs.html">tacacs</a></td>
<td><A HREF="tag_sendmail.html">sendmail</a></td>
<td><A HREF="tag_dialdppp.html">dialdppp</a></td>
<td><A HREF="tag_ppp233.html">ppp233</a></td>
<td><A HREF="tag_msmail.html">msmail</a></td>
<td><A HREF="tag_procmail.html">procmail</a></td>
<!-- ends -->
</tr></table>
</P> <hr> <P>
<!--================================================================-->
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif"
ALT="[&nbsp;Table&nbsp;Of&nbsp;Contents&nbsp;]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
ALT="[&nbsp;Front&nbsp;Page&nbsp;]"></A>
<A HREF="lg_bytes29.html"><IMG SRC="../gx/back2.gif"
ALT="[&nbsp;Previous&nbsp;Section&nbsp;]"></A>
<A HREF="./hamilton.html"><IMG SRC="../gx/fwd.gif"
ALT="[&nbsp;Next&nbsp;Section&nbsp;]"></A>
<!--startcut ======================================================= -->
</body>
</html>
<!--endcut ========================================================= -->