TCP/IP routing problems
If you cannot reach a destination host, consider the solutions to the following situations.
- If you receive a
Network Unreachableerror message, make sure that a route to the gateway host has been defined and is correct. Check this by using the netstat -r command to list kernel routing tables. - If you receive a
No route to hosterror message, verify that the local network interface is up by issuing the ifconfig interface_name command. The output indicates whether or not the interface is up. Use the ping command to try and reach another host on your network. - If you receive a
Connection timed outerror message:- Verify that the local gateway is up using the ping command with the name or Internet address of the gateway.
- Make sure that a route to the gateway host has been defined and is correct. Check this by using the netstat -r command to list kernel routing tables.
- Make sure the host you want to communicate with has a routing table entry back to your machine.
- If you are using static routing, make sure that a route to the target
host and gateway host has been defined. Check this by using the netstat
-r command to list kernel routing tables. Note: Make sure the host you want to communicate with has a routing table entry to your machine.
- If you are using dynamic routing, verify that the gateway is listed and correct in the kernel routing tables by issuing the netstat -r command.
- If the gateway host is using the Routing Information Protocol (RIP)
with the routed daemon, make sure that a static route to the target
host is set up in the /etc/gateways file. Note: You need to do this only if the routing daemon cannot identify the route to a distant host through queries to other gateways.
- If the gateway host is using the RIP with the gated daemon, make sure that a static route to the target host is set up in the gated.conf file.
- If you are using dynamic routing with the routed daemon:
- If routed cannot identify the route through queries (for example, if the target host is not running the RIP, check the /etc/gateways file to verify that a route to the target host is defined.
- Make sure that gateways responsible for forwarding packets to the host are up and running the RIP. Otherwise, you'll need to define a static route.
- Run the routed daemon using the debug option to log such information
as bad packets received. Invoke the daemon from the command line using the
following command:
startsrc -s routed -a "-d" - Run the routed daemon using the -t flag, which causes all packets sent or received to be written to standard output. When routed is run in this mode, it remains under the control of the terminal that started it. Therefore, an interrupt from the controlling terminal kills the daemon.
- If you are using dynamic routing with the gated daemon:
- Verify that the /etc/gated.conf file is configured correctly and that you are running the correct protocols.
- Make sure the gateway on the source network is using the same protocol as the gateway on the destination network.
- Make sure that the machine with which you are trying to communicate has a route back to your host machine.
- Verify that the gateway names in the gated.conf file correspond to the gateway names listed in the /etc/networks file.
- If you are using the RIP or HELLO protocols, and routes
to the destination cannot be identified through routing queries, check the gated.conf file
to verify that a route to the target host is defined. Set static routes under
the following conditions:
- The destination host is not running the same protocol as the source host so cannot exchange routing information.
- The host must be reached by a distant gateway (a gateway that is on a different autonomous system than the source host). The RIP can be used only among hosts on the same autonomous system.
If all else fails, you might want to turn on tracing for your routing daemon (either routed or gated). Use the SRC traceson command from the command line, or send a signal to the daemon to specify different levels of tracing. See the gated daemon or the routed daemon for specifics on sending signals to these daemons.