When I try to ping other UNIX / Linux / BSD or MS-Windows servers in our network I get the following message:
TTL Expired In Transit
How do I fix this problem?
This error indicates network configuration problem. There is loop in routing:
A routing loop is a common problem with various types of networks, particularly computer networks. They are formed when an error occurs in the operation of the routing algorithm, and as a result, in a group of nodes, the path to a particular destination forms a loop. In the simplest version, a routing loop of size two, node A thinks that the path to some destination (call it C) is through its neighbouring node, node B. At the same time, node B thinks that the path to C starts at node A. Thus, whenever traffic for C arrives at either A or B, it will loop endlessly between A and B, unless some mechanism exists to prevent that behaviour.
How Do I Troubleshoot Routing Loop Problem?
To debug the problem you need to type the following command to see current routing table under UNIX / Linux / BSD / OS X operating systems:
# ip route show
# route -n
# netstat -rn
If you are using a hardware router or managed switch, check routing table using vendor specific route command, the following should work on cisco devices:
# show ip route
You can now find out wrong routing tables. You can delete or correct those routes using route command or ip command itself.
### delete example ###
ip route delete 192.168.1.0/24 dev eth1
### set route example ###
ip route add 192.168.1.0/24 dev eth0
In same cases you can simply reboot your router or managed switch and fix the problem.