为什么我的路由器不回复 ARP 请求?

网络工程 域名解析 arp
2021-07-07 21:52:57

我正在尝试测试嵌入式系统创建 DNS 请求并处理其回复的能力,但是我在获取这些回复时遇到了问题。

在物理上,我的嵌入式系统(192.168.1.50)连接到交换机,交换机连接到路由器(192.168.1.1)我有另一台计算机,(192.168.1.31)连接到同一台交换机,我在上面运行 Wireshark。

我正在尝试(8.8.8.8:53)从我的嵌入式系统向 Google 的公共 DNS 服务器发送 DNS 请求阅读了一些内容后,我对这个请求被重新打包为对路由器的 ARP 请求并不感到惊讶 - Wireshark 报告了一条who has 192.168.1.1? tell 192.168.1.50消息 - 但我没有收到来自路由器的 ARP 回复及其 MAC 地址,我认为这是我'期待在可以发送实际的 DNS 请求之前。

那么,为什么路由器没有回复呢?

我不是网络专家,所以任何简单的帮助将不胜感激。

1个回答

我已经解决了这个问题。事实上,我无法在我的嵌入式系统中接收 ARP 回复的原因是因为交换机正在挤压它们(我认为这是因为它是某种类型的)。解决方案是放置交换机的下游路由器并禁用其防火墙,从而在我的 LAN 内创建另一个网络。然后我通过下游路由器请求上游路由器提供的 DNS 服务器。下游路由器不压缩 ARP 回复。为了显示:

| NETWORK 1 -----------------------| NETWORK 2 --------------------|
| 192.168.1.50 --> 192.168.1.11   -|--> SWITCH --> 192.168.1.1    -|-->
| E.SYSTEM     --> DSTREAM ROUTER -|--> SWITCH --> USTREAM ROUTER -|-->

上游路由器知道位于 的主 DNS 服务器192.104.4.10,因此请求是从具有以下 IP 地址的嵌入式系统制定的:

IP:      192.168.1.50
Gateway: 192.168.1.11
Subnet:  255.255.255.0
DNS:     192.104.4.10

感谢您的评论,他们帮助我调试了这个。