CONFIGURING MMDF IN A TCP/IP ENVIRONMENT ---------------------------------------- Christopher Durham The Santa Cruz Operation chrisdu@sco.COM The following document outlines how to configure the (M)ulti-(C)hannel (M)emorandum (D)istribution (F)acility (MMDF) mail system under SCO UNIX Operating System Release 3.2 and SCO Open Desktop, with specific emphasis on the TCP/IP (S)imple (M)ail (T)ransfer (P)rotocol (SMTP) channel. TABLE OF CONTENTS Section I .......................................Introduction & Assumptions Section II .....................Mail in a "know-everyone" TCP/IP environment Section III ..............Mail in a TCP/IP environment with a central gateway Section IV ......Mail in a TCP/IP environment with a gateway to the Internet Section V ..................................................Machine Masking Section VI ............................Troubleshooting & Calling SCO Support Section VII ..............................The Internet, UUNET and UseNet News Section VIII ..............................................Further Information Introduction and Assumptions ---------------------------- As stated above, this document will show, in a step by step manner, how to configure the MMDF mail system in a TCP/IP environment. Several assumptions are made. First, it is assumed that a TCP/IP network is already configured and is working between the systems involved. Secondly, in each section it is assumed that MMDF configuration files are in a default state, and that they have not been modified previously, unless otherwise specified. Most sections will have three subsections: an "Objective:", which will state what is to be accomplished, an "Assumptions:", which will state any additional assumptions, and a "Procedure:", which will outline the steps that need to be taken in order for the "Objective:" to be achieved. Knowledge of UUCP and how to configure it is required for Section IV. Note that it might be necessary to assign a password for the user mmdf on all machines before proceeding past this point, as by default, mmdf does not have a password and hence cannot log into the system. Note that machines running MMDF and machines with other mail systems may coexist in the same network, although those configurations are not covered here. It is important to know the difference between a domain name and a host name. For most machines running SCO TCP/IP, the hostname(ADMN) command produces output similar to: scoke.sco.COM In this output, scoke is the host name, and sco.COM is the domain name. Mail in a "know-everyone" TCP/IP environment -------------------------------------------- Objective: This section will show how to setup MMDF on a network of machines connected with TCP/IP. The machines here are malone, capone, and stroud. The key point here is that all three machines can directly contact the other two machines for exchange of mail. The domain is alcatraz.COM. See section VII for a discussion of domains. The fully qualified domain names of the machines are: malone.alcatraz.COM capone.alcatraz.COM stroud.alcatraz.COM A pictoral representation of this network is: <<---|--------|--------|--->> (Ethernet backbone) | | | malone capone stroud Assumptions: The assumption here is that the TCP/IP network between all three systems is functional. Let us assume that the IP numbers of the three machines are: malone: 192.9.201.1 capone: 192.9.201.2 stroud: 192.9.201.3 Procedure: 1. Login as mmdf on malone. 2. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME malone ; MLOCMACHINE systemid 3. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: malone: malone.alcatraz.COM capone: capone.alcatraz.COM stroud: stroud.alcatraz.COM alcatraz: malone.alcatraz.COM alcatraz.COM: malone.alcatraz.COM 4. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: malone: malone malone.UUCP: malone malone.alcatraz.COM malone 5. Edit /usr/mmdf/table/smtp.chn and make sure the following lines exist: malone.alcatraz.COM: 192.9.201.1 capone.alcatraz.COM: 192.9.201.2 stroud.alcatraz.COM: 192.9.201.3 6. Modify the smtp channel entry in /usr/mmdf/mmdftailor: MCHN smtp, show="SCO SMTP Delivery", que=smtp, tbl=smtpchn, ap=822, pgm=smtp, mod=reg 7. Modify the local channel entry in /usr/mmdf/mmdftailor: MCHN local, show="Local Delivery", que=local, tbl=local, ap=same, pgm=local, mod=reg 8. Make sure the local domain entry in /usr/mmdf/mmdftailor looks as follows: MDMN "alcatraz.COM", show="Local domain", table=locdom 9. Execute: cd /usr/mmdf/table ./dbmbuild 10. Logout of mmdf and login as root. Add the following line to /etc/rc2.d/S88USRDEFINE: /bin/su mmdf -c "/usr/mmdf/bin/deliver -csmtp -b -T60" /bin/su mmdf -c "/usr/mmdf/bin/deliver -clocal -b -T60" 11. Login as mmdf on capone. 12. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME capone ; MLOCMACHINE systemid 13. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: malone: malone.alcatraz.COM capone: capone.alcatraz.COM stroud: stroud.alcatraz.COM alcatraz: capone.alcatraz.COM alcatraz.COM: capone.alcatraz.COM 14. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: capone: capone capone.UUCP: capone capone.alcatraz.COM: capone 15. Repeat steps 5-10 on capone. 16. Login as mmdf on stroud. 17. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME stroud ; MLOCMACHINE systemid 18. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: malone: malone.alcatraz.COM capone: capone.alcatraz.COM stroud: stroud.alcatraz.COM alcatraz: stroud.alcatraz.COM alcatraz.COM: stroud.alcatraz.COM 19. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: stroud: stroud stroud.UUCP: stroud stroud.alcatraz.COM: stroud 20. Repeat steps 5-10 on stroud. 21. Reboot all three systems. MMDF is now configured to send mail among all three systems. Mail should be addressed with Internet style addresses, such as root@stroud, or root@stroud.alcatraz.COM. Mail in a TCP/IP environment with a central gateway --------------------------------------------------- Objective: This section explains how to setup mail between several machines on a TCP/IP ethernet, with only one machine as the mail gateway. In other words, all machines on the ethernet will forward all mail to one machine, which will then distribute the mail to the appropriate destination. A pictoral representation is as follows: alcatraz / \ MMDF MMDF / \ capone stroud This does not in any way prevent capone from contacting malone directly over the ethernet with rlogin, telnet, etc. The purpose of a mail gateway machine is to provide ease of configuration, as will be seen shortly. The machine names are capone, stroud, and alcatraz. Their fully qualified domain names are: capone.alcatraz.COM stroud.alcatraz.COM alcatraz.alcatraz.COM Note that gateway machines often have their name (alcatraz), the same as their domain (alcatraz.COM). Their IP numbers are: capone.alcatraz.COM: 192.9.201.2 stroud.alcatraz.COM: 192.9.201.3 alcatraz.alcatraz.COM: 192.9.201.4 Assumptions: This section assumes that you have read and understood Section II. Although similar machine names are used, this section is mutually exclusive from Section II, and hence any configuration files at this point are considered to be in a default, newly installed state. Procedure: 1. Login as mmdf on capone. 2. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME capone ; MLOCMACHINE systemid 3. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: capone: capone.alcatraz.COM alcatraz: alcatraz.alcatraz.COM alcatraz.COM: alcatraz.alcatraz.COM 4. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: capone: capone capone.UUCP: capone capone.alcatraz.COM capone 5. Edit /usr/mmdf/table/smtp.chn and make sure the following lines exist: capone.alcatraz.COM: 192.9.201.2 alcatraz.alcatraz.COM: 192.9.201.4 6. Modify the smtp channel entry in /usr/mmdf/mmdftailor: MCHN smtp, show="SCO SMTP Delivery", que=smtp, tbl=smtpchn, ap=822, pgm=smtp, mod=reg 7. Modify (and uncomment) the badhosts channel entry in /usr/mmdf/mmdftailor: MCHN badhosts, show="Last-Chance Routing", que=badhosts, tbl=smtpchn, ap=822, pgm=smtp, mod=reg, host=alcatraz.alcatraz.COM This will forward any mail not recognized locally to alcatraz.alcatraz.COM. 8. Modify the local channel entry in /usr/mmdf/mmdftailor: MCHN local, show="Local Delivery", que=local, tbl=local, ap=same, pgm=local, mod=reg 9. Make sure the local domain entry in /usr/mmdf/mmdftailor looks as follows: MDMN "alcatraz.COM", show="Local domain", table=locdom 10. Execute: cd /usr/mmdf/table ./dbmbuild 11. Execute: mkdir /usr/spool/mmdf/lock/home/q.badhosts. The directory should have owner and group mmdf. 12. Logout from mmdf and login as root. Add the following line to /etc/rc2.d/S88USRDEFINE: /bin/su mmdf -c "/usr/mmdf/bin/deliver -csmtp -b -T60" /bin/su mmdf -c "/usr/mmdf/bin/deliver -clocal -b -T60" /bin/su mmdf -c "/usr/mmdf/bin/deliver -cbadhosts -b -T60" 13. Login as mmdf on stroud. 14. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME stroud ; MLOCMACHINE systemid 15. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: stroud: stroud.alcatraz.COM alcatraz: alcatraz.alcatraz.COM alcatraz.COM: alcatraz.alcatraz.COM 16. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: stroud: stroud stroud.UUCP: stroud stroud.alcatraz.COM stroud 17. Edit /usr/mmdf/table/smtp.chn and make sure the following lines exist: stroud.alcatraz.COM: 192.9.201.3 alcatraz.alcatraz.COM: 192.9.201.4 18. Repeat steps 6-12 on stroud. 19. Login as mmdf on alcatraz. 20. Make sure the following lines exist in /usr/mmdf/mmdftailor: MLDOMAIN alcatraz.COM MLNAME alcatraz ; MLOCMACHINE systemid 21. Edit /usr/mmdf/table/local.dom and make sure the following lines exist: capone: capone.alcatraz.COM stroud: stroud.alcatraz.COM alcatraz: alcatraz.alcatraz.COM alcatraz.COM: alcatraz.alcatraz.COM 22. Edit /usr/mmdf/table/local.chn and make sure the following lines exist: alcatraz: alcatraz alcatraz.UUCP: alcatraz alcatraz.alcatraz.COM: alcatraz 17. Edit /usr/mmdf/table/smtp.chn and make sure the following lines exist: capone.alcatraz.COM: 192.9.201.2 stroud.alcatraz.COM: 192.9.201.3 alcatraz.alcatraz.COM: 192.9.201.4 18. Modify the smtp channel entry in /usr/mmdf/mmdftailor: MCHN smtp, show="SCO SMTP Delivery", que=smtp, tbl=smtpchn, ap=822, pgm=smtp, mod=reg 19. Modify the local channel entry in /usr/mmdf/mmdftailor: MCHN local, show="Local Delivery", que=local, tbl=local, ap=same, pgm=local, mod=reg 9. Make sure the local domain entry in /usr/mmdf/mmdftailor looks as follows: MDMN "alcatraz.COM", show="Local domain", table=locdom 10. Execute: cd /usr/mmdf/table ./dbmbuild 12. Logout from mmdf and login as root. Add the following line to /etc/rc2.d/S88USRDEFINE: /bin/su mmdf -c "/usr/mmdf/bin/deliver -csmtp -b -T60" /bin/su mmdf -c "/usr/mmdf/bin/deliver -clocal -b -T60" 13. Reboot all three machines. MMDF is now configured on all three machines so that capone and stroud will forward all unrecognized local mail to alcatraz, which knows about both machines. A closer look at the gateway setup shows that if we were to add another machine called malone, to the network, we would only have to setup malone and change the setup on alcatraz, as opposed to Section II, where we would have to reconfigure every system on the network. alcatraz.alcatraz.COM | | | capone stroud malone As in former cases, mail should be addressed as: root@stroud or root@stroud.alcatraz.COM. Mail in a TCP/IP environment with a gateway to the Internet via UUCP --------------------------------------------------------------------- Objective: This section will show how to setup a gateway to the Internet from a TCP/IP based network. We will connect to the Internet via a machine called uunet.UU.NET, and we will connect to uunet.UU.NET with UUCP. Assumption: The setup here is an extension of the setup in Section III. Hence all configuration files are currently assumed to be setup to satisfy Section III. Hence the pictoral representation is also an extension of Section III's representation: uunet | (UUCP) | alcatraz.alcatraz.COM | | | | capone.alcatraz.COM stroud.alcatraz.COM Procedure: 1. Because we are assuming the setup in Section III, the only machine we have to change is alcatraz.alcatraz.COM. Login as mmdf on alcatraz. 2. Edit /usr/mmdf/table/root.dom and make sure the following line exists: uunet.UU.NET: uunet.UU.NET 3. Edit /usr/mmdf/table/uucp.dom and make sure the following line exists: uunet: uunet.UUCP 4. Edit /usr/mmdf/table/uucp.chn and make sure the following lines exist: uunet.UUCP: uunet!%s uunet.UU.NET: uunet!%s 5. Edit /usr/mmdf/mmdftailor and make sure the following lines exist: MLDOMAIN alcatraz.COM MLNAME alcatraz ; MLOCMACHINE systemid UUname alcatraz UUXSTR "uux -" 6. Modify (and uncomment) the badhosts entry in /usr/mmdf/mmdftailor: MCHN badhosts, show="Last-Chance Routing", que=badhosts, tbl=uuchn, ap=822, pgm=uucp, mod=reg, host=uunet.UU.NET This will forward any mail not recognized locally to uunet.UU.NET. 7. Execute: mkdir /usr/spool/mmdf/lock/home/q.badhosts The new directory should have an owner and group of mmdf. 8. Execute: cd /usr/mmdf/table ./dbmbuild 9. Logout of mmdf and login as root. Add the following lines to /etc/rc2.d/S88USRDEFINE: /bin/su mmdf -c "/usr/mmdf/bin/deliver -cbadhosts -T60 -b" /bin/su mmdf -c "/usr/mmdf/bin/deliver -cuucp -T60 -b" 10. Reboot the system. MMDF is now configured to route all unrecognized mail originating in domain alcatraz.COM to uunet.UU.NET. Internet style addressing should be used to address mail. Machine Masking --------------- In the following configuration: uunet.UU.NET | alcatraz.alcatraz.COM / \ / \ capone.alcatraz.COM stroud.alcatraz.COM a system administrator may wish to have mail leaving alcatraz.alcatraz.COM be addressed as user@alcatraz.COM, no matter which machine the mail came from originally, capone or stroud. This hides the fact that there are several machines within the domain alcatraz.COM. To do this, edit each machine's /usr/mmdf/mmdftailor file and use the MLOCMACHINE entry: MLDOMAIN COM MLNAME alcatraz MLOCMACHINE alcatraz ^ here we would use alcatraz, stroud, or capone With this setup, mail leaving each of these machines will have a From: line of: From: user@alcatraz.COM instead of: From: user@.alcatraz.COM where is alcatraz, capone, or stroud. With machine masking, the notion of "home machines", must be maintained. For example, suppose the site alcatraz has 6 users: birdman bugsey alc therock fedpen warden We need to pick "home machines" for each of these users, where they will read their mail. users home machines ----- ------------- birdman,therock stroud.alcatraz.COM bugsey,fedpen alcatraz.alcatraz.COM alc,warden capone.alcatraz.COM To do this, the file, /usr/mmdf/table/alias.user, needs to be maintained on each machine. This file will be the same on each machine, and should look as follows: birdman: birdman@stroud.alcatraz.COM therock: therock@stroud.alcatraz.COM bugsey: bugsey@alcatraz.alcatraz.COM fedpen: fedpen@alcatraz.alcatraz.COM alc: alc@capone.alcatraz.COM warden: warden@capone.alcatraz.COM All changes to this file should be done while logged in as mmdf. Make sure that there exists a line in /usr/mmdf/mmdftailor which reads: MTBL auser, file="alias.user", show="User alias" and a line that reads: ALIAS table=auser After the changes are made, change directories to /usr/mmdf/table and run: ./dbmbuild while logged in as mmdf. These changes should be done on each machine in the network, so that mail being responded to will arrive at the proper machine. Troubleshooting and Calling SCO Support --------------------------------------- Before calling SCO Support with a problem about MMDF, please take the following steps to diagnose the problem. 1. Does the underlying network work? Can you ping(ADMN) each of the machines? Can you telnet(ADMN) and/or rlogin(ADMN) to the remote system? If you are setting up MMDF over a UUCP connection, can you use the uucp(C) command to transfer files between the systems? 2. When logged in as mmdf, note the output of the command: /usr/mmdf/bin/checkaddr
where
is the address to which you intend to send mail. 3. If you get output other than OK from the above command, recheck the files in /usr/mmdf/table for accuracy. Make sure the command ./dbmbuild is run when logged in as mmdf and the directory is /usr/mmdf/table. 4. If you need to call SCO Support, be sure to have the following files ready when speaking with an engineer: /usr/mmdf/mmdftailor /usr/mmdf/table/*.chn /usr/mmdf/table/*.dom /usr/mmdf/log/*.log We also recommend that you be in front of the machine having the problem when speaking to an engineer, in order to try suggestions we may have. The Internet, UUNET, and UseNet News ------------------------------------ The Internet is a world-wide network of computers that allow the mutual exchange of mail, files, and remote logins. Machines on the Internet are grouped according to domains. Domains are administrative groupings of machines. There are several types of top-level domains, including: EDU educational institutions COM commercial institutions GOV government institutions MIL military institutions A domain is usually defined as .. Hence, machines at The Santa Cruz Operation have a domain of sco.COM. Machines in a domain have "fully-qualified domain names" of: .. Hence the machine scotch at The Santa Cruz Operation has a "fully-qualified domain name" of: scotch.sco.COM All machines and groups of machines that have a connection to the Internet should be assigned a domain to prevent duplication of names on the network. To apply for a domain name, and to get more information about the Internet, contact: DDN Network Information Center SRI International 333 Ravenswood Avenue, Room EJ291 Menlo Park, CA 94025, USA Phone: 1-800-235-3155 --------------------- uunet.UU.NET is a machine on the Internet which provides access to the Internet for mail. UUNET also provides access to UseNet News, a discussion oriented forum for a variety of topics that reaches thousands of sites worldwide. Contact: UUNET Administration Location: Fairfax, Virginia Business Hours: 9:00 to 18:00, Eastern Time Subscription Number: (703) 876 - 5050 SCO provides Support Level Supplement unx194, a pre-compiled version of the UseNet News Software. Contact SCO Customer Service at (800) 347-4381 to obtain a copy. SCO does not endorse UUNET or DDN. We provide this information only as a service. Further Information ------------------- For information on configuring MMDF in a UUCP environment, see the SCO Support Document entitled: "Configuring MMDF in a UUCP environment". Also, for a better understanding of MMDF, see: SCO UNIX System V/386 Operating System System Administrator's Guide: Chapter 21, Setting Up Electronic Mail This is available with SCO UNIX System V/386 Release 3.2 version II.