X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=txt%2Finstallation.txt;h=6df2a3eed5ddab9a2e2dc0e6e6268607af00e878;hb=18a88cbe1dd85e01e6ee403505bf9571d260d315;hp=2fc1f7f74601df0207b3d1b7e9d6d6950242ecae;hpb=5ef76d924070fc349c8359412989ca74d2c4711d;p=spider.git diff --git a/txt/installation.txt b/txt/installation.txt index 2fc1f7f7..6df2a3ee 100644 --- a/txt/installation.txt +++ b/txt/installation.txt @@ -1,7 +1,7 @@ - The DXSpider Installation Manual v1.48 + The DXSpider Installation Manual v1.49 Iain Philipps, G0RDI (g0rdi@77hz.com) and Ian Maude, G0VGS, - (ianmaude@btinternet.com) - Version 1.48, September 2001 revision 1.0 + (g0vgs@gb7mbc.net) + February 2002 revision 1.2 A reference for SysOps of the DXSpider DXCluster program. ______________________________________________________________________ @@ -9,48 +9,116 @@ Table of Contents + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1. Linux Installation 1.1 Introduction 1.2 Preparation 1.3 Installing the software 1.4 Setting callsigns etc - 1.5 Starting up for the first time - 1.6 The Client program + 1.5 The client program + 1.6 Starting up for the first time 2. Linux quick installation guide - 3. Configuration + 3. Setting up the AX25 Utilities + + 3.1 Getting Started + 3.2 The kernel + 3.3 Installing the RPM's + 3.4 Configuration + 3.5 axports + 3.6 nrports + 3.7 nrbroadcast + 3.8 ax25d.conf + 3.9 node.conf + 3.10 Getting it all running - 3.1 Allowing ax25 connects from users - 3.2 Allowing telnet connects from users - 3.3 Setting up telnet connects (from 1.47 onwards) - 3.4 Setting up for AGW Engine (1.47 onwards) - 3.5 Setting up node connects - 3.6 Connection scripts - 3.7 Starting the connection - 3.8 Telnet echo - 3.9 Autostarting the cluster + 4. Configuration - 4. Microsoft Windows Installation + 4.1 Allowing ax25 connects from users + 4.2 Allowing telnet connects from users + 4.3 Setting up telnet connects (from 1.47 onwards) + 4.4 Setting up for AGW Engine (1.47 onwards) + 4.5 Setting up node connects + 4.6 Connection scripts + 4.7 Starting the connection + 4.8 Telnet echo + 4.9 Autostarting the cluster - 4.1 Introduction - 4.2 The requirements - 4.3 The system - 4.4 Perl - 4.5 Additional packages - 4.6 Getting Spider + 5. Microsoft Windows Installation - 5. Installing the software + 5.1 Introduction + 5.2 The requirements + 5.3 The system + 5.4 Perl + 5.5 Additional packages + 5.6 Getting Spider - 5.1 The AGW packet engine - 5.2 Setting up the initial user files - 5.3 Incoming telnets - 5.4 Connecting to other clusters + 6. Installing the software - 6. General Information + 6.1 Incoming telnets + 6.2 The AGW packet engine + 6.3 Setting up the initial user files + 6.4 Connecting to other clusters - 6.1 The crontab file + 7. General Information + + 7.1 The crontab file ______________________________________________________________________ @@ -79,7 +147,11 @@ In addition to the standard Red Hat distribution you will require the - following modules from http://www.cpan.org/CPAN.html ... + following modules from http://www.cpan.org/CPAN.html , please note + however that with later versions of perl, some of these modules may be + included with the distribution. Get the modules anyway and try to + install as below. If they complain, they are probably already a part + of your perl distribution. @@ -118,12 +190,6 @@ - - - - - - @@ -202,6 +268,16 @@ + For SUSE distributions, the command would be .. + + + + # useradd -m sysop + + + + + Now set a password for the user ... @@ -230,6 +306,7 @@ + If you do not have the command groupadd available to you simply add a line in /etc/group by hand. @@ -240,6 +317,7 @@ + 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 @@ -250,8 +328,6 @@ The next step is to set the permissions on the Spider directory tree and files .... - - # chown -R sysop.spider spider # find . -type d -exec chmod 2775 {} \; # find . -type f -exec chmod 775 {} \; @@ -297,243 +373,798 @@ - 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 .... + Using the distributed DXVars.pm as a a template, set your cluster + callsign, sysop callsign and other user info to suit your own + environment. + + + + $mycall = "GB7DJK"; + + + + + + This is the call sign of your cluster. If you use an SSID then + include it here also. + + + + $myalias = "G1TLH"; + + + + This is the sysop user callsign, normally your own. + + + PLEASE USE CAPITAL LETTERS FOR CALLSIGNS + + + 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 .... + + $myemail = "ianmaude\@btinternet.com"; + + + There appears to be an extra slash in there. However this has to be + there for the file to work so leave it in. + + + DON'T alter any 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! + + + Save the new file and change directory to ../perl .... + + + + $ cd ../perl + + + + + + Now type the following command which creates the basic user file with + you as the sysop. + + + + $ ./create_sysop.pl + + + + + + 1.5. The client program + + In earlier versions of Spider, all the processes were Perl scripts. + This was fine but with a lot of users your computer memory would soon + be used up. To combat this a new client was written in "C". This + client only works for incoming connects at the moment. Before you can + use it though it has to be "made". CD to /spider/src and type make. + You should see the output on your screen and hopefully now have a + small C program called client. Leave it in this directory. + + + + 1.6. Starting up for the first time + + We can now bring spider up for the first time and see if all is well + or not! It should look something like this ... + + + + + $ ./cluster.pl + DXSpider DX Cluster Version 1.47 + 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 ... + + + + + + If all is well then login on another term or console as sysop and cd + to /spider/src. Now issue the following command ... + + + + $ ./client + + + + + + 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 .... + + + + G0VGS de GB7MBC 19-Nov-1999 2150Z > + + + + + + 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 .... + + + + shutdown + + + + + + and both the cluster and the client should return to Linux prompts. + + + + 2. Linux quick installation guide + + This section is designed for experienced Spider sysops who want to + install Spider from scratch. It is simply a check list of things that + need to be done without any explanations. The name in brackets at the + end of each line is the user that should be doing that process. + + + o Login as root + + o Get the additional CPAN modules and install them (root) + + o Create the "sysop" user and set a password (root) + + o Put the Spider tarball in sysop and untar it (root) + + o ln -s sysop/spider /spider (root) + + o groupadd -g 251 spider (root) + + o Add any more users you need to the group entry in /etc/group (root) + + o Set the permissions on the spider tree (root) + + o Fix permissions on ax25_call and netrom_call (root) + + o Login as the sysop user + + o cd to /spider (sysop) + + o mkdir local (sysop) + + o mkdir local_cmd (sysop) + + o cp perl/DXVars.pm.issue local/DXVars.pm (sysop) + + o cd to /spider/local and edit DXVars to set your details (sysop) + + o cd ../perl (sysop) + + o ./create_sysop.pl (sysop) + + o ./cluster.pl (sysop) + + + Spider should now be running and you should be able to login using the + client program. + + + o Login as root + + o Enter the correct line in ax25d.conf (root) + + o Enter the correct line in /etc/services (root) + + o Enter the correct line in /etc/inetd.conf (root) + + o killall -HUP inetd (root) + + + Spider should now be able to accept logins via telnet, netrom and + ax25. + + + o Login as sysop + + o Start the cluster (sysop) + + o set/node and type for links (sysop) + + o Write any connect scripts (sysop) + + o Edit /spider/crontab as required (sysop) + + o Edit any other files as necessary (sysop) + + o Set filters, hops and forwarding files (sysop) + + o Login as root + + o Enter the correct line in /etc/inittab (root) + + + 3. Setting up the AX25 Utilities + + The aim of this section is not to fully cover the installation and + configuration of all the possible ax25 modules. I will attempt to + cover a simple installation and configure 2 serial ports as if they + had TNC's on them. I will also show what additional configuration the + DXSpider program requires. + + + Please bear in mind that I am basing this section on a RedHat 7.1 + distribution, if you are using SuSe or any other distibution then your + mileage may vary. I will be happy to make any changes and additions + if you email me any errors or distribution specific requirements. + + + You would probably benefit from reading the AX25-HOWTO which is much + more comprehensive and an interesting configuration program is also + available called ax25-config which may help you to configure things. + + + The following files are extracts from the working files at GB7MBC and + are in daily use. However, there are many ways that you can configure + the ax25 utils, this is just the one I use, it does not mean it is + necessarily the best or for that matter, the right way! + + + 3.1. Getting Started + + There are 2 things you need to do initially. You need to get the 3 + files required for the ax25 installation and you need to make some + changes to the kernel configuration. + + + The first thing is to get the versions of the ax25 utils that match + your kernel. You may also wish to get a node package of some kind. + There are 2 main node packages in use of which I shall keep to the + original by Tomi Manninen, OH2BNS as this is included in the ax25 rpms + as standard. The other is AWZNode by IZ5AWZ. + + + For 2.4 kernels you need these files... + + + + o libax25-0.0.7-7.i386.rpm + + o ax25-tools-0.0.6-13.i386.rpm + + o ax25-apps-0.0.4-9.i386.rpm + + + 3.2. The kernel + + First you need to add Amateur Radio Support to your kernel. This is a + main menu item and should be easily found. Within this header you + will find lots of options. For our purposes you need to enable + Amateur Radio AX.25 Level 2 Protocol, NET/ROM and the Serial Port KISS + Driver. For the purposes of this document I will work under the + assumption that you include them in the kernel fully, ie not as + modules. If you need to look at compiling your kernel for ax25 more + fully, I would refer to the excellent AX25-HOWTO + + + I should say at this stage that NET/ROM is not mandatory. If you do + not use it simply ignore any instruction concerning it. + + + Now recompile your kernel in the normal way and reboot your system. + + + 3.3. Installing the RPM's + + Now install the RPM's you downloaded, libax25 first, then ax25-tools, + then ax25-apps. + + + + rpm -ivh libax25-0.0.7-7.i386.rpm + rpm -ivh ax25-tool-0.0.6-13.i386.rpm + rpm -ivh ax25-apps-0.0.4-9.i386.rpm + + + + + + 3.4. Configuration + + You will find the configuration files in /etc/ax25. These consist of + several files ... + + + o axports + + o nrports + + o nrbroadcast + + o ax25d.conf + + o node.conf + + + These are the main files. You will find other files but they do not + have any use unless you are wanting to use that particular protocol, + Rose or axip for example. + + + NOTE:- before we start it is important to realise that every interface + requires a different SSID. You should be able to follow this in the + following examples. + + + 3.5. axports + + This file sets up the ax25 ports you want to use. An example is below + for a standard TNC2 ... + + + + #portname callsign baudrate paclen window description + 2m gb7mbc-2 19200 256 2 2m port on 144.900MHz + 4m gb7mbc-4 19200 256 2 4m port on 70.325MHz + + + + Note that the portnames have to be unique. + + + The file headings are as follows ... + + + portname - The name you will refer to the port by + callsign - The ax25 callsign you want to assign to the port + baudrate - The speed you communicate between TNC and computer + paclen - The maximum packet length for ax25 connections + window - The ax25 window parameter. This is like 'maxframe' + description - A textual description of the port + + + + + 3.6. nrports + + This file sets up the netrom ports you want to use. An example is + below and includes a port for both cluster and node. You will see why + we need 2 ports later ... + + + + #portname callsign alias paclen description + netrom gb7mbc-8 BARE 236 Node Netrom Port + netrom2 gb7mbc-9 MBCDX 236 Cluster Netrom Port + + + + + + Note that the portnames have to be unique. + + + The file headings are as follows ... + + + portname - The name you will refer to the port by + callsign - This is the callsign that NET/ROM traffic from this + port will use + alias - The NET/ROM alias this port will be assigned + paclen - The maximum size of NET/ROM frames transmitted + description - A textual description of the port + + + + + 3.7. nrbroadcast + + This file sets up the netrom broadcast qualities. An example is below + ... + + + + #axport min_obs def_qual worst_qual verbose + 4m 5 10 100 1 + + + + + + The file headings are as follows ... + + + + axport - The port name in axports that you wish to broadcast + NET/ROM on. + min_obs - The minimum obsolescence value for the port + def_qual - The default quality for the port + worst_qual - The worst quality for the port. Any routes under + this quality will be ignored + verbose - This flag determines whether you will only broadcast + your own node (0) or all known nodes (1) + + + + + 3.8. ax25d.conf + + This file controls any incoming ax25 and NET/ROM connections and + steers them to the relevant program. There are lots of configuration + options you can set here, however they are well covered in the + AX25-HOWTO. For our purposes I will show a typical set of parameters. + An example is below ... + + + + [gb7mbc-0 via 2m] + parameters 2 1 6 900 * 15 0 + NOCALL * * * * * * L + default * * * * * * - sysop /spider/src/client client %u ax25 + + [gb7mbc-1 via 2m] + parameters 2 1 6 900 * 15 0 + NOCALL * * * * * * L + default * * * * * * 0 root /usr/sbin/node node + + [gb7mbc-0 via 4m] + parameters 2 1 6 900 * 15 0 + NOCALL * * * * * * L + default * * * * * * - sysop /spider/src/client client %u ax25 + + [gb7mbc-1 via 4m] + parameters 2 1 6 900 * 15 0 + NOCALL * * * * * * L + default * * * * * * 0 root /usr/sbin/node node + + + parameters 1 10 * * * 3 * + NOCALL * * * * * * L + default * * * * * * - sysop /spider/src/client client %u ax25 + + + parameters 1 10 * * * 3 * + NOCALL * * * * * * L + default * * * * * * 0 root /usr/sbin/node node + + + + + + There are a few things to take note of here. Firstly, all ax25 + sections are wrapped in [ ] and all NET/ROM sections are wrapped in < + >. Secondly you should be able to see that anyone who forgets to set + their callsign in a TNC and tries to connect with the standard NOCALL + set into their TNC will not connect, the 'L' means 'lockout'. Lastly + and importantly, notice the order of the sections. They are all done + in interface order. + + + + You should be able to see that the normal line for access to the + cluster is like this .. + + + + default * * * * * * - sysop /spider/src/client client %u ax25 + + + + + + however, if you wish your users to be able to use SSID's on their + callsigns .. + + + + default * * * * * * - sysop /spider/src/client client %s ax25 + + + + + + For most purposes this is not desirable. The only time you probably + will need this is when you need to allow other cluster nodes that are + using SSID's in. In this case it would probably be better to use the + first example and then add a specific line for that node like this: + + + + GB7DJK-2 * * * * * * - sysop /spider/src/client client gb7djk-2 ax25 + default * * * * * * - sysop /spider/src/client client %u ax25 + + + + + + 3.9. node.conf + + For those of you that wish to run the node, you need to set up the + node.conf file. There are a couple of additional files, node.perms is + very similar to the way ftp permissions are set up in NOS systems and + node.motd is the message anyone logging into the node will get. The + node.conf file sets all the parameters of the node as you would + expect. An example is below ... + + + + + + + + + + + + + - $myemail = "ianmaude\@btinternet.com"; - There appears to be an extra slash in there. However this has to be - there for the file to work so leave it in. - PLEASE USE CAPITAL LETTERS FOR CALLSIGNS - DON'T alter any 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! - Save the new file and change directory to ../perl .... + # /etc/ax25/node.conf - LinuxNode configuration file + # + # see node.conf(5) + # Idle timeout (seconds). + # + IdleTimeout 1800 + # Timeout when gatewaying (seconds). + # + ConnTimeout 40000 - $ cd ../perl + # Visible hostname. Will be shown at telnet login. + # + HostName gb7mbc.ampr.org + # ReConnect flag. + # + ReConnect off - Now type the following command which creates the basic user file with - you as the sysop. + # "Local" network. + # + #LocalNet 44.139.8.48/32 + # Command aliases. See node.conf(5) for the meaning of the uppercase + # letters in the name of the alias. + # + ##Alias CAllbook 'telnet %{2:44.17.0.53} 1235 %1 s' + #Alias CONVers 'telnet %{2:oh2ti} 3600 "/n %u %{1:139}\n/w *"' + #Alias CLuster 'c hkiclh' + Alias CONV "telnet lurpac 3600" + Alias BBS "c 70cm gb7crv" + Alias DXC "telnet localhost 9000" + Alias MUD "telnet homer 4000" + ##Alias TEMP "finger temp@mary.g6phf" + ##Alias TNOS "c ip1 gb7mbc-5" + ##Alias TUtor "telnet gb7mbc 3599" + + # Hidden ports. + # + #HiddenPorts 2 + # External commands. See node.conf(5) for the meaning of the uppercase + # letters in the name of the extcmd. + # + # Flags: 1 Run command through pipe + # 2 Reconnected flag + # + #ExtCmd TPM 3 nobody /usr/bin/finger finger tpm + #ExtCmd ECho 1 nobody /bin/echo echo \%U \%u \%S \%s \%P \%p \%R \%r \%T \%t \%\% \%0 \%{1:foobar} \%{2} \%3 \%4 \%5 - $ ./create_sysop.pl + # Node ID. + # + NodeId "\nBARE:GB7MBC-1" + #NodeId \033[01;31m***\033[0m + # Netrom port name. This port is used for outgoing netrom connects. + # + NrPort netrom + # Logging level + # + LogLevel 3 + # The escape character (CTRL-T) + # + EscapeChar ^T + # Resolve ip numbers to addresses? + # + ResolveAddrs off - 1.5. Starting up for the first time + # Node prompt. + # + #NodePrompt "\n" + #NodePrompt "%s@%h \%i> " + NodePrompt "\nBARE:GB7MBC-1 \%i > " + #NodePrompt "\a\033[36m%U\033[0m de \033[01;32m#LNODE\033[0m:\033[01;33mOH2BNS-10\033[0m> " - We can now bring spider up for the first time and see if all is well - or not! It should look something like this ... - $ ./cluster.pl - DXSpider DX Cluster Version 1.47 - 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 ... + This should be fairly obvious I hope. + 3.10. Getting it all running + Ok, now we have all the relevant files configured, the next step is to + get it all running. - If all is well then login on another term or console as sysop and cd - to /spider/src. Now issue the following command ... + The first thing to do is attach the TNC's. Your TNC's should be in + KISS mode and connected to the serial ports involved. - $ ./client + You now use the 'kissattach' command to connect the TNC's to the + system like this ... + kissattach /dev/ttyS0 2m 44.131.96.199 + kissattach /dev/ttyS1 4m 44.131.96.199 - 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 .... - G0VGS de GB7MBC 19-Nov-1999 2150Z > + Assuming that 44.131.96.199 is your IP address. The devices ttyS0 and + ttyS1 are com1 and com2 respectively. Now we can set some parameters + ... + kissparms -p 2m -t 150 -l 150 -s 50 -r 50 + kissparms -p 4m -t 150 -l 150 -s 50 -r 50 - 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 .... - shutdown + The command 'man kissparms' will give you the explanation of the + switches. - and both the cluster and the client should return to Linux prompts. + Now we need to attach the NET/ROM ports in the same way ... - 1.6. The Client program - In earlier versions of Spider, all the processes were Perl scripts. - This was fine but with a lot of users your computer memory would soon - be used up. To combat this a new client was written in "C". This - client only works for incoming connects at the moment. Before you can - use it though it has to be "made". CD to /spider/src and type make. - You should see the output on your screen and hopefully now have a - small C program called client. Leave it in this directory. + nrattach netrom + nrattach netrom2 + All of the above can be put in a file and called from + /etc/rc.d/rc.local. Put all the above commands in a file called + rc.ax25 and put a line in rc.local to call it. - 2. Linux quick installation guide - This section is designed for experienced Spider sysops who want to - install Spider from scratch. It is simply a check list of things that - need to be done without any explanations. The name in brackets at the - end of each line is the user that should be doing that process. + Now you can start the daemons that set everything in motion ... - o Login as root - o Get the additional CPAN modules and install them (root) + ax25d + netromd -i - o Create the "sysop" user and set a password (root) - o Put the Spider tarball in sysop and untar it (root) - o ln -s sysop/spider /spider (root) - o groupadd -g 251 spider (root) - o Add any more users you need to the group entry in /etc/group (root) + All should now be running. All that remains is to get the node + working for telnet connections. If nothing else, this will allow you + to connect to the node yourself to check on connection status etc. + There are 2 files that need to be edited. - o Set the permissions on the spider tree (root) - o Fix permissions on ax25_call and netrom_call (root) + First edit /etc/services and add - o Login as the sysop user - o cd to /spider (sysop) - o mkdir local (sysop) + node 3000/tcp #OH2BNS's Node Software - o mkdir local_cmd (sysop) - o cp perl/DXVars.pm.issue local/DXVars.pm (sysop) - o cd to /spider/local and edit DXVars to set your details (sysop) - o cd ../perl (sysop) - o ./create_sysop.pl (sysop) + Assuming you want it to run on port 3000 - o ./cluster.pl (sysop) - Spider should now be running and you should be able to login using the - client program. + Now cd /etc/xinetd.d and edit a new file called node. It should look + like this ... - o Login as root + # default: on + # unencrypted username/password pairs for authentication. + service node + { + socket_type = stream + wait = no + user = root + server = /usr/sbin/node + log_on_failure += USERID + disable = yes + } - o Enter the correct line in ax25d.conf (root) - o Enter the correct line in /etc/services (root) - o Enter the correct line in /etc/inetd.conf (root) - o killall -HUP inetd (root) - Spider should now be able to accept logins via telnet, netrom and - ax25. + You now need to restart the xinetd daemon. First find out what the + PID is like so .. - o Login as sysop - o Start the cluster (sysop) + ps auxw |grep xinetd - o set/node and type for links (sysop) - o Write any connect scripts (sysop) - o Edit /spider/crontab as required (sysop) - o Edit any other files as necessary (sysop) + You will get a reply something like this ... - o Set filters, hops and forwarding files (sysop) - o Login as root - o Enter the correct line in /etc/inittab (root) + root 592 0.0 0.1 2256 620 ? S Feb07 0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid - 3. Configuration - 3.1. Allowing ax25 connects from users - As stated previously, the aim of this document is not to tell you how - to configure Linux or the ax25 utilities. However, you do need to add - a line in your ax25d.conf to allow connections to DXSpider for your - users. For each interface that you wish to allow connections on, use - the following format ... + The PID or Process ID is 592 in this case so now we can issue the + command ... - default * * * * * * - sysop /spider/src/client client %u ax25 + kill -HUP 592 - or, if you wish your users to be able to use SSID's on their callsigns - .. + All should now be operational and you should be able to log into the + node by using a telnet session to the relevant port, like so ... - default * * * * * * - sysop /spider/src/client client %s ax25 + telnet localhost 3000 - For most purposes this is not desirable. The only time you probably - will need this is when you need to allow other cluster nodes that are - using SSID's in. In this case it would probably be better to use the - first example and then add a specific line for that node like this: + If that works, you are just about there. you should (assuming you + have radios connected to the TNC's) be able to connect out to other + stations and receive incoming ax25 and netrom connections. - GB7DJK-2 * * * * * * - sysop /spider/src/client client gb7djk-2 ax25 - default * * * * * * - sysop /spider/src/client client %u ax25 + 4. Configuration + 4.1. Allowing ax25 connects from users + This is dealt with in the previous section - 3.2. Allowing telnet connects from users + 4.2. Allowing telnet connects from users From version 1.47 there is a new (more efficient) way of doing this @@ -552,9 +1183,8 @@ - Then add a line in /etc/inetd.conf like this .... - + Then add a line in /etc/inetd.conf like this .... spdlogin stream tcp nowait root /usr/sbin/tcpd /spider/src/client login telnet @@ -572,7 +1202,6 @@ - Now login as sysop and cd spider/src. You can test that spider is accepting telnet logins by issuing the following command .... @@ -583,6 +1212,7 @@ + You should get a login prompt and on issuing a callsign, you will be given access to the cluster. Note, you will not get a password login. There seems no good reason for a password prompt to be given so it is @@ -592,6 +1222,7 @@ Assuming all is well, then try a telnet from your linux console .... + telnet localhost 8000 @@ -601,7 +1232,7 @@ You should now get the login prompt and be able to login as before. - 3.3. Setting up telnet connects (from 1.47 onwards) + 4.3. Setting up telnet connects (from 1.47 onwards) From version 1.47 you can choose to allow the perl cluster.pl program to allow connections directly (i.e. not via the /spider/src/client @@ -620,6 +1251,7 @@ + to make the change happen... @@ -668,7 +1300,7 @@ users. - 3.4. Setting up for AGW Engine (1.47 onwards) + 4.4. Setting up for AGW Engine (1.47 onwards) AGW Engine is a Windows based ax25 stack. You can connect to an AGW engine from Linux as well as Windows based machines. @@ -685,6 +1317,7 @@ installation. If you haven't set any there, then you should not touch these values. + o You can connect to a remote AGW engine (ie on some other machine) by changing $addr and $port appropriately. @@ -693,7 +1326,7 @@ - 3.5. Setting up node connects + 4.5. Setting up node connects In order to allow cluster node connections, spider needs to know that the connecting callsign is a cluster node. This is the case whether @@ -723,7 +1356,6 @@ an AK1A type node. - Start up the cluster as you did before and login as the sysop with client. The cluster node I am wanting to make a connection to is GB7BAA but you would obviously use whatever callsign you required. At @@ -752,7 +1384,6 @@ - You should get an initialisation string from DXSpider like this ... @@ -780,7 +1411,7 @@ - 3.6. Connection scripts + 4.6. Connection scripts Because DXSpider operates under Linux, connections can be made using just about any protocol; AX25, NETRom, tcp/ip, ROSE etc are all @@ -789,7 +1420,6 @@ connections is therefore relatively simple. - The connect scripts consist of lines which start with the following keywords or symbols:- @@ -850,18 +1480,12 @@ - - - - - - - timeout 60 - abort (Busy|Sorry|Fail) - # don't forget to chmod 4775 netrom_call! - connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh - # you can leave this out if you call the script 'gb7dxm' - client gb7dxm ax25 + timeout 60 + abort (Busy|Sorry|Fail) + # don't forget to chmod 4775 netrom_call! + connect ax25 /usr/sbin/netrom_call bbs gb7djk g1tlh + # you can leave this out if you call the script 'gb7dxm' + client gb7dxm ax25 @@ -892,15 +1516,12 @@ client gb7djk telnet - - - Both these examples assume that everything is set up properly at the other end. You will find other examples in the /spider/examples directory. - 3.7. Starting the connection + 4.7. Starting the connection You start the connection, from within a sysop enabled cluster login, by typing in the word connect followed by a script name like this .... @@ -914,6 +1535,7 @@ + This will start a connection using the script called gb7djk-1. You can follow the connection by watching the term or console from where you started cluster.pl. From version 1.47 onwards, you will need to @@ -921,33 +1543,32 @@ - - <- D G1TLH connect gb7djk-1 - -> D G1TLH connection to GB7DJK-1 started - -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z > - timeout set to 15 - CONNECT sort: telnet command: dirkl.tobit.co.uk - CHAT "login" -> "gb7djk" - received " - Red Hat Linux release 5.1 (Manhattan) - Kernel 2.0.35 on an i586 - " - received "login: " - sent "gb7djk" - CHAT "word" -> "gb7djk" - received "gb7djk" - received "Password: " - sent "gb7djk" - Connected to GB7DJK-1, starting normal protocol - <- O GB7DJK-1 telnet - -> B GB7DJK-1 0 - GB7DJK-1 channel func state 0 -> init - <- D GB7DJK-1 - <- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1 - <- D GB7DJK-1 PC38^GB7DJK-1^~ - <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime - 0 00:00^5447^~ - etc + <- D G1TLH connect gb7djk-1 + -> D G1TLH connection to GB7DJK-1 started + -> D G1TLH G1TLH de GB7DJK 13-Dec-1998 2046Z > + timeout set to 15 + CONNECT sort: telnet command: dirkl.tobit.co.uk + CHAT "login" -> "gb7djk" + received " + Red Hat Linux release 5.1 (Manhattan) + Kernel 2.0.35 on an i586 + " + received "login: " + sent "gb7djk" + CHAT "word" -> "gb7djk" + received "gb7djk" + received "Password: " + sent "gb7djk" + Connected to GB7DJK-1, starting normal protocol + <- O GB7DJK-1 telnet + -> B GB7DJK-1 0 + GB7DJK-1 channel func state 0 -> init + <- D GB7DJK-1 + <- D GB7DJK-1 Last login: Sun Dec 13 17:59:56 from dirk1 + <- D GB7DJK-1 PC38^GB7DJK-1^~ + <- D GB7DJK-1 PC18^ 1 nodes, 0 local / 1 total users Max users 0 Uptime + 0 00:00^5447^~ + etc @@ -961,14 +1582,6 @@ This means if a node is unreachable, it will continue sending logins and logouts to users even though it is not actually connecting. To avoid this use the following line ... - - - - - - - - In a script, this might look like ... @@ -981,7 +1594,7 @@ - 3.8. Telnet echo + 4.8. Telnet echo Cluster links in particular suffer greatly from the presence of telnet echo. This is caused by the telnet negotiation itself and can create @@ -1013,6 +1626,7 @@ + So, the first connection is made by Spider. This is fine as Spider uses the Net_Telnet script from within perl. This actually uses TCP rather than TELNET so no negotiation will be done on the first @@ -1025,7 +1639,7 @@ - 3.9. Autostarting the cluster + 4.9. Autostarting the cluster Ok, you should now have DXSpider running nicely and allowing connects by cluster nodes or users. However, it has to be shutdown and @@ -1033,6 +1647,7 @@ automatically. + This is not only a way to start the cluster automatically, it also works as a watchdog, checking the sanity of DXSpider and respawning it should it crash for any reason. Before doing the following, shutdown @@ -1054,6 +1669,9 @@ This line works fine for RedHat distributions. It is also fine for SuSE up to 7.0. From Suse 7.1 you need to add runlevels 2 and 5 like this ... + + + DX:235:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty7 @@ -1080,9 +1698,9 @@ sysop you should find everything running nicely. - 4. Microsoft Windows Installation + 5. Microsoft Windows Installation - 4.1. Introduction + 5.1. Introduction IMPORTANT: @@ -1107,7 +1725,7 @@ connections. - 4.2. The requirements + 5.2. The requirements The very first things you're going to need are (in order of importance):- @@ -1119,7 +1737,6 @@ download the necessary software bits and bobs directly to it. There are other ways, but this is preferable. - o Another cup of good, strong tea o If all goes according to plan, about an hour to spare @@ -1127,7 +1744,7 @@ o Plenty of good, strong tea - 4.3. The system + 5.3. The system The platform I used to generate these instructions was a "vanilla" Microsoft Windows Me 4.90.3000 system, with a 700MHz AMD Athlon @@ -1150,7 +1767,7 @@ zero intention of trying to make them say otherwise. - 4.4. Perl + 5.4. Perl Install your chosen Perl environment. Unless you have a very good reason for not doing so, I strongly suggest that you use ActivePerl @@ -1181,7 +1798,7 @@ passed. Assuming it did work, you may now move on. - 4.5. Additional packages + 5.5. Additional packages Some extensions ("packages") need to be added to the base Perl distribution, and we'll do this next. If you're using the Perl I @@ -1228,6 +1845,7 @@ + I'm not going to bother you with exhaustive details of the rest of them, but suffice it to say you need to: @@ -1249,38 +1867,50 @@ because it suits me. - - - - 4.6. Getting Spider + 5.6. Getting Spider Get the current version of the DX Spider distribution. This needs to be v1.47 or later. You've got two ways (currently) of getting this; either get a CVS update from sourceforge (if you don't know what this - is, then it isn't for you) or get my package from:- + is, then it isn't for you) or get the latest "official" release from:- - http://www.dcc.rsgb.org/WinSpider.zip + http://www.dxcluster.org/download/index.html - or if you want the lastest CVS version (which is produced every night) + or if you want the lastest snapshot of CVS version (which is produced + every night):- http://www.dxcluster.org/download/CVSlatest.tgz - If you went down the CVS route, then everything will be nicely set out - on your local disk. If you got the ZIP file, unpack it to somewhere + This is generally the best one to go for as it is completely up to + date. However, there is always the very slight chance that it might + unstable. Generally, there will be a note on the website if this is + the case. + + + The only difference between "CVSlatest.tgz" and the latest "official" + release version is that it is more up to date. Don't confuse this TGZ + file with "Downloading from Sourceforge with CVS" - they are two quite + different things. + + + If you went down the CVS route (ie installed wincvs and downloaded + from sourceforge), then everything will be nicely set out on your + local disk. If you got the TGZ file, unpack it to somewhere convenient. The following examples assume that you put it on drive "C:\", for convenience. - NOTE: This distribution method will go away as soon as the first v1.47 - tarball is released. You can use WinZip to unpack that, and my life - will be made easier by not needing to keep this .ZIP file updated. + You will need winzip to manipulate the TGZ files (they are bit like + ZIP files) if you are not using CVS. + + + 6. Installing the software - 5. Installing the software + Ensure that your CVS session or your WINunZIPped file have left you + with a directory "C:\spider\local" and C:\spider\local_cmd"; if not, + go to "C:\spider\" and create them. If "C:\spider" is missing, go back + and figure out why, because it shouldn't be. - Ensure that your CVS session or your unZIPped file have left you with - a directory "C:\spider\local"; if not, go to "C:\spider\" and create - one. If "C:\spider" is missing, go back and figure out why, because it - shouldn't be. Now create your own local copy of the DXVars.pm file by:- @@ -1317,17 +1947,77 @@ o $mycall - Should hold the callsign of your DX Cluster - o $myname - The SysOp's first name o $myalias - the SysOp's callsign. Cannot be the same as $mycall! - You really also ought to update the $mylatitude, $mylongitude, $myqth - and $myemail variables. And unless you are absolutely certain you know - what you're doing, you should change nothing else in this file. + o $myqth - The station's geographical location (QTH). + + o $mylatitude - The station latitude in degrees and decimal fractions + + o $mylongitude - The station longitude in degrees and decimal + fractions + + o $mylocator - The Maidenhead (or QRA) locator of the station + + You really also ought to update the $myqth and $myemail variables. And + unless you are absolutely certain you know what you're doing, you + should change nothing else in this file. Note that if you use an "@" + or a "$" character in one of the above strings (typically in $myemail) + you must write them as "\@" or "\$". + + + + 6.1. Incoming telnets + + If you want to enable inbound "TELNET" connections (or you are running + Windows NT, 2000 or XP), you've got a little more work to do. From a + handy "DOS box" that's not doing anything else, do the following:- + + + + + + copy \spider\perl\Listeners.pm \spider\local + cd \spider\local + notepad listeners.pm + + + + + The following lines need attention:- + + + + ["0.0.0.0", 7300], + + + + + On my machine, I've simply uncommented the "0.0.0.0" entry by removing + the '#' from the front of the line. + + You MUST carry out this step if you are running on a Windows NT, 2000 + or XP based system + + If you don't have a static hostname for your machine, and you intend + to allow folk to connect to your machine across the internet, then I'd + suggest you pay a visit to www.dyndns.org and create one for yourself. + While it's free, it will take a modest an amount of effort on your + part to read, understand and implement what needs to be done to set + this up. + + If your machine is connected to the internet and you don't want to + allow your machine to be visible to the outside world you should + change the "0.0.0.0" to "127.0.0.1" [which is "localhost"]. This will + then only allow connections from inside your machine. As was said + earlier: if you aren't running Win9x (or you want to use DXTelnet or + somesuch), then you need to have the machine listening at least to + "127.0.0.1" ("0.0.0.0" means all IP addresses). - 5.1. The AGW packet engine + + 6.2. The AGW packet engine On the assumption that you'll be using the SV2AGW Packet Engine to interface your radios to the cluster, you should now create your own @@ -1362,7 +2052,7 @@ o $passwd - password that matches $login - 5.2. Setting up the initial user files + 6.3. Setting up the initial user files Next you need to create the initial user files, etc. A tool is supplied which will do this for you. To run the tool:- @@ -1383,8 +2073,7 @@ - - perl cluster.pl + perl cluster.pl @@ -1420,11 +2109,13 @@ + Now, if that's what you've got, you are very nearly home and dry (in as far as these particular experiments are concerned, anyhow) - To access your new cluster (from the local machine) find yourself - another "DOS box" and do the following:- + If you are running Windows 9x you can access your new cluster (from + the local machine) by finding yourself another "DOS box" and doing the + following:- @@ -1434,58 +2125,53 @@ - If you are rewarded with a display which looks something like:- - - - - Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47 - Cluster: 1 nodes, 1 local / 1 total users Max users 2 Uptime 0 00:00 - M0ADI de GB7SJP 4-Mar-2001 1511Z > + If you are running Windows NT, 2000 or XP then winclient.pl does not + work. We don't know why other than this seems to be some kind of + incomaptibility in perl. You can achieve the same thing by telnetting + to the port you defined in Listeners.pm (7300 as default), thus:- + Menu->Start->Run + telnet localhost 7300 - You've arrived. Try some commands, and see how they feel. (In case you - were wondering, "Iain", "M0ADI" and "GB7SJP" all came from the version - of DXVars.pm that was on the machine when I started the winclient.pl) - - - 5.3. Incoming telnets - If you want to enable inbound "TELNET" connections, you've got a - little more work to do. From a handy "DOS box" that's not doing - anything else, do the following:- + On getting the login: prompt, enter your sysop callsign (the one you + put in DXVars.pm as $myalias). - copy \spider\perl\listeners.pm \spider\local - cd \spider\local - notepad listeners.pm + I would recommend strongly that you obtain a better telnet client than + that which comes with windows (I use PuTTY). + Anyway, if you are rewarded with a display which looks something + like:- - The following lines need attention:- + Hello Iain, this is GB7SJP in Amersham, Bucks running DXSpider V1.47 + Cluster: 1 nodes, 1 local / 1 total users Max users 2 Uptime 0 00:00 + M0ADI de GB7SJP 4-Mar-2001 1511Z > - ["0.0.0.0", 7300], + You've arrived. Try some commands, and see how they feel. (In case you + were wondering, "Iain", "M0ADI" and "GB7SJP" all came from the version + of DXVars.pm that was on the machine when I started the winclient.pl) - On my machine, I've simply uncommented the "0.0.0.0" entry by removing - the '#' from the front of the line. - If you don't have a static hostname for your machine, and you intend - to allow folk to connect to your machine across the internet, then I'd - suggest you pay a visit to www.dyndns.org and create one for yourself. - While it's free, it will take a modest an amount of effort on your - part to read, understand and implement what needs to be done to set - this up. + The interface is very basic. It is a simple command line. There are + better looking interfaces. Most of the "standard" logging and DX + Cluster access programs that are capable of connecting via a TCP or + telnet connection will work as a "Sysop Console" client. You connect + to "localhost" on the port that you defined in Listeners.pm (usually + 7300). I recommend packages like DXTelnet. - 5.4. Connecting to other clusters + 6.4. Connecting to other clusters If you want to connect this to another cluster, then you'll want to negotiate a link with someone. For experimental purposes, I'm happy to @@ -1495,13 +2181,13 @@ me by Email if you want me to set up a connection for you. - 6. General Information + 7. General Information The following relates to all versions of DXSpider and is not platform related. - 6.1. The crontab file + 7.1. The crontab file Login as sysop and create a file in /spider/local_cmd called crontab. Edit it with your favourite editor and add a line like this (I have @@ -1512,7 +2198,9 @@ # check every 10 minutes to see if gb7xxx is connected and if not # start a connect job going - 0,10,20,30,40,50 * * * * start_connect('gb7xxx') if unless connected('gb7xxx') + 0,10,20,30,40,50 * * * * start_connect('gb7xxx') unless connected('gb7xxx') + + @@ -1545,34 +2233,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -