如何知道我的IP是无效的

我有一个脚本运行,将启动一个新的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,非常糟糕。