我有一个脚本运行,将启动一个新的IP接口。
如果脚本出现一个已经在使用的IP,我就麻烦了。
脚本是否可能设置了新的IP,检测到这个IP已经被使用,然后检查下一个IP,直到find一个可用的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)。 所以没有“不可预测”的行为。
不,如果您使用已经在使用的IP,则会出现不可预知的行为。 您的networking或其他机器的networking将停止工作,或将随机工作等。正确的做法是使用DHCP。
将所有新的服务器MAC地址和您将分配的IP映射到一起。 让脚本findMAC并查找它的IP。 您只需要更新每个新服务器的映射表。 您必须将脚本复制到每个新服务器,因此复制表并更新它也没有什么大不了的。
如果这听起来像很多工作,恭喜你,你已经重新启发DHCP,非常糟糕。