[实践OKLinux系统上通知网关更新arp,]Linux下利用arping抢IP地址最终解决方案

jackxiang 2018-3-23 15:51 | |
背景:向网关发送自己的IP和网卡,进而有包来后,网关都传给本机了。经常会有在线更换Linux服务器IP的操作,该操作带来的一个问题是: 我们已经执行了修改IP的操作,但由于网络上(网关)的ARP缓存暂未更新,导致在某一段时间内,该服务器会有网络不通的情况存在。因此,我们需要在变更IP的同时,通知网关刷新ARP缓存,假设你的eth0接口对应的ip为192.168.1.1,网关为192.168.1.254你就可以使用
arping -U -I eth0 -s 192.168.1.1 192.168.1.254

同理,用它注册VIP虚拟网卡地址也是有必要的,在Mysql和高可用VIP的切换上及时告诉网关我换到另一台机器了,且它是虚拟网卡:
http://jackxiang.com/post/8757/
/sbin/arping -I eth0 -c 1 -s 10.70.57.204 10.70.63.254  #Gateway:10.70.63.254  
-c<数据包的数目> 发送的数据包的数目  
-s 指定源IP地址  
-I<网卡> 使用指定的以太网设备,默认情况下使用eth0  
arp -a  
baigemha_mysql_bj_syq_10_70_61_106 (10.70.57.204) at 00:50:56:89:d2:18 [ether] on eth0

/sbin/arping -I eth0 -c 1 -s 10.70.57.204 10.70.63.254  #Gateway:10.70.63.254  

经常会有在线更换Linux服务器IP的操作,该操作带来的一个问题是: 我们已经执行了修改IP的操作,但由于网络上(网关)的ARP缓存暂未更新,导致在某一段时间内,该服务器会有网络不通的情况存在。

因此,我们需要在变更IP的同时,通知网关刷新ARP缓存。

首先清除本地ARP缓存:

/bin/ip neigh flush dev eth0
其次向网关发送本机的ip/mac地址

/usr/sbin/arping -v -c 2 -S 1.1.1.144 -s 00:17:a4:8d:0e:98 -p 1.1.1.1
1.1.1.144 为本机IP

00:17:a4:8d:0e:98 为本机MAC地址

1.1.1.1 为网关



转载自http://blog.chenxiaosheng.com/posts/2014-03-19/linux-arp-flush.html



===============================================================================

最近老遇到无耻的Windows用户抢我Linux的IP地址,不甚烦恼,研究了一下午,终于解决了此问题。与大家分享一下。

假定的网关是192.168.5.1,掩码24位。而192.168.5.5已经被某Windows用户使用。

我的Linux在愉快的开机,结果在运行到 network 脚本的时候报错,说这个IP已经被别人使用,网络启动失败!Linux真是太谦让了!
现在的目标就是把这个IP抢回来,最坏的结果也至少保证“我用不了你也别想用”。
所以我就写了个脚本:
Shell代码
#!/bin/sh

while true;
do
  ifconfig eth0 192.168.5.5/24 up
  route add default gw 192.168.5.1
  sleep 1
done

arping -Uq -s192.168.5.5 -Ieth0 192.168.5.1 &

这样,只要我运行这个脚本,即使Windows的机器正在使用192.168.5.5,这个IP也会被我的Linux强制抢过来。


关键命令:
arping -U -I 发送包的网卡接口 -s 源ip 目的ip


实例:
假设你的eth0接口对应的ip为192.168.1.1,网关为192.168.1.254你就可以使用
arping -U -I eth0 -s 192.168.1.1 192.168.1.254

原文:http://www.t086.com/article/5127
http://www.cnblogs.com/CasonChan/p/5629903.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/9682/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2018-3-23 15:55
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]