Como saber que meu IP é inválido

3

Eu tenho um script em execução que iniciará uma interface com um novo IP.

Se o script aparecer com um IP que já está em uso, estou com problemas.

É possível que o script configure o novo Ip, detecte que esse IP já está em uso e depois verificar o próximo, até encontrar um ip que funcione?

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

Não consigo usar o DHCP.

    
por PeterMmm 20.04.2010 / 13:04

3 respostas

10

Você pode usar arping da seguinte forma:

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

E verifique o valor de retorno ( $? ):

  • 0 : sem conflito
  • 1 : conflict

Você pode executá-lo antes do ifconfig , pois não precisa de um endereço IP (sendo ARP). Portanto, nenhum comportamento "imprevisível" é esperado.

    
por 20.04.2010 / 13:19
13

Não, se você usar um IP que já esteja em uso, seguirá um comportamento imprevisível. A sua rede ou a rede da outra máquina deixará de funcionar ou funcionará aleatoriamente, etc. A coisa certa a fazer é usar o DHCP.

    
por 20.04.2010 / 13:11
2

Faça um mapeamento de todos os seus novos endereços MAC de servidor e qual IP você irá atribuir a eles. Faça com que o script encontre o MAC e procure seu IP. Você só precisa atualizar a tabela de mapeamento para cada novo servidor. Você tem que copiar o script para cada novo servidor de qualquer maneira, então copiar a tabela também e atualizá-la não é grande coisa.

Se isso parece muito trabalho, parabéns, você reimprimiu o DHCP muito mal.

    
por 20.04.2010 / 14:19