DESCRIPTIONThe network-test program will test your system's network configuration using basic tests and providing both information (INFO), warnings (WARN) and possible errors (ERR) based on the results of these tests. It will check and report on:
* Status of the network interfaces of the system including: link status,
IP addressing and number of transmitted packets and error rates.
* Accessibility to configured routes to external networks,
including the default network route, checking the routers configured
to give access to the network
* Proper host resolution, testing DNS resolution against a known host.
* Proper network connectivity, testing reachability of remote hosts using ICMP and simulating a web connections to a remote web server (the web server used for the tests can be configured through the environment, see below)
The program does not need special privileges to run as it does not do any system change.
However, the behaviour of the program when running as an unprivileged user is not the same as running as system administrator (i.e. root). If the program is run as system administrator it will try to run some tools that are only available to it to speed up some of the tests.
The program relies on the use of ip, netstat, ifconfig, arp and (when running as root) ethtool or mii-tool, to obtain information about the system's networking configuration (status of available interfaces and configured network routes). It also uses ping, host and nc (netcat) to do tests of the network connectivity and ensure that the host can connect to the Internet.
The program will, by default, check
and its associated web server. If you want to use a different check host you
can setup the environment as follows:
The name of a host to use when testing DNS resolution.
By default 'www.debian.org'
- The CHECK_HOST 's IP address. By default defined with the following value: 126.96.36.199
- The web server to use for testing purposes when testing network connectivity. By default it will use 'www.debian.org'
The web server port of server
that will be used for testing. By default it will use TCP port 80..
A web service to test network connectivity by downloading some content. By default
it will use 'http://network-test.debian.org/moo'
The MD5sum value of the content being checked.
A web service used to determine the system's public IP address. By default
it will use 'http://queryip.net/ip/'
The program will exit with error (1) if any of the network checks fail.
BUGSThis program does not have super cow powers so it is unable to fix the errors by itself. It is also unable to detect if the network is failing due to a local firewall policy been in place so make sure you check your system logs with dmesg (1) to detect if some of the active tests are being dropped due to your local firewall.
Other known issues that might make the program not work reliable are:
* IPv6: The program does not yet explicitly handle IPv6 only hosts, some of the
tests might be biased towards IPv4 and might fail in IPv6 environments.
* Proxies: The program does not check network connectivity for hosts that connect through the Internet using a proxy gateway for services. The program might report issues in hosts using proxies even when these might connect to the Internet properly through proxied services.
* Firewall environments: some of the tests rely on direct connectivity to external hosts, which are tested using ICMP queries (through the use of ping. These tests might fail in hosts installed in networking environments with firewalls that block outbound ICMP communication.
network-test was written by Javier Fernandez-Sanguino for the Debian GNU/Linux distribution.
COPYRIGHT AND LICENCE
Copyright (C) 2005-2014 Javier Fernandez-Sanguino <[email protected]>.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
On Debian systems, a copy of the GNU General Public License may be found in /usr/share/common-licenses/GPL.