README
上传用户:skhuanbao
上传日期:2007-01-04
资源大小:43k
文件大小:3k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. This is the readme file for smtpproxy-1.1.0
  2. Version 1.1.1
  3. - -----------
  4.   * Added support for multiline server greetings.
  5. Version 1.1.0
  6. - -----------
  7.   * What is smtp.proxy?
  8.     smtp.proxy is an application level gateway for the SMTP protocol
  9.     based on the specification in RFC 821.  It also supports some
  10.     commands that came with later RFCs.  Unlike generic TCP proxys
  11.     smtp.proxy looks into the data streams it forward and watches
  12.     over the protocol.
  13.   * Installation and usage
  14.     smtp.proxy must be started from a superserver like inetd or
  15.     tcpproxy, it can't bind to a port on it's own.  You must at least
  16.     specify the address of the server that will handle the request.
  17.     
  18.     A inetd configuration could be
  19.       smtp  stream  tcp  nowait  nobody  /usr/sbin/tcpd  
  20.         /usr/local/sbin/smtp.proxy mail.domain.com
  21.     The tcpproxy documentation (tcpproxy is a different package) comes
  22.     with configuration samples, but see below.
  23.     smtp.proxy is typically used on an Internet (or intranet) access
  24.     system when SMTP traffic has to be forwarded across that access
  25.     server and IP packet forwarding is not possible.
  26.   * Bi-directional setup
  27.     Consider the case that you have an internal mail server and that
  28.     you use your provider's SMTP server as mail relay.  In between
  29.     sits the access server that has now (a) to forward connections
  30.     from the outside to your local mail server for receiving mails
  31.     and (b) to forward connections from inside to the provider's mail
  32.     relay (sending mail).
  33.     To solve this you have to implement some kind of service selection.
  34.     The simplest solution is to look at the interface on which the
  35.     client connected and to decide in which direction the request
  36.     should be forwarded.  Assuming that 192.168.1.1 is your internal
  37.     IP number and 192.7.100.47 is the external you could use tcpproxy
  38.     with the following configuration:
  39.       port 25
  40.         # connections on the inner side are forwarded to our
  41. # provider
  42. #
  43.         interface 192.168.1.1
  44.   exec /usr/local/sbin/smtp.proxy -s @domain.com smtp.provider.com
  45. # connects on the outer side go to our internal server
  46. #
  47. interface 192.7.100.47
  48.   exec /usr/local/sbin/smtp.proxy -r @domain.com mail.domain.com
  49.     Other solutions could decide the forwarding direction on the client's
  50.     address.
  51.   * Address checking
  52.     smtp.proxy supports (if enabled) some basic address checking, based on
  53.     the sender's or recipient's email address (sample shown above).  These
  54.     restrictors shall implement a simple protection against unallowed
  55.     relay usage.
  56.   * Local mail system
  57.     smtp.proxy can not only forward requests to different machines but also
  58.     to a local SMTP server program that does SMTP on standard input/output.
  59.     The sendmail program is an example for that.  In this mode smtp.proxy
  60.     would simply protect the local mail system against buffer overflow
  61.     attacks.
  62.   * And finally
  63.     Remember that there is no guarantee.  For nothing.  Especially that
  64.     smtp.proxy will protect your server against anything.