我在 VPS 服务器上运行 CentOS Linux 版本 7.0.1406。
尝试使用“arp”命令,发现它不见了。我也尝试以 root 身份运行,以确保该命令不在 sbin 中。然后我在 Google 上搜索,发现该命令是旧 net-tools 包的一部分,该包已弃用(我猜这就是我没有它的原因)。我还发现 ifconfig 命令也不见了,它也在弃用的 net-tools 中。
因此,我没有安装旧的 net-tools,而是决定尝试新的等效 arp 命令,并查看本文那应该是ip n show
。
好吧,该命令什么都没返回。我也试过了,ip -s n
但ip -s n show
都没有返回任何结果。我知道我的 arp 缓存不是空的,因为我一直在到处 ping 东西。
我究竟做错了什么?
更新:所以我安装了 net-tools 并执行了arp -a
,发现它也没有返回任何内容!现在我知道这不是 ip 命令的问题。这是我正在运行的 VPS。这是否可能是 arp 缓存报告为空的原因?我最初没有包含该信息,因为我认为它不会产生任何影响,但现在我认为可能是某种虚拟网络巫术在起作用。
答案1
作为最低限度,我认为这个命令对你的目的很有用(在 Ubuntu 14.04 上测试):
ip neigh
这将向您显示 arp 缓存的视图。然后您可以使用这些选项来获得更合适的输出。
答案2
我向我的可视化供应商咨询了这个问题。他们告诉我这是因为我的 VPS 在 OpenVZ 容器内运行,并且没有读取 arp 表所需的主机内核访问权限。