Copyright, License, and Disclaimer
Configuring UUCP-over-TCP: A Practical, Skeletal "How To"
Copyright (C) 1999-2004 James S. Seymour
This information is free; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This work is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You may have received a copy of the GNU General Public License
along with this work; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
An on-line copy of the GNU General Public License can be found
here.
Configuring UUCP-over-TCP: Overview
Assumptions
. Unix or "Unix-like" operating system
. The reader has at least a working knowledge of UUCP and of
TCP/IP Networking principles.
. HDB UUCP, or Taylor UUCP running in "HDB-style". See Notes,
below.
. It is known how to do MTA (i.e.: sendmail, smail, postfix,
etc.) routing/transport configuration. (Which is beyond the
scope of these documents.)
Introduction
These documents describe configurations suitable for allowing an
ISP to queue email for delivery to a customer site, and a customer
site to queue outgoing email for further transport by the ISP,
using UUCP over TCP.
The advantage to this mechanism, from the customer's perspective,
is that the customer does not need a static IP address.
The configurations developed and tested as described in these
documents were executed on Sun Sparc Solaris 2.4 and Solaris 7
systems with native UUCP, and a Red Hat 5.0 Linux system running
Taylor UUCP built for "HDB style". Postfix was used
for an MTA on the Solaris boxes. The Linux box was exercised
with Smail, Sendmail and Postfix MTAs.
In the following descriptions, the ISP's host is referred to as
the "server" and the customer's host as the "client".
Server Side Configuration
A Short Summary:
. First Time Only
. Make sure /etc/services has "uucp" entries
. Start-up/Enable UUCP "Listener" service
. Create TCP "Devices" Entry (optional?)
. Figure out MTA routing/transport requirements
. Per-Account
. Create client host account
. /etc/passwd, /etc/shadow
. /etc/uucp/passwd
. Create UUCP configs
. Permissions
. Systems
. Add/configure client routing/transport in MTA
Client Side Configuration
A Short Summary:
. Make sure /etc/services has "uucp" entries
. Start-up/Enable UUCP "Listener" service (optional?)
. Create TCP Devices Entry
. Figure-out MTA routing/transport requirements
. Create server host account (optional?)
. /etc/passwd, /etc/shadow
. /etc/uucp/passwd
. Create UUCP configs
. Permissions
. Systems
. Add/configure server routing/transport in MTA.
(I.e.: "smart-/default-host", "smartuser",
"relayhost", etc.)
Security and Abuse Issues
Discussion of security concerns, bug-induced exploits and
abuse potential.
Testing & Reliability
How UUCP-over-TCP queuing and delivery works, in action.
Notes
. There are steps in both the server-side and client-side
configs noted to be "optional". These steps are necessary
only if the server system will *initiate* UUCP
conversations with the client system. Since the whole
point of the exercise is to provide a connection for
clients with dynamic IP address assignments--so the
server won't be able to look up the client machine anyway--
there's little point. These steps are included for
completeness.
. Adaptation to "native Taylor" UUCP and to "old
style" UUCP would be fairly straight-forward. The TCP
device must be supported in any event.
. On my RedHat Linux box, Taylor UUCP was persuaded to run
"HDB-style" by making sure that /etc/uucp/ was cleared
except for the password file (mentioned elsewhere) and a
subdirectory named "oldconfig" - which contained the
standard HDB files such as Systems, Permissions, etc.
(More precisely: /etc/uucp/oldconfig was a symbolic link
to /usr/lib/uucp.)
. It is important to note that the machine names have to be
consistent in the /etc/passwd, /etc/uucp/Systems,
/etc/uucp/Poll and /etc/hosts (or DNS) entries, etc. (I
would imagine the same applies to "native Taylor" UUCP.)
References
UNIX System Administration Handbook
Second Edition
Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein
Prentice Hall PTR
ISBN: 0-13-151051-7 (softcover, incl. CD-ROM)
Taylor UUCP - Table of Contents
UUCP Over TCP
Postfix FAQ: Using UUCP as the default transport
Sendmail goodies
SSL-encrypted uucp-over-tcp using stunnel
Setting up UUCP over SSH
The Network Administrators' Guide
Zen and the Art of the Internet - Network Basics
Dot UUCP (uucp.org)
Document Collection Change Log
Wherein I note most of the interesting (?) changes to this
document collection. Most of the time. If I think about it.