2012-10-04 7 views
6

Trabajo en un dispositivo integrado con Linux. Primero quiero usar el cliente DHCP, pero si no hay respuesta del servidor DHCP, quiero establecer una IP estática predeterminada. Supongo que no debería ser complicado, pero no he encontrado una respuesta estricta.Establecer IP estática si no se obtiene de DHCP (secuencia de comandos)

estoy pensando en soluciones (2 Desafortunadamente puedo probarlos en pocos días):

  1. me conjunto estático IP con ifconfig, entonces yo llamo udhcpc. Si udhcpc no obtendrá una nueva IP, la anterior se mantendrá.

  2. También puedo llamar primero a udhcpc, esperar un momento y comprobar si se obtiene la dirección IP. Pero esto no es bueno para mí. No me gustaría agregar ninguna rutina de espera al inicio.

BR Bartek

lo uso udhcpc - algo así como:

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

Respuesta

20

dhclient debe apoyar de reserva a través de la declaración de arrendamiento echar un vistazo a la página dhclient.conf hombre.

añadir algo como esto a su 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; 
} 

o puede asignar un segundo IP a la interfaz como /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

utilizo udhcpc e hizo algo como: \t \t udhcpc -n - f -i eth0 \t \t if ifconfig | grep -A1 eth0 | grep inet \t \t then –

+0

¿Por qué no también 'auto eth0'? – ygoe

Cuestiones relacionadas