[fli4l] dhcp_client "stirbt", wenn der Link down ist
Hans Bachner
Hans at Bachner.priv.at
Do Dez 6 16:24:04 CET 2012
Hallo Robert,
Robert Resch <fli4l at robert.reschpara.de> wrote:
> Am 29.11.2012 00:46, schrieb Hans Bachner:
>> ein fli4l 3.6.2 ist als DHCP Client (Typ dhcpcd) konfiguriert, weil
>> er an einem Kabelmodem hängt.
>>
>> Fehlt beim Hochfahren der Netzwerk-Link zum Kabelmodem
>> (Ethernet-Kabel abgezogen oder Kabelmodem ausgeschaltet), kommen
>> diese Meldungen:
>
> Mach mal eine bridge dazwischen. Evtl. hilft das, denn dann sieht dein
> dhcp-client den link-down nimmer.
Da ich übers Wochenende weg war und danach noch ausgiebig herumprobiert
habe, kommt diese Antwort erst recht spät...
Der Tipp mit der Bridge ist genial - auf eine Bridge mit nur einem
physischen Interface muss man erst einmal kommen :-)
fli4l 3.6.2 versucht per DHCP eine Adresse für br0 zu bekommen, kriegt
mangels Kabel natürlich keine, und verpasst sich fürs erste eine Adresse
aus dem 169.254.0.0/16 Bereich:
br0: dhcpcd 4.0.9 starting
DHCP event 'PREINIT'
ignoring dhcp event 'PREINIT'
br0: broadcasting for a lease
br0: timed out
br0: probing for an IPV4LL address
br0: checking 169.254.10.81 is available on attached networks
br0: using IPv4LL address 169.254.10.81
DHCP event 'IPV4LL'
new_broadcast_address='169.254.255.255'
new_ip_address='169.254.10.81'
[...]
Event: up, local: '169.254.10.81', remote=''
Steckt man dann das Kabel an, schickt der dhcpcd nach gut einer Minute
erneut einen Request raus, und bekommt dann auch die "richtige" Adresse.
Der Wermutstropfen an dieser Lösung: mit dem aktuellen Tarball (24359)
funktioniert sie nicht mehr. Offenbar wird hier der Link-Status vom
physischen Interface and die Bridge weitergereicht:
dhcpcd[1174]: version 5.5.4 starting
dhcp-client: DHCP event 'PREINIT'
dhcp-client: ignoring dhcp event 'PREINIT'
dhcp-client: DHCP event 'NOCARRIER'
dhcp-client: ignoring dhcp event 'NOCARRIER'
dhcpcd[1174]: br0: waiting for carrier
dhcpcd[1174]: timed out
es gibt (anscheinend mangels Draht) auch keine link-local Adresse:
dhcpcd[1174]: allowing 8 seconds for IPv4LL timeout
dhcpcd[1174]: timed out
-> finished starting dhcp client daemon... (/etc/rc.d/rc310.dhcpcd)
und damit verstirbt der dhcpcd wie bei der Version 3.6.2 ohne Bridge.
Nun kann ich mir aussuchen, welchen Tod ich sterbe. Es geht hier um den
gleichen Rechner wie beim vorhergehenden Eintrag ("Igel 564 hängt beim
Reboot"), bei dem ein warm reboot nur mit der Tarball-Version
funktioniert.
Ist dieses Verhalten des dhcpcd und/oder der Bridge in der Tarball-
Version ein Bug oder ein "bug fix"?
Hans.
Mehr Informationen über die Mailingliste Fli4L