|
Trouble Shooting Script
This document is to be used in conjunction with the
troubleshoot-irlp
script only.
|
IRLP - Keeping the Radio
in Amateur Radio |
Updates and additions
last
updated March 31, 2020 |
July 27, 2004 |
|
October 29, 2013 |
|
Log in and switch to user repeater
su - repeater
Now make sure you have the latest files on your system by running
./scripts/update files
Now run the troubleshooting script
./scripts/troubleshoot-irlp
Test No. 1 - DNS Test
This test attempts to ping two common host names, and determines from the return of the ping program whether the system could
resolve the hostnames. The configured nameservers are configured in the /etc/resolv.conf file. Failure of the resolution can be
caused by the following things:
1) No DNS servers defined in the /etc/resolv.conf file.
RESOLUTION : Edit the /etc/resolv.conf file as the root user, and make sure that at least two valid nameservers are listed.
COMMAND : pico /etc/resolv.conf
NOTE : The file should at LEAST contain two nameservers (listed ones are from Cloudflare and are good around the world)
nameserver 1.1.1.1
nameserver 1.0.0.1
2) Your node is not connected to the internet at the time of the test.
RESOLUTION : Verify and correct any internet connection problems and run
the test again.
3) Your configured nameservers are not valid.
RESOLUTION : Edit the /etc/resolv.conf file as the root user, and make sure that at least two valid nameservers are listed.
COMMAND : pico /etc/resolv.conf
NOTE : The file should at LEAST contain two nameservers (listed ones are from Cloudflare and are good around the world)
nameserver 1.1.1.1
nameserver 1.0.0.1
Test No. 2 Port Forwarding Test
This test starts a series of "listeners" on the ports that IRLP uses for communications, and then uses a remote machine to
attempt to contact the IRLP node on all of the ports. This test identifies when the correct ports are not forwarded through a
router, or if the ISP is blocking some of your incoming ports.
This test has three parts:
2a) IRLP TCP port test
2b) IRLP UDP port test
2c) EchoLink UDP port test
If you are NOT running EchoIRLP on your IRLP node, you can ignore the results of test 2c.
WARNING - This test requires a solid connection with the internet, or it may return false errors. If you get strange or inconsistent reports,
please try the test again. Consistent false reports are rare, and you most likely do not have a problem if the same port is not
reported consistently.
Failure of the port forwarding test can be caused by the following things:
1) Your node is behind a router and the ports are not correctly forwarded.
RESOLUTION : Refer to your router's documentation and ensure that TCP ports 15425, 15426, and 15427, as well as UDP ports 2074
through 2093 (inclusive) are forwarded to your IRLP computer's local network IP address.
To obtain the local network IP address:
COMMAND : ifconfig eth0
The local network IP is listed under the "inet" field.
2) Your node is behind a router and the local network IP address of your node does not correspond with the ports that are
forwarded. This is often caused when the node uses DHCP to obtain its IP address from the router, and there has been a power
failure or the node has been offline for a period of time.
RESOLUTION : Obtain the local network IP Refer to your router's documentation bout how to forward port ranges
To obtain the local network IP address:
COMMAND : ifconfig eth0
The local network IP is listed under the "inet" field.
3) Your ISP is blocking access to particular incoming ports on your node.
RESOLUTION : Contact your ISP and request information about opening those ports which are reported closed.
Test No. 3 Outgoing Port Test
This test queries a series of "listeners" on the ports that IRLP uses for communications on a central server and determines
which ports are able to communicate outbound. This test identifies when the correct ports are not able to traverse a firewall or
router, or if the ISP is blocking some of your outgoing ports.
Failure of the OUTBOUND port test can be caused by the following things:
1) Your ISP has blocked access to particular outgoing ports.
RESOLUTION : Contact your ISP and request information about opening those ports which are reported closed.
2) You are running a firewall between your node and the internet.
RESOLUTION : Refer to your firewall's documentation and ensure that the reported ports are opened.
NOTE : If you receive a warning about port 873 being closed, but port 8873 being open, you can get around this error by adding the
following to your /home/irlp/custom/environment file:
COMMAND : pico -w /home/irlp/custom/environment
export RSYNC8873=YES
Test No. 4 Hostname Resolution Test
This test checks to make sure that your node has a hostname, and that hostname is pingable and resolves to an IP address. This
test is performed by trying to ping your nodes hostname, and returning results based on if the IP resolves and is
pingable. Failure of the hostname is a severe fatal error for any Internet based software, including IRLP. Failure of the hostname
resolution can be fixed by performing the following steps:
1) Determine the hostname (for sample below, out hostname is IRLPnode).
COMMAND : /bin/hostname
2) Add the hostname to the localhost designation in the /etc/hosts file (see sample below).
COMMAND : pico /etc/hosts
SAMPLE - /etc/hosts file BEFORE addition: (do not include START and STOP lines)
-----START-----
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
-----END-----
SAMPLE - /etc/hosts file AFTER addition: (ADDITION IS BOLDED FOR EMPHASIS)
-----START-----
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 IRLPnode localhost.localdomain localhost
-----END-----
Once added, run the troubleshooting script again to ensure hostname is now resolving.
Test No. 5 PGP Public Keyring Test
This test tests to make sure the public keyring for your IRLP node exists in the global PGP keyring for IRLP. Your node can fail
this test if your install is not yet completed. PGP key authentication is the key to the security of IRLP, and confirmation of
each key must be done. If your key has not been added within 48 hours, please contact the IRLP Installs team at
installs@irlp.net.
Test No. 6 PGP Secret Keyring Exist Test
This test ensures that a secret key exists for your node. Your node fails this test if:
1) The install script has not yet been run.
2) You have MORE than one secret PGP key. If this error appears, contact the IRLP installs at
installs@irlp.net to help remove the offending key.
Test No. 7 PGP Secret Keyring Match Test
This test makes sure that the ID of your secret key matches the stationid of your IRLP node. You
node fails this test if the STATIONID exported in the /home/irlp/custom/environment file does not match the ID of your secret key(s) in the secret keyring.
RESOLUTION : Determine the correct key ID, and change the environment file to reflect the change.
COMMAND : (as repeater) pgp -kv /home/irlp/.pgp/secring.pgp
COMMAND : pico -w /home/irlp/custom/environment
Change the STATIONID entry to match the key ID.
SAMPLE - (important matching words bolded)
-----START PGP output-----
bash-2.05a$ pgp -kv /home/irlp/.pgp/secring.pgp
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 2004/01/12 21:35 GMT
Key ring: '/home/irlp/.pgp/secring.pgp'
Type Bits/KeyID Date User ID
sec 512/2C48E959 2000/04/12 stn2345
1 matching key found.
-----END PGP output-----
-----START ENVIRONMENT FILE SNIPET-----
# Put the IRLP station ID of your node below. NOTE you must enter the correct stationid
# which is assigned to you. Any other ID will cause your node not to operate properly.
# USE ONLY LOWERCASE LETTERS
export STATIONID=stn2345
-----END ENVIRONMENT FILE SNIPET-----
NOTE : If you have made changes to your environment file, you must restart
IRLP by issuing the rc.irlp command as user root:
COMMAND : /home/irlp/custom/rc.irlp
Test No. 8 PGP Secret Key HASH Test
This test ensures that the secret key for your node contains the same HASH as the public key in the network. This can happen if
you perform a new install after the old key has been added to the network.
If this error appears, contact the IRLP installs at
installs@irlp.net to help regenerate the offending key.
Test No. 9 Date Correctness Test
This test checks the current date set in the machine. The date does not have to be correct, nor does it have to be accurate.
What this test is checking for is if the date of your PGP key and the current date vary widely from each other. Your PGP key
date can NOT be later than your current system date. Often Y2K incompatibilites of motherboards cause the date to show in 1990
or 1970. If this is the case, you must set the date correct before our node will work correctly.
To set the date on the computer, run the following commands as user root:
COMMAND : rdate -s server1.irlp.net
COMMAND : /sbin/hwclock --systohc
This will set the time from one of the IRLP servers, and then set that time to the BIOS clock. If your clock continues to be a
problem, you can add these two commands to the startup scripts for IRLP. To do that, add the two lines above to the bottom of
the /home/irlp/custom/rc.irlp script.
COMMAND : pico /home/irlp/custom/rc.irlp
Test No. 10 Environment File Corruption Test
This test checks the environment file for strange entries
that may cause the IRLP software not to operate. The environment file is very
delicate, and can break by accidentally adding a space to a line. The test looks
for lines that do not start with the word "export" or contain a
"#" (comment character). The script also returns the words which are
causing the system to not be able to read the environment file. When the script
returns a problem, edit the /home/irlp/custom/environment file to repair the problem.
NOTE : This test will show that there is an issue when EchoIRLP is installed on the node.
This will occur on PiRLP and Embedded nodes purchased preconfigured from IRLP.
RESOLUTION : Edit the environment file, and search for the offending
lines, and comment them out.
COMMAND : pico -w /home/irlp/custom/environment
(uses -w to keep lines from wrapping)
HINT : You can search for words in pico by pressing CTRL-W
SAMPLE - The following entry in the environment file returns the following
error from the troubleshooting script
-----START-----
# Put the IRLP station ID of your node below. NOTE you must enter the correct stationid
# which is assigned to you. Any other ID will cause your node not to operate properly.
# USE ONLY LOWERCASE LETTERS
expoort STATIONID=stn100
-----END-----
PROBLEM - export spelled wrong
-----START-----
# This file is the IRLP ENVIRONMENT file. It is designed to set a list of global
variables
# which are used by the software. Be careful when editing this file as a small
# error can make you node totally unusable.
-----END-----
PROBLEM - The word "variables" spilled over from a commented
line to a non-commented line.
Test No. 11 /tmp Directory Writable Test
This test checks that the /tmp directory is writable
to the repeater user. The IRLP software has to be able to write temporary
lock files there. Other programs will also require that the directory is
usable to write temporary files.
RESOLUTION : Log in as root, and edit the permissions of the directory.
COMMAND 1 : chown root.root /tmp
COMMAND 2 : chmod 777 /tmp
COMMAND 3 : chmod +t /tmp
Once you have completed these three commands, re-run the troubleshoot-irlp script
to confirm that the settings have been entered correctly, and that the test passes.
Test No. 12 custom_decode File Corruption Test
This test checks that there are no obvious syntax errors in the
custom_decode file, which may cause your node not to respond to DTMF digits. This test
can only determine if there is a problem, but can not identify or solve the problem for you.
If this test returns an error, carefully look through each if/then/fi loop to make sure that
all of the proper components of the loop are there.
Each loop starts with an "if" command, contains a "then" statement, and ends with an "fi".
if [ "$1" = "123" ] ; then "$SCRIPT"/disable ; exit 1 ; fi
Also verify that there are no open quotes without close quotes. Also note where semi-colons
are, as they refer to the end of one command and the start of another.
|