路由器ARP缓存未释放Linux/UNIX服务器IP地址

时间:2020-01-09 10:43:58  来源:igfitidea点击:

问题描述:最近,我们对服务器硬件进行了更改,并将所有IP地址从旧服务器交换为新服务器。
但是,由于arp缓存问题(IP缓存在路由器上),没有更新2个IP地址。
他们要去其他服务器。
如何在Redhat Enterprise Linux 5.0或者任何其他Linux发行版下解决此问题?

解决方法:ARP用于将IP地址解析为相应的以太网地址。

ARP在称为ARP缓存的内存表中维护IP地址和MAC地址之间的映射。
该表中的条目是动态添加和删除的。

这是常见且众所周知的问题。
大多数ISP和网络管理员都将其路由器配置为具有较长的ARP缓存超时。
结果,您的请求将转到其他服务器。
如果您移动IP地址,则服务器可能需要几个小时才能与Internet通信(正确的服务器)。
要解决此问题,您需要为自己的IP请求MAC地址,这将导致路由器和其他硬件更新ARP缓存。
这称为"未经请求的ARP"或者"免费ARP"。

arping命令发送ARP请求以解析其自己的IP地址(免费ARP)

琶音有两个版本,您需要一个由Alexey Kuznetsov编写的版本。

Debian和RHEL都具有Alexey arping命令版本。
执行以下命令以更新arp缓存:

# arping -U -I {Interface-Name} {IP-Address}
# arping -U -I eth1 72.2.1.2

其中:

  • -U:未经请求的ARP模式,用于更新邻居ARP缓存。预计没有回复。
  • -I eth1:发送ARP REQUEST数据包的网络设备的名称。这是必需的。
  • 72.2.1.2:IP地址

同样,High-Availability Linux Project也提供了另一个名为send_arp的工具。