*** empty log message ***
[spider.git] / html / adminmanual-1.html
diff --git a/html/adminmanual-1.html b/html/adminmanual-1.html
deleted file mode 100644 (file)
index bcafff6..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.16">
- <TITLE>The DXSpider Administration Manual v1.50: Routing and Filtering</TITLE>
- <LINK HREF="adminmanual-2.html" REL=next>
-
- <LINK HREF="adminmanual.html#toc1" REL=contents>
-<link rel=stylesheet href="style.css" type="text/css" title="default stylesheet">
-</HEAD>
-<BODY>
-<A HREF="adminmanual-2.html">Next</A>
-Previous
-<A HREF="adminmanual.html#toc1">Contents</A>
-<HR>
-<H2><A NAME="s1">1.</A> <A HREF="adminmanual.html#toc1">Routing and Filtering</A></H2>
-
-<H2><A NAME="ss1.1">1.1</A> <A HREF="adminmanual.html#toc1.1">Introduction</A>
-</H2>
-
-<P>From DXSpider version 1.48, major changes were introduced to the way 
-node connections are treated.  This is part of an ongoing process to
-remove problems with loops and to enable talk and other functions to
-propagate across the whole of the worldwide cluster network.  In fact,
-in a Spider network, it would be useful, perhaps even necessary to
-have loops.  This would give real resilience to the network, meaning
-that if a link dropped, the information flow would simply come in and
-go out via a different route.  Of course, we do not have a complete
-network of Spider nodes, there are other programs out there.  Some of
-these do not have any protection from loops.  Certainly AK1A does not 
-handle loops well at all.  It is therefore necessary to have some form 
-of protection for these nodes.</P>
-
-<P>In fact DXSpider has had a simple system for some time which is called
-<I>isolation</I>. This is similar to what in other systems such as 
-<B>clx</B>, is called <I>passive mode</I>. A more detailed explanation
-of <I>isolation</I> is given further below. This system is still available
-and, for simple networks, is probably all that you need.</P>
-
-<P>The new functionality introduced in version 1.48 allows filtering the node
-and user protocol frames on a "per interface" basis. We call this
-<I>route filtering</I>. This is used <B>instead of</B>
-<I>isolation</I>. </P>
-
-<P>What this really means is that you can control more or less completely
-which user and node management PC protocol frames pass to each of your 
-partner nodes. You can also limit what comes into your node from your 
-partners. It is even possible to control the settings that your partner 
-node has for the routing information that it sends to you 
-(using the <I>rcmd</I> command).</P>
-
-<H2><A NAME="ss1.2">1.2</A> <A HREF="adminmanual.html#toc1.2">Route Filters</A>
-</H2>
-
-<P>Initially when route filters were being tested we generated a
-"default" filter.  Unfortunately it quickly became apparent that this
-might suit the UK cluster network but didn't really fit anybody else.
-However using a default filter is an appropriate thing to do. How, is
-explained further on.</P>
-
-<P>The first thing that you must do is determine whether you need to use 
-route filtering <B>at all</B>. If you are a "normal" node with two or 
-three partners and you arranged in an "official" non-looping tree type 
-network, then <B>you do not need to do route filtering</B> and you will 
-feel a lot better for not getting involved. If you are successfully using 
-<I>isolation</I> then you also probably don't need to use route filtering.</P>
-
-<P>To put it simply, you should not mix Isolation and Route Filtering.  It 
-will work, of sorts, but you will not get the expected results.  If you 
-are using Isolation sucessfully at the moment, do not get involved in 
-Route Filtering unless you have a good supply of aspirin!  Once you have 
-started down the road of Route Filtering, do not use Isolation either.
-Use one or the other, not both.</P>
-
-<P>You will only require this functionality if you are "well-connected". What 
-that means is that you are connected to several different parts of (say) 
-the EU cluster and, at the same time, also connected to two or three places 
-in the US which, in turn are connected back to the EU. This is called a 
-"loop" and if you are seriously looped then you need filtering.</P>
-
-<P>I should at this stage give a little bit of background on filters.  All
-the filters in Spider work in basically the same way.  You can either
-accept or reject various options in order to create the filter rules
-you wish to achieve.  Some filters are user settable, others can only
-be altered by the sysop.  Route filtering can only be done by the sysop.</P>
-
-<P> 
-Anyway, without further discouragement, let me start the process
-of explanation.</P>
-
-<H2><A NAME="ss1.3">1.3</A> <A HREF="adminmanual.html#toc1.3">The node_default filter</A>
-</H2>
-
-<P>All normal systems should have a default routing filter and it should
-usually be set to send only the normal, unlooped, view of your
-"national" network.  Here in the UK that means nodes from the UK and
-Eire, in EU it is more complex as the networks there grew up in a more
-intertwined way.</P>
-
-<P> 
-The generic commands are:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/route node_default &lt;filter_option&gt;
-
-or
-
-accept/route node_default &lt;filter_option&gt;
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>where filter_option is one of the following ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-call &lt;prefixes&gt;
-call_dxcc &lt;numbers&gt;
-call_itu &lt;numbers&gt;
-call_zone &lt;numbers&gt;
-channel &lt;prefixes&gt;
-channel_dxcc &lt;numbers&gt;
-channel_itu &lt;numbers&gt;
-channel_zone &lt;numbers&gt;
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>Please be careful if you alter this setting, it will affect 
-<B><I>ALL</I></B> your links!  Remember, this is a <I>default</I>
-filter for node connections, not a <I>per link</I> default.</P>
-
-<P>For the default routing filter then you have two real choices: either
-a "national" view or the "safe" option of only your own
-callsign. Examples of each (for my node: GB7DJK) are:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-acc/route node_default call_dxcc 61,38
-acc/route node_default call gb7djk
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>GB7DJK uses the first of these. The DXCC countries can be obtained from the 
-<I>show/prefix</I> command.</P>
-
-<P>The example filters shown control <I>output</I> <B>TO</B> all your
-partner nodes unless they have a specific filter applied to them (see
-next section).</P>
-
-<P>It is also possible to control the <I>incoming</I> routing
-information that you are prepared to accept <B>FROM</B> your partner
-nodes. The reason this is necessary is to make sure that stuff like
-mail, pings and similar commands a) go down the correct links and b)
-don't loop around excessively. Again using GB7DJK as an example a typical
-default input filter would be something like:</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-rej/route node_default input call_dxcc 61,38 and not channel_dxcc 61,38
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>What this does is accept node and user information for our national
-network from nodes that are in our national network, but rejects such
-information from anyone else. Although it doesn't explicitly say so,
-by implication, any other node information (not from the UK and Eire)
-is accepted.</P>
-
-<P>As I imagine it will take a little while to get one's head around all of 
-this you can study the effect of any rules that you try by watching the 
-debug output after having done:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-set/debug filter
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>After you have got tired of that, to put it back the way it was:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-unset/debug filter
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-
-<H2><A NAME="ss1.4">1.4</A> <A HREF="adminmanual.html#toc1.4">General route filtering</A>
-</H2>
-
-<P>Exactly the same rules apply for general route filtering.  You would
-use either an accept filter or a reject filter like this ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/route &lt;node_call&gt; &lt;filter_option&gt;
-
-or
-
-accept/route &lt;node_call&gt; &lt;filter_option&gt; 
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-
-<P>Here are some examples of route filters ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-rej/route gb7djk call_dxcc 61,38 (send everything except UK+EIRE nodes)
-rej/route all                    (equiv to [very] restricted mode)
-acc/route gb7djk call_dxcc 61,38 (send only UK+EIRE nodes)
-acc/route gb7djk call gb7djk     (equiv to SET/ISOLATE)
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>In practice you will either be opening the default filter out for a
-partner by defining a specific filter for that callsign:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-acc/route gb7baa all
-acc/route gb7baa input all
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>or restricting it quite a lot, in fact making it very nearly like an 
-<I>isolated</I> node, like this:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-acc/route pi4ehv-8 call gb7djk
-rej/route pi4ehv-8 input call_dxcc 61,38 
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>This last example takes everything except UK and Eire from PI4EHV-8
-but only sends him my local configuration (just a PC19 for GB7DJK and
-PC16s for my local users).</P>
-
-<P>It is possible to write <B>much</B> more complex rules, there are up 
-to 10 accept/reject pairs per callsign per filter. For more information 
-see the next section. </P>
-
-
-<H2><A NAME="ss1.5">1.5</A> <A HREF="adminmanual.html#toc1.5">General filter rules</A>
-</H2>
-
-<P>Upto v1.44 it was not possible for the user to set their own filters.  From 
-v1.45 though that has all changed.  It is now possible to set filters for just 
-about anything you wish.  If you have just updated from an older version of 
-DXSpider you will need to update your new filters.  You do not need to do 
-anything with your old filters, they will be renamed as you update.</P>
-
-<P>There are 3 basic commands involved in setting and manipulating filters.  These 
-are <EM>accept</EM>, <EM>reject</EM> and <EM>clear</EM>.  First we will look
-generally at filtering. There are a number of things you can filter in the 
-DXSpider system. They all use the same general mechanism.</P>
-
-<P>In general terms you can create a "reject" or an "accept" filter which can have 
-up to 10 lines in it. You do this using, for example ... </P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-accept/spots .....
-reject/spots .....
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>where ..... are the specific commands for that type of filter. There are filters 
-for spots, wwv, announce, wcy and (for sysops) connects. See each different 
-accept or reject command reference for more details.</P>
-<P>There is also a command to clear out one or more lines in a filter. They are ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-clear/spots 1
-clear/spots all
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>There is clear/xxxx command for each type of filter.</P>
-
-<P>and you can check that your filters have worked by the command ... </P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-  
-show/filter
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-
-<P>For now we are going to use spots for the examples, but you can apply the same
-principles to all types of filter.</P>
-
-<H2><A NAME="ss1.6">1.6</A> <A HREF="adminmanual.html#toc1.6">Types of filter</A>
-</H2>
-
-<P>There are two main types of filter, <EM>accept</EM> or <EM>reject</EM>.  You 
-can use either to achieve the result you want dependent on your own preference 
-and which is more simple to do.  It is pointless writing 8 lines of reject 
-filters when 1 accept filter would do the same thing!  Each filter has 10 
-lines (of any length) which are tried in order.  If a line matches then the 
-action you have specified is taken (ie reject means ignore it and accept 
-means take it)</P>
-
-<P>If you specify reject filters, then any lines that arrive that match the filter 
-will be dumped but all else will be accepted.  If you use an accept filter, 
-then ONLY the lines in the filter will be accepted and all else will be dumped.
-For example if you have a single line <EM>accept</EM> filter ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>then you will <EM>ONLY</EM> get VHF spots <EM>from</EM> or <EM>to</EM> CQ zones 
-14, 15 and 16.</P>
-
-<P>If you set a reject filter like this ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/spots on hf/cw
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>Then you will get everything <EM>EXCEPT</EM> HF CW spots.  You could make this 
-single filter even more flexible.  For example, if you are interested in IOTA 
-and will work it even on CW even though normally you are not interested in 
-CW, then you could say ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/spots on hf/cw and not info iota
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>But in that case you might only be interested in iota and say:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-accept/spots not on hf/cw or info iota
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>which achieves exactly the same thing. You should choose one or the other 
-until you are comfortable with the way it works. You can mix them if you 
-wish (actually you can have an accept AND a reject on the same line) but 
-don't attempt this until you are sure you know what you are doing!</P>
-
-<P>You can arrange your filter lines into logical units, either for your own
-understanding or simply convenience. Here is an example ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/spots 1 on hf/cw
-reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>What this does is to ignore all HF CW spots and also rejects any spots on VHF 
-which don't either originate or spot someone in Europe. </P>
-
-<P>This is an example where you would use a line number (1 and 2 in this case), if 
-you leave the digit out, the system assumes '1'. Digits '0'-'9' are available.  
-This make it easier to see just what filters you have set.  It also makes it 
-more simple to remove individual filters, during a contest for example.</P>
-
-<P>You will notice in the above example that the second line has brackets.  Look 
-at the line logically.  You can see there are 2 separate sections to it.  We 
-are saying reject spots that are VHF or above <EM>APART</EM> from those in 
-zones 14, 15 and 16 (either spotted there or originated there).  If you did 
-not have the brackets to separate the 2 sections, then Spider would read it 
-logically from the front and see a different expression entirely ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-(on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>The simple way to remember this is, if you use OR - use brackets. Whilst we are 
-here CASE is not important. 'And BY_Zone' is just the same as 'and by_zone'.</P>
-<P>As mentioned earlier, setting several filters can be more flexible than 
-simply setting one complex one.  Doing it in this way means that if you want 
-to alter your filter you can just redefine or remove one or more lines of it or 
-one line. For example ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-reject/spots 1 on hf/ssb
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>would redefine our earlier example, or </P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-clear/spots 1
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>To remove all the filter lines in the spot filter ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-clear/spots all
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-
-<H2><A NAME="ss1.7">1.7</A> <A HREF="adminmanual.html#toc1.7">Filter options</A>
-</H2>
-
-<P>You can filter in several different ways.  The options are listed in the
-various helpfiles for accept, reject and filter.</P>
-
-<H2><A NAME="ss1.8">1.8</A> <A HREF="adminmanual.html#toc1.8">Default filters</A>
-</H2>
-
-<P>Sometimes all that is needed is a general rule for node connects.  This can
-be done with a node_default filter.  This rule will always be followed, even
-if the link is isolated, unless another filter is set specifically.  Default
-rules can be set for nodes and users.  They can be set for spots, announces,
-WWV and WCY.  They can also be used for hops.  An example might look like 
-this ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-accept/spot node_default by_zone 14,15,16,20,33
-set/hops node_default spot 50
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>This filter is for spots only, you could set others for announce, WWV and WCY.
-This filter would work for ALL nodes unless a specific filter is written to 
-override it for a particular node.  You can also set a user_default should
-you require.  It is important to note that default filters should be
-considered to be "connected".  By this I mean that should you override the
-default filter for spots, you need to add a rule for the hops for spots also.</P>
-
-<H2><A NAME="ss1.9">1.9</A> <A HREF="adminmanual.html#toc1.9">Advanced filtering</A>
-</H2>
-
-<P>Once you are happy with the results you get, you may like to experiment. </P>
-
-<P>The previous example that filters hf/cw spots and accepts vhf/uhf spots from EU 
-can be written with a mixed filter, for example ... </P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-rej/spot on hf/cw
-acc/spot on 0/30000
-acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>Note that the first filter has not been specified with a number.  This will 
-automatically be assumed to be number 1.  In this case, we have said <EM>reject all
-HF spots in the CW section of the bands but accept all others at HF.  Also
-accept anything in VHF and above spotted in or by operators in the zones
-14, 15 and 16</EM>.  Each filter slot actually has a 'reject' slot and 
-an 'accept' slot. The reject slot is executed BEFORE the accept slot.</P>
-
-<P>It was mentioned earlier that after a reject test that doesn't match, the default 
-for following tests is 'accept', the reverse is true for 'accept'. In the example 
-what happens is that the reject is executed first, any non hf/cw spot is passed 
-to the accept line, which lets through everything else on HF.  The next filter line 
-lets through just VHF/UHF spots from EU.</P>
-
-<H2><A NAME="ss1.10">1.10</A> <A HREF="adminmanual.html#toc1.10">Basic hop control</A>
-</H2>
-
-<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>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-# 
-# hop table construction
-# 
-
-package DXProt;
-
-# 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>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>SHould any of the nodecalls include an ssid, it is important to wrap the
-whole call in single quotes, like this ...</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
- 'DB0FHF-15' => {
-                        11 => 5,
-                        12 => 8,
-                        16 => 8,
-                        17 => 8,
-                        19 => 8,
-                        21 => 8,
-                   },
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>If you do not do this, you will get errors and the file will not work as
-expected.</P>
-
-<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>
-
-<H2><A NAME="ss1.11">1.11</A> <A HREF="adminmanual.html#toc1.11">Hop Control on Specific Nodes</A>
-</H2>
-
-<P>You can set a callsign specific hop count for any of the standard filter
-options so:-</P>
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-set/hops gb7djk spot 4
-set/hops node_default route 10
-set/hops gb7baa wcy 5
-</PRE>
-</CODE></BLOCKQUOTE>
-</P>
-<P>all work on their specific area of the protocol.</P>
-
-<P>The <EM>set/hops</EM> command overrides any hops that you have set otherwise.</P>
-
-<P>You can show what hops have been set using the <EM>show/hops</EM> command.</P>
-
-<H2><A NAME="ss1.12">1.12</A> <A HREF="adminmanual.html#toc1.12">Isolating networks</A>
-</H2>
-
-<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 
-node 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>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 use
-an <EM>acc/spot &gt;call&lt; all</EM> filter to override the isolate. </P>
-
-<HR>
-<A HREF="adminmanual-2.html">Next</A>
-Previous
-<A HREF="adminmanual.html#toc1">Contents</A>
-</BODY>
-</HTML>