Differences between version 3 and previous revision of HowToSendmailUUCP.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Sunday, November 28, 2004 1:05:14 am | by AristotlePagaltzis | Revert |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:07:33 am | by perry | Revert |
@@ -1,477 +1 @@
-
-
-
-
-
-
-
-Sendmail+UUCP HOWTO
-
-
-
-!!!
-Sendmail + UUCP HOWTO
-<address >
-<u >Author:</u > Jamal Hadi Salim (jamal@glcom.com or hadi@cyberus.ca)</address >
-
-
-!
-History:
-
-
-Initial edition July/96: works only with non-bind edition of sendmail
-
-
-
-Oct 01 /96: works with the redhat supplied binary
-
-
-
-Oct 07 /96: added/modified a tip on how to compile non-bind sendmail
-
-
-
-Oct 25 /96: added/modified a tip on how to keep sendmail getHostbyAddr()
-happy via a dummy /etc/hosts entry
-
-
-
-Mar 15 /97: I am amazed at the response/feedback i am receiving so i decided
-to refine this further. Fixed some small errors; added diagram + references.
-
-
-
-Oct 25/97: Htmlise+ add blurb on DNS capable machines
-
-
-
-
-----
-
-
-After finally settling down and properly reading TFM (the Bat Book,
-to be precise) i have solved the Caramilk secret! The steps below have
-been tested with the binary supplied by !RedHat. Perhaps i should send this
-tip to the maintainer of the Sendmail FAQ too since there is absolutely
-no mention of UUCP interworking with sendmail there.
-
-
-!!
-What this Document tries to show you
-How to setup a single machine, reffered to as ''me.com ''in the example,
-with no direct access to the internet to route mail for you via sendmail
-and UUCP to a 'smarter host' eg your ISP.
-Optionally you can configure this machine to feed other machines i.e
-you are their 'smart' host or gateway.
-
-!!
-What this Document does not tell you
-I have been receiving incredible number of questions regarding topics which
-are beyond the focus of this HOWTO. The purpose of this document is not
-to describe them so please try not send me any questions on the following:
-
-
-!
-a) How to setup UUCP.
-Refer to many fine references on this, including:
-
-
-UUCP HOWTO (Vince Skahan, )
-
-
-
-Using and managing UUCP (Ed Ravin et al -- publisher O'reilly) which i
-think is the best authority on UUCP
-
-
-
-Linux Network Administrator Guide (Olaf Kirch)
-
-
-
-!
-b) how to setup DNS.
-Refer to the many fine references on this, including:
-
-
-Caching named mini howto (Nicolai Langfeldt)
-
-
-
-The bat book (Sendmail;Costalles, Allman, Rickert;publisher O'reilly)
-
-
-
-DNS and BIND (Publisher O'reilly)
-
-
-
-TCP/IP Network Administration (Hunt, Craig;Publisher O'reilly)
-
-
-
-Linux Network Administrator Guide (Olaf Kirch)
-
-
-
-sendmail Theory and Practice (Avolio and Vixie; publisher Digital press)
-
-
-
-!
-c) how to setup databases (other than the mailertable) to work with sendmail.
-Refer to the many fine references on this, including:
-
-
-The bat book (Sendmail;Costalles, Allman, Rickert -- publisher O'reilly)
-
-
-
-TCP/IP administration (Publisher O'reilly)
-
-
-
-Sendmail Theory and Practice (Avolio and Vixie; publisher Digital press)
-
-
-
-Docs bundled with sendmail d) how to write or modify rulesets or mailers.
-
-
-
-All the above references in c)
-
-
-
-You can also find help on the following __newsgroups__:
-comp.mail.sendmail
-comp.mail.uucp
-comp.os.linux.networking
-__IRC channels__
-#linux, #unix
-
-----
-
-!!
-THE SETUP
-This is for a system, hypothecally named ''me.com'', whose mail is sent
-out only via UUCP. ''mysmarthost ''is the ISPs hostname as set up in
-the __uucp sys file __and ''me.com ''is the hostname we use or are
-known by in the MX records on the internet.
-''mysmarthost'' hooks to the internet. We really dont care how it
-does it, we just know it knows how to get us there.
-''me.com'', whose setup we describe in the example, feeds sites
-''down.com ''and ''system1.org ''and their subnodes. ''me.com ''connects
-to ''down.com'' via TCP/IP and connects to ''system1.org ''via raw
-UUCP using a phone line.
-The setup description is shown below:
-
- ------------------------
- | |
- | Internet |
- | |
- -----------------------
- |
- | PPP/dedicated line running TCP-IP
- |
- -------------
- | |
- |mysmarthost | Authoritative name server for
- | | *.me.com, *.down.com, *.system1.org
- | |
- --------------
- |
- | UUCP via a phone line receive for
- | system1.org, *.system1.org,*.down.com, down.com
- | as well as me.com and *.me.com
- ------------
- | * ***** * |
- ------------ | * me.com * | ------
- | * * | |
- | | * ***** * | |
- | ------------ |
- |UUCP via phone line | uucp via TCP/IP
- | |
- ----------- -----------
-| | | |
-|system1.org| | down.com |-------
-| | | | |
- ---------- ------------ |
- | |
- | |
- | | LAN: smtp to nodes
- | UUCP phone line
- | |
------------ -------------
-| | | |
-|system1's| | down's |
-|subnodes | | LAN |
-| | ------------
-----------
-
-
-!!
- pre-requisites
-__1)__ If you are already running DNS or have a
-pointer to a DNS server (in your /etc/resolv.conf) and are on a live connection
-to the net then skip this part. You are safe. You dont have to do any 'smart'
-thing skip to __2)__
-If you are on a machine using uucp for mail then you dont really need
-to compile bind/resolv into sendmail;
-
-!
-How to survive name canonicalization on a stand-alone machine with no DNS
-<u >PART I</u >
- If you get a pre-compiled sendmail with BIND in it you can still
-live with it (As is the case with Redhat supplied sendmail).
-
-
-a) Refer to my solution for this based on the m4 file described (my
-favorite). Try to use this option unless you really insist on b) or c)
-below OR
-
-
-b)If you talk to me i could supply you with a non-BIND compiled version
-(8.8.5). Perhaps !RedHat should consider supplying two sendmail binaries
-(like slakware) One with BIND and the other with no BIND. OR
-
-
-c) The quickest solution to get sendmail with no bind is to edit ''src/conf.h''
-lines below to read as i have shown:
-
-
-''# ifndef NAMED_BIND conf.h:# define NAMED_BIND 0 /* use Berkeley
-Internet Domain Server */''
-
-
-<u >PART II</u >:
-Sendmail would however normally insist on doing name look ups to resolve
-the host part using ''gethostbyaddr()'' for each email it sends (even
-if you tell it not to canonify names).
-
-
-a) use an ''RFC1597'' IP address (10...-10.255.255.255, 172.16..-172.31.255.255,
-192.168..-192.168.255.255)
-Edit ''/etc/hosts ''and add the following as a sample for the host
-myhost
-''10...1 myhost.me.com myhost'' or
-b) If you use NIS (and NIS is compiled into sendmail as seems to be
-the case in Redhat. ) make sure the ''/etc/nsswitch.conf ''file contains:
-''hosts: files dns'' and in ''/etc/hosts'' and add the following
-as a sample for the host myhost
[[again using RFC1597 IP addressing scheme
]
-''10...1 myhost.me.com myhost''
-
-
-__NOTE: __---- In both a) and b) above it is critical that you list
-the long (fully qualified) in the /etc/hosts file used. i.e the line should
-read ''10...1 myhost.me.com myhost'' and NOT ''10...1 myhost ''you
-will also need to define the sendmail __$w __macro to hold ''myhost.me.com''
-add the Following line to your ''/etc/sendmail.cf ''after it is
-generated __''Djmyhost.me.com''__ (or you can use __MASQUAREADE_AS(myhost.me.com)__
-in the ''.mc'' below)
-
-
-__NOTE__!!!!! ''myhost'' as a domain name is given as an example;
-you dont have to use it as is. Pick your own hostname if you dont have
-one already.
-
-----____
-
-
-__2)__ Ensure that you have makemap and it is
-capable of supporting hash and or the more common dbm format or even
-btree format (The Redhat version does not support dbm). Makemap is normaly
-distributed with sendmail.
-
-
-
-!
-SETUP (the mc file)
-I) create your .mc file using your favorite editor; i'll call this file
-''my.mc''
-
-
-__a) No DNS -- standalone__
-
-----
-i''nclude(`../m4/cf.m4')''
-''VERSIONID(`me.com's setup with uucp created by xxxx --no dns ')''
-''dnl OSTYPE(linux)''
-''FEATURE(nodns)dnl''
-''FEATURE(nocanonify)dnl''
-''FEATURE(always_add_domain)dnl''
-''FEATURE(mailertable, hash /etc/mailertable)dnl''
-''MAILER(local)dnl''
-''MAILER(smtp)dnl''
-''MAILER(uucp)''
-''define(`SMART_HOST', uucp-dom:mysmarthost)''
-
-----
-
-
-Let's dissect this:
-
-
-''include(`../m4/cf.m4')'' requests for the m4 macro found in ../m4/cf.m4
-to be include to resolve some things
-
-
-
-''VERSIONID(`me.com's setup with uucp created by xxxx')dnl'' This
-is used to distinguish the different versions of .cf file you might end
-up creating.
-
-
-
-''OSTYPE(linux)'' This is used to define/redefine linux specific stuff.
-It is safe to have it
here.
-
-
-
-''FEATURE(nodns)dnl ''This says we dont have a DNS server (so in effect
-we are using uucp only for mail. Sendmail must be compiled not to use bind)
-This is now obsolete. I will let it stay here just in case you use an older
-version of sendmail.
-
-
-
-''FEATURE(nocanonify)dnl ''This says Don't pass addresses to ''$[[ ...
-$]'' for canonification. Normally if you have BIND compiled in sendmail
-would try and expand the alias/IP address to a canonical name using DNS.
-You dont wanna do this if all you have are feeds which connect to you via
-UUCP i.e you are a stand alone.
-
-
-
-''FEATURE(always_add_domain)dnl'' This adds the local domain host name
-even on locally delivered mail Not necessary i just like it; __''This
-might not be a safe feature since spammers, with proper setup conditions,
-can abuse you''__.
-
-me.com is not connected to the net via tcp/ip so it is safe
-
-
-''FEATURE(mailertable, hash /etc/mailertable)dnl'' the file ''/etc/mailertable''
-is going to be a ''hash ''database where we will store routing information
-of certain sites. If you dont have anyone who you feed uucp to then you
-dont need this. More on this later. If you wanted to use the ''dbm ''format
-you would have'' FEATURE(mailertable, dbm /etc/mailertable)dnl ''If
-you wanted to use the ''btree'' format you would have ''FEATURE(mailertable,
-btree /etc/mailertable)dnl''
-
-
-
-''MAILER(local)dnl MAILER(smtp)dnl MAILER(uucp)'' These are the mailers
-we use.
-
-
-
-''define(`SMART_HOST', uucp-dom:mysmarthost) ''Our smart host is our
-ISP who is defined in the uucp __sys__ file as ''system mysmarthost''.
-Any messages that we cant handle (i.e ones for domains or mailers we dont
-understand) will be passed on to our smarthost/ISP to figure out. note
-we use uucp-dom as the uucp mailer. This particular mailer uses smtp
-rewriting rules.
-
-
-
-
-__b) DNS on__
-
-----
-''include(`../m4/cf.m4')''
-''VERSIONID(`me.com's setup with uucp created by xxxx --dns enabled')dnl''
-''OSTYPE(linux)''
-''FEATURE(always_add_domain)dnl''
-''FEATURE(mailertable, hash /etc/mailertable)dnl''
-''MAILER(local)dnl''
-''MAILER(smtp)dnl''
-''MAILER(uucp)''
-''define(`SMART_HOST', uucp-dom:mysmarthost)''
-
-----
-
-
-!
-II) create your sendmail.cf file
-a) backup your old ''/etc/sendmail.cf'' file
-b) overwrite the sendmail.cf with the new one: ''m4 my.mc > /etc/sendmail.cf''
-c) verify that the sendmail.cf file was correctly created based on
-your specifications.
-Some of the gotchas that i came across were: - ''missing uucp-dom
-mailer ''This was because i didnt have the smtp mailer entry. Actually,
-i understand it is important to have it defined before the uucp
-
-
-!
-III) create your /etc/mailertable
-if you dont have uucp sites feeding off you skip this step
-
-
-a) create/edit the file /etc/mailertable
-
-
-sample /etc/mailertable
-
-----
-
-
-''system1.org uucp-dom:system1''
-''.system1.org uucp-dom:system1''
-''down.com uucp-dom:down''
-''up.down.com error: Host is unknown at me.com''
-''.down.com uucp-dom:down''
-''.me.com error: Host unknown at me.com''
-
-----
-
-
-This says anything that is addressed to ''system1.org'' or to ''*.system1.org
-''that we receive will be sent using the ''uucp-dom'' mailer and be
-delivered to ''system1'' (defined in the the uucp __sys __file) in
-other words we are doing the mail routing for ''*.system1.org ; ''similar
-for ''down.com ''and its subnodes except for the additional filtering;
-we bounce back any mail for down's subnode ''up.down.com ''using sendmail's
-built-in ''error ''mailer with the message __''"Host is unknown at
-me.com"''__; This is because we have been asked to do this by the admin
-at ''down.com.'' To bounce unknown subdomains to us we use the last
-line in the mailertable (which is what all unknown nodes default to).
-b) create the database with __makemap__
-
-
-if you use ''hash'':
-''makemap hash /etc/mailertable < /etc/mailertable''
-if you use ''dbm:''
-''makemap dbm /etc/mailertable </etc/mailertable''
-if you use'' btree:''
-''makemap btree /etc/mailertable </etc/mailertable''''''
-
-
-do this every time you change the file.
-''''
-
-!
-IV) restart sendmail
-
-!
-V) test sendmail
-i) sendmail -bv user@destination
-ii) using sendmail -bt and enter various addresses using 3,
-ruleset to see where they end up and the various rulesets and cf walks
-taken.
-
-
-__You are set!__
-
-
-
-----
-
-!
-TODO
-
-
-1) Add info on setting up system down.com (so as to show how to
-take care of those smtp nodes)
-2) Add info on how to setup news to be delivered via UUCP
-(preferably INN). This might require changing the title of the doc
.
+Describe
[HowToSendmailUUCP
] here.