如何知道我的 IP 无效

如何知道我的 IP 无效

我正在运行一个脚本,它将启动一个具有新 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。

答案1

你可以arping这样使用:

arping -D -I interface -c 2 ip_address > /dev/null

并检查返回值($?):

  • 0:无冲突
  • 1: 冲突

您可以在之前执行它,ifconfig因为它不需要 IP 地址(即 ARP)。因此不会出现“不可预测”的行为。

答案2

不,如果您使用已在使用的 IP,则会出现不可预测的行为。您的网络或其他机器的网络将停止工作,或随机工作等。正确的做法是使用 DHCP。

答案3

将所有新服务器的 MAC 地址与要为其分配的 IP 进行映射。让脚本找到 MAC 并查找其 IP。您只需更新每个新服务器的映射表。无论如何,您都必须将脚本复制到每个新服务器,因此复制表并更新它并不是什么大问题。

如果这听起来像是很多工作,那么恭喜你,你已经重新实现了 DHCP,而且做得非常糟糕。

相关内容