2008-12-09 8 views
2

Je dois écrire un script pour définir l'adresse IP/masque/diffusion comme un alias sur eth0: 0 plus définir la passerelle par défaut.configurer ip alias et route, traiter avec réseau indisponible

Cette solution fonctionne:

ifconfig eth0:0 <ip> netmask <mask> up 
ip route replace default via <ip> 

mais parfois le second appel obtient une erreur "réseau indisponible". Ajouter un sommeil entre eux le corrige, mais n'est pas fiable. Quelle est la bonne façon d'attendre que le réseau soit prêt?

Le meilleur que je suis venu jusqu'à présent est de réessayer l'appel IP quelques fois. Cela fonctionne, mais se sent laid.

Répondre

1

Vous pouvez utiliser ping -c1 -w sur l'adresse de la passerelle dans une boucle jusqu'à ce qu'il apparaisse.

0

Je pense qu'il est un peu étrange que l'interface est pas lorsque ifconfig retours .. Je voudrais essayer de sauter ifconfig et seulement utiliser la commande « ip »:

ip address add <ip>/<mask> dev eth0 
ip route replace default via <ip> 

Cela ne crée pas une nouvelle interface alias eth0: 0, elle configure simplement une adresse IP supplémentaire sur l'interface primaire, visible avec 'liste d'adresses IP'. Je ne suis pas sûr que cela fonctionne mieux, mais ça vaut le coup d'essayer.

+0

ip ne fonctionne pas très bien parce que je dois définir exactement l'eth0: 0 –

Questions connexes