linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Indirizzo IP di riserva per fallimento DHCP (lease in dhclient.conf)

Giuseppe Corbelli cowo78 a gmail.com
Gio 31 Ago 2017 07:44:07 UTC
On 08/30/2017 11:18 AM, White_Rabbit wrote:
> On 2017-08-25 11:57, Giuseppe Corbelli wrote:
>> [...]
>> What if:
>> 1) ammazzi il dhclient che sta già verosimilmente girando in
>> background 2) levi dai piedi i lease del "persistent database" attuale
>> (tipo in /var/lib/dhcp)
>> 3) lanci dhcpd -d -v eth0
> 
> Funziona* \o/
> A terminale scrive "No DHCPOFFERS RECEIVED. Trying recorded lease 
> 172.16.0.58"
> A quel punto ho pure ridato ifdown, ifup, ed ha funzionato.
> Credo che a fare da discrimine sia il contenuto del persistent database 
> /var/lib/dhcp/dhclient.eth0.leases
> Mi sembra che se quel file contiene qualcosa, dhclient non consideri i 
> recorded lease in /etc/dhcp/dhclient.conf
> Grazie :)
> 
> * A patto che il gateway risponda al ping, altrimenti NON assegna 
> l'indirizzo all'interfaccia, ma scrive comunque a terminale "bound: 
> renewal in [numero grande] seconds."

Giusto per perdere un po' di tempo ho dato una scorsa al codice, che non 
é propriamente amichevole.

Direi che fa passare tutta la lista dei lease non expired (che 
evidentemente recupera sia dai lease passati sia da dclient.conf) e 
lancia uno script (/sbin/dhclient-script ad es.) con reason=TIMEOUT che 
fa il mestiere os-specific.
Lì c'é un commento
# if there is no router recorded in the lease or the 1st router answers 
pings
che suona simile a quanto dici tu e che mi sono ben guardato 
dall'approfondire.

As far as the C program is concerned se questa minchia di script esce 
con 0 l'interfaccia é considerata bound. Se il renewal time é nel futuro 
si segna il timeout altrimenti se nel frattempo é scaduto il lease 
rischedula tutta la fase.

Direi che quello che ti infastidisce é da cercare nello script.

Per l'esecuzione fa un fork+execve che dovrebbe loggare (in modo da 
vedere cosa gli passa) e che comunque puoi vedere con strace.

-- 
Giuseppe Corbelli



Maggiori informazioni sulla lista Lug