我们有一个运行 Linux (2.6.?) 的嵌入式设备,无法再通过以太网访问。现场有人对该设备的以太网接口进行了以下错误设置:
IP: 172.16.1.236
Subnet mask: 255.5.0.0
(除了无法与设备通信之外,我不知道使用这些设置的结果是什么。我认为这些设置会被拒绝,并且一些备用私有 IP 会分配给接口。)
我们的现场人员无法再与该设备通信,因此我正在寻找解决此问题的方法。
我相信该设备也运行 Zeroconf,但我没有使用该协议的经验。
编辑:最终,在我们的测试设置上,从 172.16.1.236 发送了一个 ARP,该 ARP 模仿了现场的设备。以太网接口上的实际 IP 是另一个私有 IP,在 169.xxx 范围内。我不明白我是如何能够连接到 172.xxx IP 的。
答案1
对于这样的问题我通常的解决方案是:
- 将设备置于与设备相同的子网中
- 使用兼容的网络设置配置设备
- 连接到嵌入式设备
- 更改嵌入式设备上的错误网络设置
第 1 步通常是最难的部分。它可以是一台笔记本电脑,只需将其拖到正确的位置即可,也可以是一台有两个连接网络端口的设备;一个用于连接,另一个用于传输不良网络数据。
如果设备有未知网络配置,它会变得更加复杂,结果也不是那么好。但是,我已经做到了。您需要物理访问设备及其网络连接。我所做的:
- 将您的笔记本电脑和设备连接到未连接任何其他设备的交换机。
- 不为您的笔记本电脑配置 IP 地址,只保留原始以太网地址。
- 从该笔记本电脑启动混杂模式网络跟踪。
- 对设备进行电源循环。
- 观看数据包。
如果幸运的话,设备会发出一些数据包。可能是网关设备的 MAC 地址的 ARPing。这应该会显示它认为自己拥有的 IP。如果它正在为网关发出数据包,那么应该会提供一些线索,说明它认为自己的网络掩码是什么(尽管并非总是如此)。获得 IP 后,将您的笔记本电脑配置为 IP 相邻的 IP 并尝试 ping 它。保持网络跟踪运行。
如果网络跟踪显示当您的机器尝试对目标 IP 地址进行 ARP 操作而设备没有响应时,您可能需要为该 IP 设置静态 ARP 表条目。我遇到过需要此步骤才能使设备开始工作的设备。如果即使在设置了 arp 条目后 ping 仍不起作用,则很有可能该设备从根本上无法通过网络访问。
答案2
如果您为计算机配置了 IP:172.16.1.235/8
您将有最大的机会使其立即工作。如果两个设备都认为它们在同一个子网上,它们就会进行通信。
它支持 IPv6 吗?使用 IPv6 连接到设备。您可能可以找到 MAC 并计算出链路本地地址。
如果两者都不起作用,则可能是接口已关闭。sysadmin1138 的建议非常好,就这么做吧。