jrac@planet.bt.co.uk (03/02/89)
I am having some trouble with uksendmail (V2.1) in a multihost site - I'm not sure whether my configuration or my understanding of host hiding is at fault. We have an NRS registered site name `planet.bt.co.uk', behind which a number of machines (workstations, development machines, general purpose minis etc) are hidden. It is impractical for us to maintain a list of machines in the local domain on every slave. We therefore route all mail for the local domain (but not for the local host) through a server which holds the full list of hosts and user aliases. This scenario is very similar to that given in the examples, so we based our tables on the cs.glasgow ones. The only significant difference was that we tried to put a wildcard entry in the local channel table: %s.planet.bt.co.uk local_gateway I assume (are these reasonable?) the following interpretations for local domain addresses used on the slave machine: 1 user Local delivery 2 user@localhost Ditto 3 user@localhost.planet.bt.co.uk Ditto 4 user@planet Via server to preferred host 5 user@planet.bt.co.uk Ditto 6 user@otherhost Via server to specified host 7 user@otherhost.planet.bt.co.uk Ditto Addresses 1,3,4 and 6 work as expected. Address 2 is not recognised as local unless LHOST is included in the local channel table - otherwise it goes out via the server. Address 5 is stripped unconditionally in ruleset 0 and delivered locally. Address 7 was intended to be caught by the wildcard; unfortunately all wildcard entries are appended to ruleset 16, and the address is rejected by ruleset 17 before the match can occur. The result is <Error: Local Domain Unknown>. My interpretations seem to be shared by the majority of the users on site, so if they are wrong my life is going to become very difficult. I have hacked the sendmail.cf by hand to achieve the desired behaviour, but I would be interested to know whether uksendmail can (should?) handle this set-up without such intervention. Have I done something wrong? If anyone can shed some light - many thanks. ------------------------- James Collier jrac@planet.bt.co.uk Colonial Services Ltd., c/o Group RT5111, BT Research Labs., Martlesham Heath, Ipswich, Suffolk IP5 7RE, United Kingdom. Office: +44 473 64 6778/2870 (was james@cantuar.{uucp,ac.nz})
jac@doc.ic.ac.uk (Jim Crammond) (03/03/89)
The local channel table specifies which addresses are local *to this host*. So obviously user@otherhost[.domain] are not dealt with here, but rather in the channel table which routes mail to the mail server (e.g. ether.chn). Host hiding involves every machine being able to route mail for all users in general domain via the aliases file. You say it is impractical for you to maintain such a list on every slave. Well, there are two ways to avoid this: (a) use yellow pages for the aliases (b) use nfs to enable sharing of /usr/lib/aliases* Now let us assume that neither of these options of available to you; maybe you have a hetrogeneous network with system V things etc. In that case it sounds like you do not want host hiding using the multihost feature. Instead, you nominate your mail machine to treat "planet.bt.co.uk" as local where you have the main aliases file. It can also have as its "official" domain name "<machine>.planet.bt.co.uk" if mail machine is not called planet. Slaves are given the domain name LHOST.planet.bt.co.uk. In both cases do not define multihost. Instead specify that the domain name used on outgoing channel(s) is planet.bt.co.uk. This is the key trick. In the config file you give ldomain="planet.bt.co.uk" in the outgoing channel specifications. In the local channel table you specify LHOST.planet.bt.co.uk and in ether (or whatever) channel table you specify planet.bt.co.uk mail_machine The effect is basically what you were after - all mail goes through a central machine where the aliases database is kept - with the exception of mail sent to "user" or "user@localhost". -Jim.
taylor@cs.glasgow.ac.uk (Jem Taylor) (03/04/89)
We have an NRS registered site name `planet.bt.co.uk', behind which a number of machines (workstations, development machines, general purpose minis etc) are hidden. It is impractical for us to maintain a list of machines in the local domain on every slave. We therefore Hmmm. we have about 100 names allocated; not all of them represent real machines at any one time. We have pre-allocated internet numbers and everything else for all these names, and put that standard set on all hosts, so, no maintainance problems. In fact we only have about 30 workstations, hosts etc at any time, plus dozens of other network devices such as terminal concentrators, gateways to Appletalk nets, etc.. route all mail for the local domain (but not for the local host) through a server which holds the full list of hosts and user aliases. This scenario is very similar to that given in the examples, so we based our tables on the cs.glasgow ones. The only significant difference was that we tried to put a wildcard entry in the local channel table: %s.planet.bt.co.uk local_gateway If local_gateway is across the ethernet, this entry should be in the ether channel table ... I assume (are these reasonable?) the following interpretations for local domain addresses used on the slave machine: 1 user Local delivery 2 user@localhost Ditto 3 user@localhost.planet.bt.co.uk Ditto 4 user@planet Via server to preferred host 5 user@planet.bt.co.uk Ditto 6 user@otherhost Via server to specified host 7 user@otherhost.planet.bt.co.uk Ditto Addresses 1,3,4 and 6 work as expected. Address 2 is not recognised as local unless LHOST is included in the local channel table - otherwise it goes out via the server. This is the expected behaviour ... Address 5 is stripped unconditionally in ruleset 0 and delivered locally. This is also as expected - all users in the local DOMAIN must be in the alias file if they do not get mail on the local HOST. If you have problems keeping your Alias databse up to date, fetch the request sources; topic aliases package from info-server@uk.ac.gla.cs Address 7 was intended to be caught by the wildcard; unfortunately all wildcard entries are appended to ruleset 16, and the address is rejected by ruleset 17 before the match can occur. The result is <Error: Local Domain Unknown>. The 'slave' example in the distribution would send this to the 'master'. What particular rule in S17 is rejecting it ? Is it a rule generated from the wildcard entry in local.chn above, which should be in ether.chn ? My interpretations seem to be shared by the majority of the users on site, so if they are wrong my life is going to become very difficult. I have hacked the sendmail.cf by hand to achieve the desired behaviour, What did you do to it ? but I would be interested to know whether uksendmail can (should?) handle this set-up without such intervention. Have I done something wrong? If anyone can shed some light - many thanks. The documentation fails to point out that the order of entries in the config.site file is significant; you can re-arrange these lines to get wildcards into the correct order to avoid file1 ----- uk.%s relay1 file2 ----- uk.ac.%s relay2 and so forth. -jem.