\batchmode %\newif\ifps \psfalse \newif\iftex \textrue %\newif\ifveryoldtex \newif\iflatexe \newif\ifpsfonts \newif\ifsqueeze \newif\ifltxbeta %\latexetrue \iflatexe \ltxbetatrue \fi \veryoldtexfalse \squeezefalse \ifps \psfontsfalse \fi \typeout{****************************************************************} \typeout{* Linux Network Administrators' Guide, Version 1.0 } \typeout{* Olaf Kirch, } \typeout{*************************************************************** } \typeout{* Configuration Options (as set in Config.tex): } \iftex \ifps \typeout{* Generating PostScript(tm) output } \ifpsfonts \typeout{* Using PostScript font metrics } \fi \else \typeout{* Generating DVI output } \fi \iflatexe \ifltxbeta \typeout{* LaTeX2e(beta) compatibility } \else \typeout{* LaTeX2e compatibility } \fi \else \ifveryoldtex \typeout{* Oldtimer TeX installation compatibility } \else \typeout{* LaTeX 2.09 compatibility } \fi \fi \ifsqueeze \typeout{* Squeezing output to save a few pages } \fi \fi \typeout{****************************************************************} \iftex \iflatexe \ifltxbeta \documentclass[11pt,makeidx]{report} \makeatletter \ifps \ifpsfonts \usepackage{nftimes} \fi \usepackage{epsf} \else \usepackage{epic} \usepackage{eepic} \fi \else \documentclass[11pt]{report} \usepackage{makeidx} \ifps \ifpsfonts \usepackage{times} \fi \usepackage{epsfig} \else \usepackage{epic} \usepackage{eepic} \fi \fi \usepackage{latexsym} \usepackage{ifthen} \usepackage{lotex} \usepackage{private} \usepackage{linuxdoc2e} \else \ifps \ifpsfonts \documentstyle[11pt,times,epsf,makeidx,lotex,private,linuxdoc]{report} \else \documentstyle[11pt,epsf,makeidx,lotex,private,linuxdoc]{report} \fi \else \documentstyle[11pt,epic,eepic,makeidx,lotex,private,linuxdoc]{report} \fi \fi \else \iflotex \documentstyle[11pt,makeidx,lotex,private,linuxdoc]{report} \fi \fi \title{The \linux{} Network Administrators' Guide} \author{Olaf Kirch} \years{1992-1994} \iftex \newsavebox{\disclaimer} \savebox{\disclaimer}[\textwidth]{ \parbox{\textwidth}{ \sf This is the last pre-release before the new Networking Guide goes public. I consider the technical chapters mostly complete. I have tried to catch up with the current development, but in some section, there have been minor changes or additions to the software since I wrote them. I don't think I will update them unless you tell me I've missed something big. \hspace{1em} If you have any comments, suggestions, or complaints, please mail me at \email{okir@monad.swb.de}. \hfill -- Olaf \hspace{5mm} } } \fi \setcounter{secnumdepth}{2} \setcounter{tocdepth}{2} \sloppypar \makeindex \def\textbf#1{{\bf{#1}}} \def\texttt#1{{\tt{#1}}} \def\textit#1{{\it{#1}}} \def\textsl#1{{\sl{#1}}} \def\emph#1{{\em{#1}}} \def\topfraction{0.63} \def\title{``The \linux{} Network Administrators' Guide''} \def\y{\term{y}} \def\dipvar#1{\keyword{\${#1}}} \def\NISplus{{NIS$+$}} \def\uucplib{\file{/usr/lib/uucp}} \def\uucpspool{\file{/var/spool/uucp}} \def\publicspool{\file{/var/spool/uucppublic}} \def\pubdir{\file{uucppublic}} \def\elmlib{\file{/usr/lib/elm}} \def\smailboxdir{\file{/var/spool/mail}} \def\smaillib{\file{/usr/lib/smail}} \def\smailspool{\file{/var/spool/smail}} \def\newslib{\file{/usr/lib/news}} \def\newsbin{\file{/usr/lib/news/bin}} \def\newsspool{\file{/var/spool/news}} \def\ex#1{\hspace{#1ex}} \makeatother \newenvironment{tex2html_wrap}{}{} \newwrite\lthtmlwrite \def\lthtmltypeout#1{{\let\protect\string\immediate\write\lthtmlwrite{#1}}}% \newbox\sizebox \begin{document} \pagestyle{empty} \setcounter{secnumdepth}{2} \setcounter{tocdepth}{2} {\newpage \clearpage \samepage % latex2html id marker 10344 \fbox{ \small \begin{minipage}{0.9\textwidth} {\Large\bf Legal Notice} \medskip\noindent UNIX is a trademark of Univel.\\ \linux{} is not a trademark, and has no connection to UNIX\tm\ or Univel.\\ \vspace*{\fill} \noindent Copyright \copyright \ 1994 \ Olaf Kirch\\ Kattreinstr. 38, 64295 Darmstadt, Germany\\ {\tt okir@monad.swb.de} \vspace{.2in}\noindent \title{} may be reproduced and distributed in whole or in part, subject to the following conditions: \begin{enumerate} \setcounter{enumi}{-1} \item The copyright notice above and this permission notice must be preserved complete on all complete or partial copies. \item Any translation or derivative work of \title{} must be approved by the author in writing before distribution. \item If you distribute \title{} in part, instructions for obtaining the complete version of \title{} must be included, and a means for obtaining a complete version provided. \item Small portions may be reproduced as illustrations for reviews or {\bf quotes} in other works without this permission notice if proper citation is given. \item If you print and distribute \title{}, you may not refer to it as the ``Official Printed Version''. \item The GNU General Public License referenced below may be reproduced under the conditions given within it. \item Several sections of this document are held under separate copyright. When these sections are covered by a different copyright, the seperate copyright is noted. {\bf If you distribute \title{} in part, and that part is, in whole, covered under a seperate, noted copyright, the conditions of that copyright apply.} \end{enumerate} Exceptions to these rules may be granted for academic purposes: Write to Olaf Kirch at the above address, or email {\tt okir@monad.swb.de}, and ask. These restrictions are here to protect us as authors, not to restrict you as educators and learners. \vspace{.2in}\noindent All source code in \title{} is placed under the GNU General Public License. See appendix~\ref{appendix.gpl} for a copy of the GNU ``GPL.'' The author is not liable for any damages, direct or indirect, resulting from the use of information provided in this document. \end{minipage} } } \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 3012 \ditem[G] The route uses a gateway. \ditem[U] The interface to be used is up. \ditem[H] Only a single host can be reached through the route. For example, this is the case for the loopback entry \host{127.0.0.1}. \ditem[D] This is set if the table entry has been generated by an ICMP redirect message (see section~\ref{tcpip.icmp}). \ditem[M] This is set if the table entry was modified by an ICMP redirect message. \end{dispitems} } \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 3521 \ditem[SOA] \index{authoritative name server} \index{SOA (DNS record)} \index{DNS!zone} This describes a zone of authority (SOA means ``Start of Authority''). It signals that the records following the SOA RR contain authoritative information for the domain. Every master file included by a \keyword{primary} statement must contain an SOA record for this zone. The resource data contains the following fields: \begin{dispitems} \ditem[\var{origin}] This is the canonical hostname of the primary name server for this domain. It is usually given as an absolute name. \ditem[\var{contact}] This is the email address of the person responsible for maintaining the domain, with the `\keyword{@}' character replaced by a dot. For instance, if the responsible person at the Virtual Brewery is \user{janet}, then this field would contain \keyword{janet.vbrew.com}. \ditem[\var{serial}] This is the version number of the zone file, expressed as a single decimal number. Whenever data is changed in the zone file, this number should be incremented. The serial number is used by secondary name servers to recognize when zone information has changed. To stay up to date, secondary servers request the primary server's SOA record at certain intervals, and compare the serial number to that of the cached SOA record. If the number has changed, the secondary servers transfers the whole zone database from the primary server. \ditem[\var{refresh}] This specifies the interval in seconds that the secondary servers should wait between checking the SOA record of the primary server. Again, this is a decimal number with at most eight digits. Generally, the network topology doesn't change too often, so that this number should specify an interval of roughly a day for larger networks, and even more for smaller ones. \ditem[\var{retry}] This number determines the intervals at which a secondary server should retry contacting the primary server if a request or a zone refresh fails. It must not be too low, or else a temporary failure of the server or a network problem may cause the secondary server to waste network resources. One hour, or perhaps one half hour, might be a good choice. \ditem[\var{expire}] This specifies the time in seconds after which the server should finally discard all zone data if it hasn't been able to contact the primary server. It should normally be very large. Craig Hunt (\cite{hunt-tcpip}) recommends 42~days. \ditem[\var{minimum}] This is the default ttl value for resource records that do not explicitly specify one. This requires other name servers to discard the RR after a certain amount of time. It has however nothing to do with the time after which a secondary server tries to update the zone information. \var{minimum} should be a large value, especially for LANs where the network topology almost never changes. A value of around a week or a month is probably a good choice. In the case that single RRs may change more frequently, you can still assign them different ttl's. \end{dispitems} \ditem[A] \index{A (DNS record)} \index{address!DNS resource record} This associates an IP~address with a hostname. The resource data field contains the address in dotted quad notation. \index{hostname!canonical} \index{canonical hostname} \index{CNAME (DNS record)} \index{hostname!aliases} \index{alias!hostname} For each host, there must be only one A record. The hostname used in this A record is considered the official or \emph{canonical} hostname. All other hostnames are aliases and must be mapped onto the canonical hostname using a CNAME record. \ditem[NS] This points to a master name server of a subordinate zone. For an explanation why one has to have NS records, see section~\ref{tcpip.dns}. The resource data field contains the hostname of the name server. To resolve the hostname, an additional A record is needed, the so-called \emph{glue record} which gives the name server's IP~address. \ditem[CNAME] \index{CNAME (DNS record)} This associates an alias for a host with its \emph{canonical hostname}. The canonical hostname is the one the master file provides an A record for; aliases are simply linked to that name by a CNAME record, but don't have any other records of their own. \ditem[PTR] \index{PTR (DNS record)} This type of record is used to associate names in the \host{in-addr.arpa} domain with hostnames. This is used for reverse mapping of IP~addresses to hostnames. The hostname given must be the canonical hostname. \ditem[MX] \index{MX (DNS record)} This RR announces a \emph{mail exchanger} for a domain. The reasons to have mail exchangers are discussed in section~\ref{mail.routing.internet} in chapter~\ref{mail}. The syntax of an MX record is \begin{screen}\st [\var{domain}] [\var{ttl}] [\var{class}] MX \var{preference} \var{host} \end{screen} \var{host} names the mail exchanger for \var{domain}. Every mail exchanger has an integer \var{preference} associated with it. A mail transport agent who desires to deliver mail to \var{domain} will try all hosts who have an MX record for this domain until it succeeds. The one with the lowest preference value is tried first, then the others in order of increasing preference value. \ditem[HINFO] This record provides information on the system's hardware and software. Its syntax is \begin{screen}\st [\var{domain}] [\var{ttl}] [\var{class}] HINFO \var{hardware software} \end{screen} The \var{hardware} field identifies the hardware used by this host. There are special conventions to specify this. A list of valid names is given in the ``Assigned Numbers'' (RFC~1340). If the field contains any blanks, it must be enclosed in double quotes. The \var{software} field names the operating system software used by the system. Again, a valid name from the ``Assigned Numbers'' RFC should be chosen. \end{dispitems} } \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 4582 \ditem[\var{service}] \index{services@\file{services}} gives the service name. The service name has to be translated to a port number by looking it up in the \file{/etc/services} file. This file will be described in section \ref{appl.services} below. \ditem[\var{type}] specifies a socket type, either \keyword{stream} (for connection-oriented protocols) or \keyword{dgram} (for datagram protocols). TCP-based services should therefore always use \keyword{stream}, while UDP-based services should always use \keyword{dgram}. \ditem[\var{protocol}] \index{protocols@\file{protocols}} names the transport protocol used by the service. This must be a valid protocol name found in the \file{protocols} file, also explained below. \ditem[\var{wait}] This option applies only to \keyword{dgram} sockets. It may be either \keyword{wait} or \keyword{nowait}. If \keyword{wait} is specified, \prog{inetd} will only execute one server for the specified port at any time. Otherwise, it will immediately continue to listen on the port after executing the server. This is useful for ``single-threaded'' servers that read all incoming datagrams until no more arrive, and then exit. Most RPC servers are of this type and should therefore specify \keyword{wait}. The opposite type, ``multi-threaded'' servers, allow an unlimited number of instances to run concurrently; this is only rarely used. These servers should specify \keyword{nowait}. \keyword{stream} sockets should always use \keyword{nowait}. \ditem[\var{user}] This is the login id of the user the process is executed under. This will frequently be the \user{root} user, but some services may use different accounts. It is a very good idea to apply the principle of least privilege here, which states that you shouldn't run a command under a privileged account if the program doesn't require this for proper functioning. For example, the NNTP news server will run as \user{news}, while services that may pose a security risk (such as \prog{tftp} or \prog{finger}) are often run as \user{nobody}. \ditem[\var{server}] gives the full path name of the server program to be executed. Internal services are marked by the keyword \keyword{internal}. \ditem[\var{cmdline}] This is the command line to be passed to the server. This includes argument~0, that is the command name. Usually, this will be the program name of the server, unless the program behaves differently when invoked by a different name. This field is empty for internal services. \end{dispitems} } \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{subsubsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 8974 \ditem[\var{site}] This is the name of the site the entry applies to. One usually chooses the site's UUCP name for this. There has to be an entry for your site in the \file{sys} file, too, else you will not receive any articles yourself. \index{C News!receiving news} \index{receiving news} \index{news!receiving} The special site name \keyword{ME} denotes your site. The \keyword{ME} entry defines all groups you are willing to store locally. Articles that aren't matched by the \keyword{ME} line will go to the \ngrp{junk} group. \index{C News!excluding sites} \index{C News!hostname aliases} \index{alias!and C News} Since C~News checks \var{site} against the site names in the \mhdr{Path:} header field, you have to make sure they really match. Some sites use their fully qualified domain name in this field, or an alias like \ngrp{news.}\var{site.domain}. To prevent any articles from being returned to these sites, you have to add these to the exclusion list, separated by commas. For the entry applying to site \host{moria}, for instance, the site field would contain \host{moria/}\host{moria.orcnet.org}. \ditem[\var{grouplist}] \index{C News!exchanging news} \index{C News!limit a feed} This is a comma-separated subscription list of groups and hierarchies for that particular site. A hierarchy may be specified by giving the hierarchy's prefix (such as \ngrp{comp.os} for all groups whose name starts with this prefix), optionally followed by the keyword \ngrp{all} (e.g. \ngrp{comp.os.all}). A hierarchy or group is excluded from forwarding by preceding it with an exclamation mark. If a newsgroup is checked against the list, the longest match applies. For example, if \var{grouplist} contains \begin{tscreen} !comp,comp.os.linux,comp.folklore.computers \end{tscreen} \noindent no groups from the \ngrp{comp} hierarchy except \ngrp{comp.folklore.computers} and all groups below \ngrp{comp.os.linux} will be fed to that site. If the site requests to be forwarded all news you receive yourself, enter \keyword{all} as \var{grouplist}. \ditem[\var{distlist}] \index{C News!limit a feed} \index{C News!limit a feed} \index{news!distributions} is offset from the \var{grouplist} by a slash, and contains a list of distributions to be forwarded. Again, you may exclude certain distributions by preceding them with an exclamation mark. All distributions are denoted by \keyword{all}. Omitting \var{distlist} implies a list of \keyword{all}. For example, you may use a distribution list of \keyword{all,!local} to prevent news for local use only from being sent to remote sites. There are usually at least two distributions: \keyword{world}, which is often the default distribution used when none is specified by the user, and \keyword{local}. There may be other distributions that apply to a certain region, state, country, etc. Finally, there are two distributions used by C~News only; these are \keyword{sendme} and \keyword{ihave}, and are used for the sendme/ihave protocol. The use of distributions is a subject of debate. For one, some newsreaders create bogus distributions by simply using the top level hierarchy, for example \ngrp{comp} when posting to \ngrp{comp.os.linux}. Distributions that apply to regions are often questionable, too, because news may travel outside of your region when sent across the Internet.\footnote{ It is not uncommon for an article posted in, say Hamburg, to go to Frankfurt via \host{reston.ans.net} in the Netherlands, or even via some site in the U.S. } Distributions applying to an organization, however, are very meaningful, for example to prevent confidential information from leaving the company network. This purpose, however, is generally served better by creating a separate newsgroup or hierarchy. \ditem[\var{flags}] This describes certain parameters for the feed. It may be empty, or a combination of the following: \begin{dispitems} \ditem[\keyword{F}] \index{C News!batching} This flag enables batching. \ditem[\keyword{f}] \index{C News!batching} This is almost identical to the \keyword{F} flag, but allows C~News to calculate the size of outgoing batches more precisely. \ditem[\keyword{I}] \index{C News!ihave/sendme} This flag makes C~News produce an article list suitable for use by ihave/sendme. Additional modifications to the \file{sys} and the \file{batchparms} file are required to enable ihave/sendme. \ditem[\keyword{n}] \index{C News!NNTP support} This creates batch files for active NNTP transfer clients like \prog{nntpxmit} (see chapter~\ref{nntp}). The batch files contain the article's filename along with its message id. \ditem[\keyword{L}] This tells C~News to transmit only articles posted at your site. This flag may be followed by a decimal number \var{n}, which makes C~News only transfer articles posted within \var{n} hops from your site. C~News determines the number of hops from the \mhdr{Path:} field. \ditem[\keyword{u}] This tells C~News to batch only articles from unmoderated groups. \ditem[\keyword{m}] This tells C~News to batch only articles from moderated groups. \end{dispitems} You may use at most one of \keyword{F}, \keyword{f}, \keyword{I}, or \keyword{n}. \ditem[\var{cmds}] \index{C News!rnews@\prog{rnews}} \index{C News!exchanging news} \index{C News!sending news} This field contains a command to be executed for each article, unless batching is enabled. The article will be fed to the command on standard input. This should only be used for very small feeds; otherwise the load on both systems will be too high. The default command is \begin{tscreen} uux - -r -z \var{system}\/!rnews \end{tscreen} \noindent which invokes \prog{rnews} on the remote system, feeding it the article on standard input. The default search path for commands given in this field is \prog{/bin:/usr/bin:\file{/usr/lib/news/bin}/batch}. The latter directory contains a number of shell scripts whose name starts with \prog{via}; they are briefly described later in this chapter. \index{C News!batching} \index{C News!togo file@\file{togo} file} If batching is enabled using either of the \keyword{F} or \keyword{f}, \keyword{I} or \keyword{n} flags, C~News expects to find a file name in this field rather than a command. If the file name does not begin with a slash (\file{/}), it is assumed to be relative to \file{/var/spool/news}\file{/out.going}. If the field is empty, it defaults to \file{\var{system}\//togo}. \end{dispitems} } \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 9299 \ditem[\file{newsgroups}] \index{C News!list of current groups} This is a companion file of \file{active} which contains a list of newsgroup names, along with a one-line description of its main topic. This file is automatically updated when C~News receives a \keyword{checknews} control message (see section~\ref{cnews.control}). \ditem[\file{localgroups}] If you have a number of local groups that you don't want C~News to complain about every time you receive a \keyword{checknews} message, put their names and descriptions in this file, just like they would appear in \file{newsgroups}. \ditem[\file{mailpaths}] \index{C News!moderated groups} This file contains the moderator's address for each moderated group. Each line contains the group name, followed by the moderator's email address (offset by a tab). Two special entries are provided as default. These are \keyword{backbone} and \keyword{internet}. Both provide~--- in bang-path notation~--- the path to the nearest backbone site, and the site that understands RFC~822-style addresses (\email{user@host}). The default entries are \begin{tscreen} internet\hspace{6ex}backbone\hspace{6ex}\end{tscreen} You will not have to change the \keyword{internet} entry if you have \prog{smail} or \prog{sendmail} installed, because they understand RFC~822-addressing. The \keyword{backbone} entry is used whenever a user posts to a moderated group whose moderator is not listed explicitly. If the newsgroup's name is \ngrp{alt.sewer}, and the \keyword{backbone} entry contains \email{\var{path}!\%s}, C~News will mail the article to \email{\var{path}!alt-sewer}, hoping that the backbone machine is able to forward the article. To find out which path to use, ask the news admins at the site that feeds you. As a last resort, you can also use \email{uunet.uu.net!\%s}. \ditem[\file{distributions}] \index{C News!limit a feed} This file is not really a C~News file, but it is used by some newsreaders, and \prog{nntpd}. It contains the list of distributions recognized by your site, and a description of its (intended) effect. For example, Virtual Brewery has the following file: \begin{tscreen} world\hspace{11ex} everywhere in the world\\ local\hspace{11ex} Only local to this site\\ nl\hspace{15ex} Netherlands only\\ mugnet\hspace{10ex} MUGNET only\\ fr\hspace{15ex} France only\\ de\hspace{15ex} Germany only\\ brewery\hspace{9ex} Virtual Brewery only \end{tscreen} \ditem[\file{log}] \index{C News!log files} This file contains a log of all C~News activities. It is culled regularly by running \prog{newsdaily}; copies of the old logfiles are kept in \file{log.o}, \file{log.oo}, etc. \ditem[\file{errlog}] This is a log of all error messages created by C~News. These do not include articles junked due to wrong group, etc. This file is mailed to the newsmaster (\user{usenet} by default) automatically by \prog{newsdaily} if it is found to be non-empty. \file{errlog} is cleared by \prog{newsdaily}. Old copies are kept in \file{errlog.o} and companions. \ditem[\file{batchlog}] This logs all runs of \prog{sendbatches}. It is usually of scant interest only. It is also attended by \prog{newsdaily}. \ditem[\file{watchtime}] This is an empty file created each time \prog{newswatch} is run. \end{dispitems} } \stepcounter{section} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{subsection} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} \stepcounter{chapter} \stepcounter{chapter} \stepcounter{chapter} \stepcounter{section} \stepcounter{section} \stepcounter{section} {\newpage \clearpage \samepage \begin{dispitems}% latex2html id marker 10064 \ditem[ACU] Automatic Call Unit. A modem.\footnote{ Alternatively: A teenager with a telephone. } \ditem[ARP] Address Resolution Protocol. Used to map IP~addresses to Ethernet addresses. \ditem[ARPA] Advanced Research Project Agency, later DARPA. Founder of the Internet. \ditem[ARPANET] The ancestor of today's Internet; an experimental network funded by the U.S. Defense Advanced Research Project Agency (DARPA). \ditem[Assigned Numbers] The title of an \emph{RFC} published regularly that lists the publicly allocated numbers used for various things in TCP/IP networking. For example, it contains the list of all port numbers of well-known services like \prog{rlogin}, \prog{telnet}, etc. The most recent release of this document is RFC~1340. \ditem[bang path] In UUCP networks, a special notation for the path from one UUCP site to another. The name derives from the use of exclamation marks (`bangs') to separate the host names. Example: \email{foo!bar!ernie!bert} denotes a path to host \user{bert}, travelling (in this order) \host{foo}, \host{bar}, and \host{ernie}. \ditem[BBS] Bulletin Board System. A dial-up mailbox system. \ditem[BGP] Border Gateway Protocol. A protocol for exchanging routing information between autonomous systems. \ditem[BIND] The Berkeley Internet Name Domain server. An implementation of a DNS server. \ditem[BNU] Basic Networking Utilities. This is the most common UUCP variety at the moment. It is also known as HoneyDanBer UUCP. This name is derived from the authors' names: P.~Honeyman, D.A.~Novitz, and B.E.~Redman. \ditem[broadcast network] A network that allows one station to address a datagram to all other stations on the network simultaneously. \ditem[BSD] Berkeley Software Distribution. A \unix{} flavor. \ditem[canonical hostname] A host's primary name within the Domain Name System. This is the host's only name that has an A record associated with it, and which is returned when performing a reverse lookup. \ditem[CCITT] Comite\'e Consultatif International de T\'el\'egraphique et T\'el\'ephonique. An International organization of telephone services, etc. \ditem[CSLIP] Compressed Serial Line IP. A protocol for exchanging IP packets over a serial line, using header compression of most TCP/IP datagrams. \ditem[DNS] Domain name system. This is a distributed database used on the Internet for mapping of host names to IP~addresses. \ditem[EGP] External Gateway Protocol. A protocol for exchanging routing information between autonomous systems. \ditem[Ethernet] In colloquial terms, the name of a sort of network equipment. Technically, Ethernet is part of a set of standards set forth by the IEEE. The Ethernet hardware uses a single piece of cable, frequently coax cable, to connect a number of hosts, and allows transfer rates of up to 10Mbps. The Ethernet protocol defines the manner in which hosts may communicate over this cable.\footnote{ As an aside, the Ethernet \emph{protocol} commonly used by TCP/IP is \emph{not} exactly the same as IEEE~802.3. Ethernet frames have a type field where IEEE~802.3 frames have a length field. } \ditem[FQDN] Fully Qualified Domain Name. A hostname with a domain name tacked onto it, so that it is a valid index into the Domain Name database. \ditem[FTP] File Transfer Protocol. The protocol one of the best-known file transfer service is based on and named after. \ditem[FYI] ``For Your Information.'' Series of documents with informal information on Internet topics. \ditem[GMU] Groucho Marx University. Fictitious University used as an example throughout this book. \ditem[GNU] GNU's not Unix~-- this recursive acronym is the name of a project by the Free Software Association to provide a coherent set of \unix{}-tools that may be used and copied free of charge. All GNU software is covered by a special Copyright notice, also called the GNU General Public License (GPL), or Copyleft. The GPL is reproduced in section~\ref{appendix.gpl}. \ditem[HoneyDanBer] The name of a UUCP variety. See also BNU. \ditem[host] Generally, a network node: something that is able to receive and transmit network messages. This will usually be a computer, but you can also think of X-Terminals, or smart printers. \ditem[ICMP] Internet Control Message Protocol. A networking protocol used by IP to return error information to the sending host, etc. \ditem[IEEE] Institute of Electrical and Eletronics Engineers. Another standards organization. From a UNIX user's point of view, their most important achievement are probably the POSIX standards which define aspects of a UNIX systems, ranging from system call interfaces and semantics to administration tools. Apart from this, the IEEE developed the specifications for Ethernet, Token Ring, and Token Bus networks. A widely-used standard for binary representation of real numbers is also due to the IEEE. \ditem[IETF] Internet Engineering Task Force. \ditem[internet] A computer network formed of a collection of individual smaller networks. \ditem[Internet] A particular world-wide internet. \ditem[IP] Internet Protocol. A networking protocol. \ditem[ISO] International Standards Organization. \ditem[ISDN] Integrated Services Digital Network. New telecommunications technology using digital instead of analogue circuitry. \ditem[LAN] Local Area Network. A small computer network. \ditem[MX] Mail Exchanger. A DNS resource record type used for marking a host as mail gateway for a domain. \ditem[network, packet-switched] A variety of networks that provide instantaneous forwarding of data by all data up in small packets, which are tramsported to their destination individually. Packet-switched networks rely on permanent or semi-permanent connections. \ditem[network, store-and-forward] They are pretty much the opposite of packet-switched networks. These networks transfer data as entire files, and don't use permanent connections. Instead, hosts conect to each other at certain intervals only, and transfer all data at once. This requires that data be stored intermediately until a connection is established. \ditem[NFS] Network File System. A standard networking protocol and software suite for accessing data on remote disks transparently. \ditem[NIS] Network Information System. An RPC-based application that allows to share configuration files such as the password file between several hosts. See also the entry under YP. \ditem[NNTP] Network News Transfer Protocol. Used to transfer news over TCP network connections. \ditem[octet] On the Internet, the technical term referring to a quantity of eight bits. It is used rather than \emph{byte}, because there are machines on the Internet that have byte sizes other than eight bits. \ditem[OSI] Open Systems Interconnection. An ISO standard on network software. \ditem[path] Often used in UUCP networks as a synonym for \emph{route}. Also see \emph{bang path}. \ditem[PLIP] Parallel Line IP. A protocol for exchanging IP packets over a parallel line such as a printer port. \ditem[port, TCP or UDP] Ports are TCP's and UDP's abstraction of a service endpoint. Before a process can provide or access some networking service, it must claim (bind) a port. Together with the hosts' IP addresses, ports uniquely identify the two peers of a TCP connection. \ditem[portmapper] The portmapper is the mediator between the program numbers used by RPC as an identification of individual RPC servers, and the TCP and UDP port numbers those services are listening to. \ditem[PPP] The point-to-point protocol. PPP is a flexible and fast link-layer protocol to send various network protocols such as IP or IPX across a point-to-point connection. Apart from being used on serial (modem) links, PPP can also be employed as the link-level protocol on top of ISDN. \ditem[RARP] Reverse Address Resolution Protocol. It permits hosts to find out their IP~address at boot time. \ditem[resolver] This is a library responsible for mapping hostnames to IP~addresses and vice versa. \ditem[resource record] This is the basic unit of information in the DNS database, commonly abbreviated as RR. Each record has a certain type and class associated with it, for instance a record mapping a host name to an IP~address has a type of A (for address), and a class of IN (for the Internet Protocol). \ditem[reverse lookup] The act of looking up a host's name based on a given IP~address. Within DNS, this is done by looking up the host's IP~address in the \host{in-addr.arpa} domain. \ditem[RFC] Request For Comments. Series of documents describing Internet standards. \ditem[RIP] Routing Information Protocol. This is a routing protocol used dynamically adjust routes inside a (small) network. \ditem[route] The sequence of hosts a piece of information has to travel from the originating host to the destination host. Finding an appropriate route is also called \emph{routing}. \ditem[routing daemon] In larger networks, network topology changes are hard to adapt to manually, so facilities are used to distribute current routing information to the network's member hosts. This is called dynamic routing; the routing information is exchanged by \emph{routing daemons} running on central hosts in the network. The protocols they employ are called \emph{routing protocols}. \ditem[RPC] Remote Procedure Call. Protocol for executing procdures inside a process on a remote host. \ditem[RR] Short for \emph{resource record}. \ditem[RS-232] This is a very common standard for serial interfaces. \ditem[RTS/CTS] A colloquial name for the hardware handshake performed by two devices communicating over RS-232. The name derives from the two cicuits involved, RTS (``Ready To Send''), and CTS (``Clear To Send''). \ditem[RTM Internet Worm] A Virus-like program that used several flaws in VMS and BSD~4.3 Unix to spread through the Internet. Several ``mistakes'' in the program caused it to multiply without bound, and so effectively bringing down large parts of the Internet. RTM are the author's initials (Robert T.~Morris), which he left in the program. \ditem[site] An agglomeration of hosts which, to the outside, behave almost like a single network node. For example, when speaking from an Internet point of view, one would call a Groucho Marx University a site, regardless of the complexity of its interior network. \ditem[SLIP] Serial Line IP. This is a protocol for exchanging IP packets over a serial line, see also CSLIP. \ditem[SMTP] Simple Mail Transfer Protocol. Used for mail transport over TCP connections, but also for mail batches transported over UUCP links (batched SMTP). \ditem[SOA] Start of Authority. A DNS resource record type. \ditem[System V] A \unix{} flavor. \ditem[TCP] Transmission Control Protocol. A networking protocol. \ditem[TCP/IP] Sloppy description of the Internet protocol suite as a whole. \ditem[UDP] User Datagram Protocol. A networking protocol. \ditem[UUCP] Unix to Unix Copy. A suite of network transport commands for dial-up networks. \ditem[Version 2 UUCP] An aging UUCP variety. \ditem[virtual beer] Every Linuxer's favorite drink. The first mention of virtual beer I remember was in the release note of the \linux{} 0.98.X kernel, where Linus listed the ``Oxford Beer Trolls'' in his credits section for sending along some virtual beer. \ditem[well-known services] This term is frequently used to refer to common networking services such as \prog{telnet} and \prog{rlogin}. In a more technical sense, it describes all services that have been assigned an official port number in the ``Assigned Numbers'' RFC. \ditem[YP] Yellow Pages. An older name for NIS which is no longer used, because Yellow Pages is a trademark of British Telecom. Nevertheless, most NIS utilities have retained names with a prefix of \prog{yp}. \end{dispitems} } \stepcounter{chapter} \end{document} .