为什么应答我的 ping 命令的 IP 地址和被 ping 命令的 IP 地址不同?

为什么应答我的 ping 命令的 IP 地址和被 ping 命令的 IP 地址不同?

在尝试设置 MSSQL 集群解决方案时,我遇到了与网络相关的超出我专业知识范围的问题。

我试图为我的节点找到一个可用的 IP。我要求网络管理员给我一个免费的 IP 地址。为了争论,他给了我一个 IP 10.40.1.205,这个 IP 应该是未使用的。

当尝试在集群设置期间使用给定的 IP 时,SQL 抱怨该 IP 已被使用。

我尝试从我的服务器 ping 该 IP,并收到了来自... 10.40.59.69...... 的回复?

知道是什么原因导致这样的事情发生吗?更重要的是如何排除故障?

答案1

这并非闻所未闻,一台机器可能之前已经为网卡分配了一个别名,但网络管理员并不知道这一点,等等。

显而易见的事情是找到响应服务器的 MAC 地址,这应该很容易做到。

从 SQL 服务器上的命令提示符运行“arp -a”,并查找 10.40.1.205 和 10.40.59.69 地址。

您将看到两个设备的 MAC 地址,它们可能相同也可能不同,看起来像“00-22-6b-3b-30-90”。您的网络管理员应该能够通过列出的 MAC 地址识别网卡,但在告诉他之前,可能值得检查一下它不是 SQL 服务器网卡之一,以防万一这不是您在某个过程中自己犯的一个小配置错误。

要检查 Windows 系统 MAC 地址,请从命令提示符运行“ipconfig /all”,您将看到每个网卡的 MAC 地址。

答案2

有几种可能性:

  1. 广播地址。如果您的“假设”示例不准确,您可能一直在 ping 子网上的广播地址。假设网络是 10.40.1.0/25(又称掩码 255.255.255.128),并且您 ping 10.40.1.127 - 它可能看起来像一个随机主机,但它实际上是广播地址,并且该子网上的任何人都可以使用自己的地址进行响应(仅供参考,广播地址是子网的最后一个地址)。

  2. VIP。如果您有负载平衡器或服务器集群,您可能已经 ping 过共享/虚拟地址并得到了真实服务器的回复。

  3. 辅助地址。如果路由器/服务器的主地址为 .69,辅助地址为 .205(对于像您一样试图保留 ping 扫描发现的额外地址的人来说,这是常见的做法),它可能会回复 .205 的 ping,但回复来源是 .69。

  4. 您自己的地址。Unix 笔记本电脑的示例:ping 192.168.1.199响应From 192.168.1.3 icmp_seq=1 Destination Host Unreachable192.168.1.3,其中 192.168.1.3 是笔记本电脑的 IP 地址。

答案3

我想看看输出。你确定这不是 ICMP 错误消息吗?

如果您的子网掩码配置不正确,路由器可能会响应 ping。您获得的子网掩码是什么?

答案4

尝试将该 IP 地址解析为主机名。 ping -a <IP>在 Windows 中。Linux 可以使用host <IP>dig -x <IP>。该 IP 地址的主机名可能对您或您的网络管理员有用。(我会尝试解析您正在处理的两个 IP)

ping 响应可能是 ICMP 错误消息,这也并非不可能——您可以尝试使用 tcpdump/Wireshark 转储实际数据包,并查看您收到的响应究竟是什么。

您还可以尝试使用 HTTP、HTTPS、SSH、telnet、RDP 等连接到该 IP 地址。如果其中任何一个连接成功,您可能会获得有关该机器的一些真正有用的信息。

相关内容