trying again after broken pipe error
[spider.git] / html / adminmanual-1.html
index a6f976752d03d33205eb415322861cac1002e523..b9691bbba910b1158564671fd368c1fdf26dbf39 100644 (file)
@@ -2,7 +2,7 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
- <TITLE>The DXSpider Installation and Administration Manual : Installation (Original version by Iain Phillips, G0RDI)</TITLE>
+ <TITLE>The DXSpider Administration Manual v1.47: Hop control</TITLE>
  <LINK HREF="adminmanual-2.html" REL=next>
 
  <LINK HREF="adminmanual.html#toc1" REL=contents>
 Previous
 <A HREF="adminmanual.html#toc1">Contents</A>
 <HR>
-<H2><A NAME="s1">1. Installation (Original version by Iain Phillips, G0RDI)</A></H2>
+<H2><A NAME="s1">1. Hop control</A></H2>
 
-<P>Last modified: 13 January 2001 by Ian Maude, G0VGS
+<P>Starting with version 1.13 there is simple hop control available on a per
+node basis. Also it is possible to isolate a network completely so that you 
+get all the benefits of being on that network, but can't pass on information
+from it to any other networks you may be connected to (or vice versa).
 <P>
-<H2><A NAME="ss1.1">1.1 Introduction</A>
+<H2><A NAME="ss1.1">1.1 Basic hop control</A>
 </H2>
 
-<P>This section describes the installation of DX Spider v1.35 on a 
-<A HREF="http://www.redhat.com">RedHat</A> Linux Distribution.  
-I do not intend to try and cover the installation of Linux or the setup 
-of the AX25 utilities.  If you need help on this then read Iains original 
-HOWTO on the 
-<A HREF="http://www.dxcluster.org">DXSpider</A> 
-website.
-<P>
-<P>I am assuming a general knowledge of Linux and its commands.  You should 
-know how to use <EM>tar</EM> and how to edit files using your favourite editor.
-<P>
-<P>The crucial ingredient for all of this is 
-<A HREF="http://www.perl.org">Perl 5.004</A>.  Now I know Perl 5.005 
-is out and this will almost certainly work with it, but 
-<A HREF="http://www.redhat.com">RedHat 5.1</A> comes with 5.004. 
-<EM>Be Warned</EM>, earlier versions of 
-<A HREF="http://www.redhat.com">RedHat</A> <B>do not</B> come 
-with 5.004 as standard, you need to 
-<A HREF="ftp://upgrade.redhat.com">upgrade</A><P>
-<P>In addition to the standard Red Hat distribution you will require the 
-following 
-<A HREF="http://www.cpan.org/CPAN.html">CPAN</A> modules: -
-<P>
-<P>
-<UL>
-<LI>            MD5-1.7.tar.gz</LI>
-<LI>            Data-Dumper-2.10.tar.gz</LI>
-<LI>            FreezeThaw-0.3.tar.gz</LI>
-<LI>            MLDBM-2.00.tar.gz</LI>
-<LI>            TimeDate-1.08.tar.gz</LI>
-<LI>            IO-1.20.tar.gz</LI>
-<LI>            Net-Telnet-3.02.tar.gz</LI>
-<LI>            Curses-1.05.tar.gz</LI>
-<LI>            Time-HiRes-01.20.tar.gz
-</LI>
-</UL>
-<P>
-<P>
-<P><EM>Do</EM> get the latest versions of these packages and install them 
-but use the above list as the earliest versions usable.
-<P>
-<H2><A NAME="ss1.2">1.2 Preparation</A>
-</H2>
-
-<P>I will assume that you have already downloaded the latest tarball of 
-the DXSpider software and are ready to install it. I am assuming version 
-1.35 for this section but of course you would use the latest version.
-<P>
-<P>Login as root and create a user to run the cluster under.  <B><I>UNDER 
-NO CIRCUMSTANCES USE ROOT AS THIS USER!</I></B>.  I am going to use 
-the name <EM>sysop</EM>.  You can call it anything you wish.  Depending 
-on your security requirements you may wish to use an existing user, 
-however this is your own choice.
-<P>
+<P>In /spider/data you will find a file called hop_table.pl.  This is the file 
+that controls your hop count settings.  It has a set of default hops on the 
+various PC frames and also a set for each node you want to alter the hops for.  
+You may be happy with the default settings of course, but this powerful tool 
+can help to protect and improve the network.  The file will look something 
+like this ...
 <P>
 <BLOCKQUOTE><CODE>
 <PRE>
