2012-10-04 11 views
6

Lavoro su dispositivo incorporato con linux su di esso. Voglio usare prima il client DHCP, ma se non ci sarà risposta dal server DHCP, voglio impostare l'IP predefinito statico. Suppongo che non dovrebbe essere complicato, ma non ho trovato una risposta rigorosa.Imposta ip statico se non ottenuto da DHCP (script)

sto pensando circa 2 soluzioni (Purtroppo io possa provare in pochi giorni):

  1. ho impostato IP statico con ifconfig, allora io chiamo udhcpc. Se udhcpc non otterrà il nuovo IP, resterà quello vecchio.

  2. Posso anche prima chiamare udhcpc, attendere un po 'e verificare se l'IP è stato ottenuto. Ma non è carino per me. Non vorrei aggiungere alcuna routine di attesa all'avvio.

BR Bartek

Io uso udhcpc - qualcosa come:

udhcpc -n -f -i eth0 
if ifconfig | grep -A1 eth0 | grep inet 
    then 

risposta

20

dhclient dovrebbe sostenere fallback tramite dichiarazione locazione hanno uno sguardo alla pagina di dhclient.conf dell'uomo.

aggiungere qualcosa di simile al tuo dhclient.conf

timeout 10; 
lease { 
interface "eth0"; 
fixed-address 10.0.0.10; 
option subnet-mask 255.255.255.0; 
renew 2 2022/1/1 00:00:01; 
rebind 2 2022/1/1 00:00:01; 
expire 2 2022/1/1 0:00:01; 
} 

oppure è possibile assegnare un secondo IP all'interfaccia come /etc/network/interfaces

auto lo 
iface lo inet loopback 
iface eth0 inet dhcp 

auto eth0:1 
iface eth0:1 inet static 
address 10.10.10.2 
netmask 255.255.255.0 
+0

Io uso udhcpc e ha fatto qualcosa di simile: \t \t udhcpc -n - f -i eth0 \t \t if ifconfig | grep -A1 eth0 | grep inet \t \t quindi –

+0

Perché non anche "auto eth0'? – ygoe

Problemi correlati