<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>
-<H2><A NAME="ss1.1">1.1 Introduction</A>
-</H2>
-
-<P>This section describes the installation of DX Spider v1.46 on a
-<A HREF="http://www.redhat.com">RedHat</A> Linux Distribution.
-Wherever possible I will try to include differences for other distributions.
-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
-installation guide that comes with the Spider distribution.
-<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</A>. Earlier versions of
-Spider required perl 5.004, however it is now <I>STRONGLY</I> recommended
-that you use at least version 5.005_03 as this is the version being used
-in the development of Spider.
-<P>
-<P>In addition to the standard Red Hat distribution you will require the
-following modules from
-<A HREF="http://www.cpan.org/CPAN.html">http://www.cpan.org/CPAN.html</A> ...
-<P>
+<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>
-<UL>
-<LI> MD5-1.7.tar.gz</LI>
-<LI> Data-Dumper-2.10.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><A NAME="ss1.1">1.1 Basic hop control</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.46 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.46.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.46
-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 <node_call></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>