-# adduser -m sysop
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>Now set a password for the user ...
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# passwd sysop
-# New UNIX password:
-# Retype new UNIX password:
-passwd: all authentication tokens updated successfully
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<H2><A NAME="ss1.3">1.3 Installing the software</A>
-</H2>
+# 
+# hop table construction
+# 
 
-<P>Now to unpack the DX Spider distribution, set symbolic links and group 
-permissions.  Copy the tarball to /home/sysop and do the following.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# cd ~sysop
-# tar xvfz spider-1.35.tar.gz
-# ln -s ~sysop/spider /spider
-# groupadd -g 251 spider       (or another number)
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>If you do not have the command <EM>groupadd</EM> available to you simply 
-add a line in /etc/group by hand.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# vi /etc/group                (or your favorite editor)
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>You also need to add some others to the group, including your own callsign 
-(this will be used as an alias) and root.  The finished line in /etc/group 
-should look something like this
-<P><CODE>spider:x:251:sysop,g0vgs,root</CODE>
-<P>
-<P>The next step is to set the permissions on the Spider directory tree and files ....
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# chown -R sysop.spider spider
-# find . -type d -exec chmod 2775 {} \;
-# find . -type f -exec chmod 775 {} \;
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>This last step allows various users of the group <EM>spider</EM> to have 
-write access to all the directories.  This is not really needed just yet 
-but will be useful when web interfaces start to appear.
-<P>
-<P>Finally, you need to fix the permissions on the ax25_call and netrom_call 
-programs.  Check where they are with the <EM>locate</EM> command and alter 
-the permissions with the <EM>chmod</EM> command like this ..
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# chown root ax25_call netrom_call
-# chmod 4775 ax25_call netrom_call
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<H2><A NAME="ss1.4">1.4 Setting callsigns etc</A>
-</H2>
+package DXProt;
 
-<P>Now login to your machine as the user you created earlier.  In my case that 
-user is called <EM>sysop</EM>.  Once logged in, issue the following commands ....
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-$ cd /spider
-$ mkdir local
-$ mkdir local_cmd
-$ cp perl/DXVars.pm.issue local/DXVars.pm
-$ cd local
-$ vi DXVars.pm (or your favourite editor)
+# default hopcount to use
+$def_hopcount = 5;
+
+# some variable hop counts based on message type
+%hopcount = 
+(
+ 11 => 10,
+ 16 => 10,
+ 17 => 10,
+ 19 => 10,
+ 21 => 10,
+);
+
+
+# the per node hop control thingy
+
+
+%nodehops = 
+
+ GB7ADX => {            11 => 8,
+                        12 => 8,
+                        16 => 8,
+                        17 => 8,
+                        19 => 8,
+                        21 => 8,
+                   },
+
+ GB7UDX => {            11 => 8,
+                        12 => 8,
+                        16 => 8,
+                        17 => 8,
+                        19 => 8,
+                        21 => 8,
+                   },
+ GB7BAA => {
+                        11 => 5,
+                        12 => 8,
+                        16 => 8,
+                        17 => 8,
+                        19 => 8,
+                        21 => 8,
+                   },
+};
 </PRE>
 </CODE></BLOCKQUOTE>
 <P>
-<P>Using the distributed DXVars.pm as a a template, set your cluster callsign, 
-sysop callsign and other user info to suit your own environment. Note that 
-this a perl file which will be parsed and executed as part of the cluster. If 
-you get it wrong then perl will complain when you start the cluster process.  
-It is important only to alter the text of any section.  Some of the lines look 
-a little odd.  Take this line for example ....
-<P><CODE>$myemail = "ianmaude\@btinternet.com";</CODE>
-<P>
-<P>There appears to be an extra slash in there.  However this has to be there 
-for the file to work so leave it in.
-<P>
-<P><B>PLEASE USE CAPITAL LETTERS FOR CALLSIGNS</B>
+<P>Each set of hops is contained within a pair of curly braces and contains a 
+series of PC frame types.  PC11 for example is a DX spot. The figures here 
+are not exhaustive but should give you a good idea of how the file works.
 <P>
