抱歉,如果标题太模糊,但我无法准确指出真正的问题,因此很难用语言表达。以下是描述。
计算机 A 使用 Windows 操作系统连接到企业网络,运行良好。但在运行 Ubuntu 15.10 时出现间歇性连接问题。观察结果如下:
- 连接从未真正丢失,它只是挂起 1 或 2 分钟,然后恢复,但会中断沿途的任何 ssh 会话。
- 这个问题不是我独有的,而是我工作单位中许多运行 Linux 操作系统的计算机的共同问题。这不应该是我的配置错误。所有 Windows 计算机和一小部分 Linux 计算机都可以正常连接到互联网。因此,这可能是我工作单位的网络设置中存在的软件或内核冲突。
- 网关实际上是启用了 HSRP 的 Cisco 路由器。它们广播 10.1.1.1 地址,但
traceroute google.com
暗示执行路由的服务器是 10.1.1.2。 - 通过每秒不断 ping 10.1.1.1,所有传出的数据包都已成功发送。但在停机期间,没有听到任何 ICMP 响应数据包。
- 通过检查数据包,发现ICMP数据包的MAC地址无论是在正常运行时间还是宕机时间,都被正确地设置为相同的值。
- 运行
arp -an
在停机时间和正常运行时间内都会产生相同的 arp 表。 - 看起来好像一切都应该正常工作,但事实并非总是如此。除了以下发现之外,我完全不知道:
- 总有一个明确的迹象表明新一轮上涨即将到来---来自 10.1.1.1 的 ARP 答复,但只给出我在 ARP 缓存中已有的相同 MAC。当网络可用时,总能在该转换时刻前几毫秒找到 ARP 回复。
- 不幸的是,没有明显的证据表明网络何时会从正常运行转为瘫痪。
我的问题是:
我该如何解决问题?欢迎提出任何想法。
感谢您阅读我的详细描述,如需更多信息,请随时索取。
答案1
事实证明,这个问题的原因是 IP 冲突。我的 PC 的 IP 与同一子网中的另一个设备(具体来说是 IP 电话)冲突。由于电话并非始终处于活动状态,所以我的 PC 大部分时间都可以工作。但是当它变为活动状态时,网关将识别其 MAC 地址并丢弃来自我这边的任何 ICMP 数据包。