可以 ping 但不能通过 OpenVPN 进行 arping

可以 ping 但不能通过 OpenVPN 进行 arping

我正在使用 OpenVPN 在客户网络上处理一台远程机器。那里的 IP 地址会动态变化,并且(直到他们让主机名正常工作,而这目前不在我的掌控之中)我正在寻找一种快速找到“我的”机器的方法。目前我尝试使用 MAC 地址,但没有成功。我可以使用 nmap 检测机器,对每台机器进行 ping 操作,但 arping 失败。

例如:ping:

ping 10.8.0.34
PING 10.8.0.34 (10.8.0.34) 56(84) bytes of data.
64 bytes from 10.8.0.34: icmp_seq=1 ttl=64 time=42.6 ms
64 bytes from 10.8.0.34: icmp_seq=2 ttl=64 time=42.1 ms
64 bytes from 10.8.0.34: icmp_seq=3 ttl=64 time=44.6 ms

ARPING:

arping 10.8.0.34
arping: Suitable device could not be determined. Please, use option -I.

琶音 (2):

arping -I tun0 10.8.0.34
arping: Device tun0 not available.

琶音 (3):

arping -I wlo1 -c 10 10.8.0.34
ARPING 10.8.0.34 from 192.168.178.26 wlo1
Sent 10 probes (10 broadcast(s))
Received 0 response(s)

我已经尝试了所有设备,但我认为 tun0 应该适合 VPN。有办法实现这一点吗?

答案1

OpenVPN tun 点对点链接没有 MAC 地址,因此您无法使用arping它们。或者任何其他使用 ARP 或需要 MAC 地址的东西。

答案2

一般来说,OpenVPN可以使用两种虚拟网络接口:

  • tun设备,即虚拟 L3 接口。它没有任何 MAC 地址,即 L2 地址,因此arping如果 OpenVPN 配置为使用 tun,则无法工作
  • tap设备,即虚拟 L2 接口。它模拟以太网,具有 MAC 地址,可以通过软件桥接,可以与 VLAN 一起使用等等。arping可以在这种 VPN 上工作,但这仍然取决于服务器和客户端的具体配置方式。

请注意,Windows 机器只有一个虚拟tap驱动程序。据我所知,Windows 网络堆栈没有实现tun可用于 OpenVPN 的真正设备所需的钩子。如果您有一个tun-type 网络并使用 Windows,它仍然会显示一个tap界面,但它会在所谓的net30模式下工作,在这种模式下,tun行为是模拟的,并且arping不起作用。

设备名称不是必需的,表示它具有特定类型,但通常没有人会摆弄tun*设备是tuntap*设备是的东西tap。似乎你有一个tun模式,所以所有的 L2 东西都不可用。

相关内容