So fordern Sie DHCP (mit dhclient) auf einer virtuellen Schnittstelle an (dh eth0: 1)


15

Dies scheint gut zu funktionieren:

dhclient eth0
ifconfig eth0:1 192.168.1.105 up

Aber nicht das:

ifconfig eth0 192.168.1.105 up
dhclient eth0:1

Gibt es eine Möglichkeit, DHCP auf eine virtuelle Adresse zu bekommen?

Antworten:


20

Das kann man nicht wirklich machen. Ihre Karte hat nur eine MAC-Adresse, aber mehrere IP-Schnittstellen. Sie müssen ihre Adressen statisch zugewiesen bekommen.

Wenn der DHCP-Server das DHCPOFFER zurücksendet, wie wird es zugestellt eth0:1und nicht zu eth0? eth0:1sendet per Broadcast einen DHCPDISCOVER oder einen DHCPREQUEST. Der DHCP-Server antwortet mit einem DHCPOFFER, um den Client über seine IP-Adresse zu informieren. Aber wie kommt das DHCPOFFER an, wenn eth0:1es noch keine IP-Adresse hat? Der DHCP-Server sendet Broadcasts zurück und verlässt sich auf die Verbindungsschicht, um den Ethernet-Frame (mit den anderen zugeordneten Schichten, die darüber gestapelt sind) korrekt an die richtige MAC-Adresse zu übermitteln. Und jetzt hat Ihr Gerät eine IP-Adresse.

Das Problem für das DHCPOFFER ist, dass die beiden "Geräte" ( eth0und eth0:1) aus einer Layer-2-Perspektive nicht zu unterscheiden sind, und daher (aus einer Layer-3-Perspektive) das DHCPOFFER für 255.255.255.255 bestimmt ist (da eth0:1noch kein IP Adresse).

Sie können dies umgehen, indem Sie VLANs verwenden. Mit VLANs können Sie dieselbe physische Broadcast-Domäne wie mehrere "virtuelle" Broadcast-Domänen (daher der Name) behandeln.


Gute Antwort! Ich glaube, ich habe ähnliche Antworten in Foren gesehen, aber diese ist viel klarer und ich verstehe sie jetzt. Es scheint, dass ich, wenn ich diese Anweisungen befolgen würde, in der Lage wäre dhclient eth0.1, ein DHCPOFFER zu erhalten.
CoolAJ86

Ja. Solange Ihre Netzwerkinfrastruktur für VLANs korrekt eingerichtet ist. Siehe Wie funktioniert Vlans? .
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.