在 linux 中恢复 arp 缓存
Restore arp cache in linux
我使用下面的命令不小心删除了 HWaddress
arp -d 200.9.12.50
if i 运行 arp -n 200.9.12.50 显示 不完整。
Address HWtype HWaddress Flags Mask Iface
200.9.12.50 (incomplete) eth0
我知道确切的 HW 地址,尝试使用以下命令手动添加。我无法 ping(目标主机无法访问),如果我重新启动,arp 将再次设置为 incomplete。请帮我用 HWaddress 恢复 arp。
arp -s 200.9.12.50 00:0b:ab:7d:09:4a temp
linux 内核仅在邻居不可达检测 (nud) 状态设置为永久(非临时)或 "valid" (arp.c#L1077-L1085) 时设置完成的 arp 标志。
#define NUD_VALID (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE|NUD_PROBE|NUD_STALE|NUD_DELAY)
查看 net-tools arp.c,这是在 arp_set(). (See net-tools 中设置的官方来源。)如果提供了 temp
arg,永久标志将被禁用,这可能解释了 "If i reboot the arp will be again set to incomplete."
尝试删除条目并在没有临时文件的情况下将其重置:
# arp -i eth0 -d 200.9.12.50
# arp -Ds 200.9.12.50 eth0
(我使用的是 iproute2 而不是 net-tools,如有不妥请见谅。)
我使用下面的命令不小心删除了 HWaddress
arp -d 200.9.12.50
if i 运行 arp -n 200.9.12.50 显示 不完整。
Address HWtype HWaddress Flags Mask Iface
200.9.12.50 (incomplete) eth0
我知道确切的 HW 地址,尝试使用以下命令手动添加。我无法 ping(目标主机无法访问),如果我重新启动,arp 将再次设置为 incomplete。请帮我用 HWaddress 恢复 arp。
arp -s 200.9.12.50 00:0b:ab:7d:09:4a temp
linux 内核仅在邻居不可达检测 (nud) 状态设置为永久(非临时)或 "valid" (arp.c#L1077-L1085) 时设置完成的 arp 标志。
#define NUD_VALID (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE|NUD_PROBE|NUD_STALE|NUD_DELAY)
查看 net-tools arp.c,这是在 arp_set(). (See net-tools 中设置的官方来源。)如果提供了 temp
arg,永久标志将被禁用,这可能解释了 "If i reboot the arp will be again set to incomplete."
尝试删除条目并在没有临时文件的情况下将其重置:
# arp -i eth0 -d 200.9.12.50
# arp -Ds 200.9.12.50 eth0
(我使用的是 iproute2 而不是 net-tools,如有不妥请见谅。)