ping命令:TTL在传输中过期错误和解决方法

时间:2020-01-09 10:43:54  来源:igfitidea点击:

当我尝试对网络中的其他UNIX/Linux/BSD或者MS-Windows服务器执行ping操作时,会收到以下消息:

TTL Expired In Transit
TTL在运输中过期

我该如何解决这个问题?

此错误表示网络配置问题。
路由中存在循环:

路由环路是各种类型的网络(尤其是计算机网络)的常见问题。
它们是在路由算法的操作中发生错误时形成的,结果,在一组节点中,通向特定目标的路径形成了一个循环。
在最简单的版本中,大小为2的路由循环,节点A认为到某个目标的路径(称为C)是通过其相邻节点节点B。
同时,节点B认为到C的路径始于因此,每当C的流量到达A或者B时,它将在A和B之间无限循环,除非存在某种防止该行为的机制。

如何解决路由循环问题?

要调试该问题,您需要输入以下命令以查看UNIX/Linux/BSD/OS X操作系统下的当前路由表:

# ip route show

或者

# route -n

或者

# netstat -rn

如果您使用硬件路由器或者管理型交换机,请使用供应商特定的route命令检查路由表,以下应在cisco设备上工作:

# show ip route

现在,您可以找出错误的路由表。
您可以使用route命令或者ip命令本身删除或者更正那些路由。

### 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

在相同情况下,您只需重启路由器或者管理型交换机并解决问题即可。