-<P>DON'T alter the DXVars.pm (or any other file) in /spider/perl, they are 
-overwritten with every release. Any files or commands you place in /spider/local 
-or /spider/local_cmd will automagically be used in preference to the ones in 
-/spider/perl EVEN while the cluster is running!
+<P>You can alter this file at any time, including whilst the cluster is running.  
+If you alter the file during runtime, the command <EM>load/hops</EM> will 
+bring your changes into effect.
 <P>
-<P>Save the new file and change directory to ../perl ....
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-$ cd ../perl
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>Now type the following command which creates the basic user file with you as 
-the sysop.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-$ create_sysop.pl
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<H2><A NAME="ss1.5">1.5 Starting up for the first time</A>
+<H2><A NAME="ss1.2">1.2 Isolating networks</A>
 </H2>
 
-<P>We can now bring spider up for the first time and see if all is well or not!  
-It should look something like this ...
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-$ cluster.pl
-DXSpider DX Cluster Version 1.35
-Copyright (c) 1998 Dirk Koopman G1TLH
-loading prefixes ...
-loading band data ...
-loading user file system ...
-starting listener ...
-reading existing message headers
-reading cron jobs
-orft we jolly well go ...
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>If all is well then login on another term or console as <EM>sysop</EM> and 
-cd to /spider/perl.  Now issue the following command ...
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-$ client.pl
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>This should log you into the cluster as the sysop under the alias callsign we 
-set earlier.  In this case the callsign is G0VGS.  The cluster callsign is set 
-in the DXVars.pm file in /spider/local.  In this case we will assume that this 
-was set as GB7MBC.  You should therefore see this when you login ....
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-G0VGS de GB7MBC 19-Nov-1999 2150Z >
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>If you do, congratulations!  If not, look over the instructions again, you 
-have probably missed something out.  You can shut spider down again with the 
-command ....
+<P>It is possible to isolate networks from each other on a "gateway" node using the
+<EM>set/isolate &lt;node_call&gt;</EM> command.
+<P>
+<P>The effect of this is to partition an isolated network completely from another 
+nodes connected to your node. Your node will appear on and otherwise behave 
+normally on every network to which you are connected, but data from an isolated 
+network will not cross onto any other network or vice versa. However all the 
+spot, announce and WWV traffic and personal messages will still be handled 
+locally (because you are a real node on all connected networks), that is locally
+connected users will appear on all networks and will be able to access and 
+receive information from all networks transparently.  All routed messages will 
+be sent as normal, so if a user on one network knows that you are a gateway for 
+another network, he can still still send a talk/announce etc message via your 
+node and it will be routed across.
+<P>
+<P>The only limitation currently is that non-private messages cannot be passed down 
+isolated links regardless of whether they are generated locally. This will change 
+when the bulletin routing facility is added.
+<P>
+<P>If you use isolate on a node connection you will continue to receive all 
+information from the isolated partner, however you will not pass any information 
+back to the isolated node.  There are times when you would like to forward only 
+spots across a link (maybe during a contest for example).  To do this, isolate 
+the node in the normal way and put in a filter in the /spider/filter/spots 
+directory to override the isolate.  This filter can be very simple and consists 
+of just one line ....
 <P>
 <BLOCKQUOTE><CODE>
 <PRE>
-shutdown
+$in = [
+        [ 1, 0, 'd', 0, 3]      # The last figure (3) is the hop count
+];
 </PRE>
 </CODE></BLOCKQUOTE>
 <P>
-<P>and both the cluster and the client should return to Linux prompts.
+<P>There is a lot more on filtering in the next section.
 <P>
 <HR>
 <A HREF="adminmanual-2.html">Next</A>