DHCPv6: Client ist schneller als Link-Local-Generierung

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
killerbees19
Beiträge: 99
Registriert: 14.12.2010 21:56:45
Wohnort: Wien (Österreich)

DHCPv6: Client ist schneller als Link-Local-Generierung

Beitrag von killerbees19 » 12.09.2016 20:53:24

Ich versuche gerade auf einem KVM-Gast-Testsystem über DHCPv6 eine IP zu bekommen, nicht über SLAAC! In der /etc/network/interfaces verwende ich dafür folgendes:

Code: Alles auswählen

allow-hotplug eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp
Leider scheitert der automatische Start der Schnittstelle und auch sonst immer der erste manuelle ifup-Versuch:

Code: Alles auswählen

Sep 12 20:32:36 test-2 dhclient: Can't bind to dhcp address: Cannot assign requested address
Sep 12 20:32:36 test-2 dhclient: Please make sure there is no other dhcp server
Sep 12 20:32:36 test-2 dhclient: running and that there's no entry for dhcp or
Sep 12 20:32:36 test-2 dhclient: bootp in /etc/inetd.conf.   Also make sure you
Sep 12 20:32:36 test-2 dhclient: are not running HP JetAdmin software, which
Sep 12 20:32:36 test-2 dhclient: includes a bootp server.
Sep 12 20:32:36 test-2 dhclient: 
Sep 12 20:32:36 test-2 dhclient: If you think you have received this message due to a bug rather
Sep 12 20:32:36 test-2 dhclient: than a configuration issue please read the section on submitting
Sep 12 20:32:36 test-2 dhclient: bugs on either our web page at www.isc.org or in the README file
Sep 12 20:32:36 test-2 dhclient: before submitting a bug.  These pages explain the proper
Sep 12 20:32:36 test-2 dhclient: process and the information we find helpful for debugging..
Sep 12 20:32:36 test-2 dhclient: 
Sep 12 20:32:36 test-2 dhclient: exiting.
Wenn man danach ifup nochmals ausführt, klappt es sofort. Nach einem erneuten ifdown, braucht es wieder zwei ifup Versuche.

Nach etwas Herumprobieren und Debuggen weiß ich aktuell soviel: Die Schnittstelle wird zuerst aktiviert, danach versucht sofort der DHCP-Client zu starten und scheitert (siehe Fehlermeldung oben), weil die Schnittstelle noch keine Link-Local-Adresse hat. Der zweite Versuch klappt, weil er bereits an die mittlerweile vorhandene Link-Local-Adresse binden kann. Normalerweise hat das Problem niemand, da die DHCP (v4) Transaktion einige Millisekunden bis Sekunden dauert. In dieser Zeit wird bereits die Link-Local-Adresse generiert. In diesem Fall läuft der DHCP-Server aber auf dem KVM-Hostsystem und reagiert über die virtuelle Bridge dementsprechend sehr schnell auf die Anfragen der Gastsysteme – offenbar zu schnell, weil keine Kupferleitung dazwischen liegt… ;)

Folgender Workaround zeigt Wirkung:

Code: Alles auswählen

allow-hotplug eth0
iface eth0 inet dhcp
post-up sleep 5
iface eth0 inet6 dhcp
Das kann aber irgendwie auch nicht Sinn der Sache sein, da man so z.B. IPv6-Only nicht nutzen könnte und immer IPv4 notwendig ist. Ein Sleep bei pre-up bringt nichts, weil da die Schnittstelle noch nicht aktiviert wurde.

Irgendwelche anderen kreativen Ideen, die ich übersehen habe?


MfG Christian

Benutzeravatar
PatrickX
Beiträge: 21
Registriert: 17.02.2015 18:54:19

Re: DHCPv6: Client ist schneller als Link-Local-Generierung

Beitrag von PatrickX » 15.09.2016 16:57:04

killerbees19 hat geschrieben:Ich versuche gerade auf einem KVM-Gast-Testsystem über DHCPv6 eine IP zu bekommen, nicht über SLAAC!
Zu klären wäre eigentlich erst mal folgendes. Nur zum Verständnis.

SLAAC ist bei IPv6 zweistufig und bezieht sich auf die link-lokale und auf die globale IPv6-Adresse. Wenn von DHCPv6 die Rede ist, dann meint man damit die Verteilung der globalen IPv6-Adresse. Die link-lokale Adresse wird vom Host selber generiert und ist für die Verbindung zum DHCPv6-Server notwendig, weil IPv6 kein Broadcasting kennt. Soweit klar.

Weil man keinen Einfluss auf die link-lokale Adresse hat (außer PE) gehe ich davon aus, dass es Dir um die globale Adresse geht, die sich der Host per SLAAC holt (den Präfix). Damit der Host sich die Adresse per DHCPv6 holt muss der per SLAAC antwortende Router im Router Advertisement das Managed-Flag gesetzt haben. Dann holt sich der Host anschließend die globale Adresse per DHCPv6.

Nachzulesen hier:
http://www.elektronik-kompendium.de/sit ... 902141.htm

Das heißt, Du musst nicht auf der Host-, sondern auf der Router-Seite konfigurieren.

Benutzeravatar
killerbees19
Beiträge: 99
Registriert: 14.12.2010 21:56:45
Wohnort: Wien (Österreich)

Re: DHCPv6: Client ist schneller als Link-Local-Generierung

Beitrag von killerbees19 » 16.09.2016 12:45:45

Das ist mir soweit schon klar und wurde auch umgesetzt. Ich weiß aber nicht, was ich noch auf der Routerseite konfigurieren soll, wenn am Client der DHCPv6-Client sich an kein Interface binden kann, siehe Fehlermeldung im ersten Post. Mit der kurzen Wartezeit klappt es ja, da das Interface dann bereits nutzbare IPv6-Adressen hat.


MfG Christian

Antworten