arping命令
是用於發送arp請求到一個相鄰主機的工具,arping使用arp數據包檢查局域網內所有設備的硬件地址。
arping 命令的參數選項及說明
-c <次數> 發送指定次數的arp報文后退出命令
-f 當收到第一個應答報文時,立即退出命令。此選項用於判斷目標主機是否存在或者正常運行
-I 網絡接口 指定網絡接口發送arp報文
-w <截止時間> 設置命令的執行裁止時間
-s source 設定arping發送的arp數據包中的源地址
測試目的主機是否存活
[root@cs6 ~]# arping -f 10.0.0.1 #<==使用-f選項收到第一個響應時就退出,用於檢測目的主機是否存活。 ARPING 10.0.0.1 from 10.0.0.100 eth0 #<==從10.0.0.100的eth0網卡向10,0.0.1發送arp報文。 Unicast reply from 10.0.0.1 [00:50:56:C0:00:08] 0.595ms <==從10.0.0.1單播回復它的MAC地址,並且顯示時是 Sent 1 probes (1 broadcast(s)) #<=發送1個廣播包 Received 1 response(s) [root@cs6 ~]# arping -f 10.0.0.11 #<==沒有運行的主機不會響應,命令一直等待,直到Ctr1+C終止。 ARPING 10.0.0.11 from 10.0.0.100 eth0 ^CSent 5 probes (5 broadcast(s)) Received 0 response(s)
Linux 負載均衡器宕機切換時arp緩存導致故障案例
當Linux負載均衡器發生宕機故障,我們使用備用的設備接管時,因為所有用戶以及客戶端的arp緩存里對應的仍然是宕機時的負載均衡器的IP,因此,切換完新負載均衡器之后,短時間內用戶訪問可能依然不正常,此時就需要執行arping命令,讓所有的客戶端緩存失效,這也是高可用軟件的做法:
[root@cs6 ~]# arping -c 1 -I eth0 -s 10.0.0.5 10.0.0.2 #<==這里的10.0.0.5是VIP地址,10.0.0.2是上網網關。
