[Fli4l_dev] Frage zum opt_httpd: Status -> dhcp

Hans Bachner hans at bachner.priv.at
Mi Aug 19 10:57:39 CEST 2020


Kay Martinen schrieb am 18.08.2020 um 22:47:
> Am 18.08.20 um 21:11 schrieb Hans Bachner:
>> Peter Schiefer schrieb am 18.08.2020 um 18:54:
>>> Hallo Stefan und Harvey,
>>>
>>> Am Tue, 18 Aug 2020 16:37:28 +0200 schrieb Harvey:
>>>
>> nochmal zitiert:
>>>> Man muss nur aufpassen, das
>>>> nicht beide gleichzeitig aktiv sind, sonst kann das evtl. Probleme
>>>> machen.
>>
>> Ist das Verhalten des dnsmasq für diesen Fall dokumentiert? Was macht
>> er, wenn der DHCP Request von einer MAC-Adresse kommt, deren zugehörige
>> IP-Adresse schon an die andere MAC-Adresse vergeben ist? Vergibt er
>> keine Adresse? Oder eine aus der DHCP-Range?
> 
> Da für einen DHCP Server die MAC das identifikations-merkmal ist und die
> IP dieser zugeordnet würde vermute ich: Es wird keine zweite IP
> vergeben. Wenn beide Statisch konfiguriert sind - darum gehts ja.

Erst einmal danke für deine Antwort.

Mir gehts weniger ums Vermuten - ich habe gehofft, dass Peter sich das 
angesehen hat, als er die Erweiterung eingebaut hat.

> Man kann aber sicher das erste Lease zurück geben (dhcp-client?) das
> interface deaktivieren und dann das andere auf machen. Schon sollte man
> eine IP auf dessen MAC bekommen - können.

Wie würde ich das konfigurieren (unter Windows/Linux), damit das 
automatisch geschieht? Wie kann ich dabei das bevorzugte Interface 
definieren?

> Eine kurze lease-dauer zum test könnte helfen.
> 
> Bei dynamischer IP dürfte jedes interface eine IP aus der range/pool
> bekommen. Der Host hätte also zwei IP im gleichen Segment.

Klar, da hat der DHCP Server ja keine Bindung zwischen MAC und IP Adresse.

> Ansich auch kein Problem. Proxyarp und virtuelle IP/alias gibt es ja
> auch schon länger.

Ack. Ich kann auch mehrere IP Adressen auf das gleiche Interface 
(=gleiche MAC) legen, allerdings nicht per DHCP.

Der Hintergrund meiner Fragen ist folgender:
Auf zweien meiner Notebooks ist eine automatische WLAN-Deaktivierung im 
BIOS eingestellt, sobald der Ethernet-Anschluss einen Link erkennt.

Das funktioniert in der Regel ganz ausgezeichnet. Nur wenn ich das 
Notebook erst einschalte (oder aus dem Ruhezustand hole) und erst danach 
in die Dockingstation einklinke, läuft folgendes ab:

- Notebook einschalten, kein Ethernet --> WLAN aktiv
- DHCP Server liefert die fest konfigurierte Adresse (via Hostnamen) an 
das WLAN Interface aus
- Notebook --> Dockingstation --> Ethernet Link wird aktiv --> WLAN wird 
abgeschaltet, offenbar ohne vorher die Lease freizugeben
- ein DHCP Request geht auf dem Ethernet raus
- die für diesen Hostnamen reservierte Adresse ist aber schon(/noch) 
vergeben, das Ethernet Interface erhält eine Adresse aus dem Pool
- der DNS-Name ist aber noch vom (inaktiven) WLAN Interface blockiert, 
das Notebook erhält daher einen DNS-Namen, der für die Pool-Adressen 
definiert ist (z.B. dhcp-07)
- das Notebook ist im Netz nicht mehr über seinen angestammten Namen 
erreichbar. Und das, bis die Lease Time abgelaufen ist...

Das ist in Summe recht unschön, ich hab aber noch keine brauchbare 
Lösung für dieses Szenario gefunden. Selbst wenn ich die Lease mit der 
fest definierten Adresse, die dem nicht mehr aktiven WLAN Interface 
zugeordnet ist, manuell lösche, den dnsmasq neu starte und auf dem 
Notebook ein ipconfig /release gefolgt von ipconfig /renew eingebe, 
versucht das Notebook im ersten Ansatz meistens die zuletzt zugewiesene 
Adresse wieder zu bekommen :-(

Wenn ich es mir so recht überlege, hilft in dieser Situation auch die 
Möglichkeit, zwei MAC Adressen anzugeben, nicht wirklich weiter. Das 
ginge nur, wenn der dnsmasq bei der Anforderung überprüft, ob die für 
das andere Interface vergebene Adresse noch aktiv / erreichbar ist, im 
negativen Fall die alte Lease einfach löscht und Namen und Adresse dem 
anfordernden Interface zuteilt. Ich gebe zu, dieses Szenario muss noch 
einmal gründlich durchgedacht werden, ob es auch praktikabel ist.

Hans.


Mehr Informationen über die Mailingliste Fli4l_dev