我正在使用 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*
设备是tun
和tap*
设备是的东西tap
。似乎你有一个tun
模式,所以所有的 L2 东西都不可用。