如何从路由器的内部 IP 获取 ARP?

如何从路由器的内部 IP 获取 ARP?

我有一台计算机,其 IP 地址为:10.0.0.1和同一网络中的另一个路由器,WAN 为:10.0.0.5而 LAN 为192.168.10.1

当我输入route add 192.168.1.0 mask 255.255.255.0 10.0.0.1并 ping时192.168.10.1,我得到了响应。但是如何在 ARP 列表中查看192.168.10.1MAC 地址?

然后我 ping 了一下10.0.0.5,得到的是相同的 MAC 地址。MAC 地址可以正常工作layer 2,并且10.0.0.5处于开启状态,layer 2192.168.10.1不能正常工作layer 2

谢谢您的帮助

图表

答案1

L3 – 向“其他网络”地址发出 Ping 请求

你可以 ping 属于路由器其他接口的地址,因为它实际上是路由器并将数据包从一个网络转发到另一个网络,因为这是它的工作。

L2 – 显示“其他网络”地址的 ARP 回复

这是 Linux TCP/IP 堆栈的一个特性。它确实会响应分配给任何它的接口(但当然,具有适合它所响应的 L2 网络的 MAC 地址)。

设置 sysctlnet.ipv4.conf.all.arp_ignore=1以将其切换到预期行为(如果要永久配置,请参阅man sysctl.d)。

(更广泛的解释是,一些 IP 堆栈,包括 Linux 中的 IP 堆栈,在“弱主机”模式下运行(如果这是正确的术语),并将地址视为附加到整个系统而不是特定接口。)

相关内容