我有一个运行的脚本,它将启动一个带有新IP的接口.
如果脚本提供了一个已经在使用的IP,我就遇到了麻烦.
脚本是否可能设置新的Ip,检测到此IP已在使用中
然后检查下一个,直到它找到一个有效的IP?
B=192.168.1. I=1 while [ "$I" != "256" ] do ifconfig eth0:1 $B.$I # check here that IP is Ok ! let "I=I+1" done
我不能使用DHCP.
解决方法
你可以像这样使用arping:
arping -D -I interface -c 2 ip_address > /dev/null
并检查返回值($?):
> 0:没有冲突
> 1:冲突
您可以在ifconfig之前执行它,因为它不需要IP地址(即ARP).所以没有预料到“不可预测”的行为.