Univention Bugzilla – Bug 28467
Fehlerhafte zufällige Zeroconf/APIPA-IP-Adresse
Last modified: 2014-09-12 18:59:44 CEST
In univention-installer/sbin/univention-installer-network-startup wird versucht, eine zufällige Zeroconf-Adresse zu erzeugen: r1=$((RANDOM % 255)) r2=$((RANDOM % 255)) eval $interface\_ip="169.254.$r1.$r2" Hier gibt es mehrere Probleme: r1 und r2 sind im Schnitt bei jedem 65025. Fall beide 0 und ergeben damit das Subnetz selbst: 169.254.0.0 Zudem dürfen die ersten 256 IP-Adressen gar nicht automatisch gewählt werden: """Wenn ein Rechner eine Link-Local-IP-Adresse konfigurieren will, wählt er mit Hilfe eines Zufallszahlengenerators eine IP-Adresse zwischen 169.254.1.0 und 169.254.254.255 aus. Die ersten 256 und die letzten 256 Adressen sind von der IANA für zukünftige Anwendungen reserviert und dürfen unter keinen Umständen ausgewählt werden. Auch muss bei der Auswahl der IP-Adresse rechnerspezifische Information einfließen, wie etwa die MAC-Adresse der Netzwerkschnittstelle, um sicherzustellen, dass – soweit möglich – jedes Mal dieselbe IP-Adresse generiert wird (sie wird damit also pseudozufällig gewählt).""" Quelle: http://de.wikipedia.org/wiki/APIPA Eine Konflikterkennung findet auch nicht statt. Ggf. haben somit zwei Systeme die gleiche IP-Adresse.
Bitte in dem Zusammenhang auch versuchen, die ganzen "eval" statements zu reduzieren/entfernen. Da die bash schon verwendet wird, kann dafür das Konstrukt ${!var} verwendet werden.
(a) RANDOM r1 r2 r1 wird nun aus $((RANDOM % 254 + 1)) (also eine Zahl zw. 1 und 254) ermittelt r2 wie bisher zw 0 und 254 Eine Konflikterkennung findet nicht statt (b) eval eval wurde durch ${!var} ersetzt bzw. entfernt. Changelog nicht notwendig, da diese Änderungen am Script erst zu 3.1 kamen.
(In reply to comment #2) > (a) RANDOM r1 r2 > > r1 wird nun aus $((RANDOM % 254 + 1)) (also eine Zahl zw. 1 und 254) ermittelt > r2 wie bisher zw 0 und 254 > Eine Konflikterkennung findet nicht statt > > (b) eval > > eval wurde durch ${!var} ersetzt bzw. entfernt. > > Changelog nicht notwendig, da diese Änderungen am Script erst zu 3.1 kamen. Es gibt noch eine solche Berechnung in installer/modules/70_net.py. Die müsste auch noch angepasst werden.
ist behoben
OK, eine Anpassung fehlt noch, es müsste eine /16er Adresse sein, also Class B. Aktuell wird Class C verwendet: http://tools.ietf.org/html/rfc3927
ok, in univention-installer/installer/modules/70_net.py univention-installer/sbin/univention-installer-network-startup wird nun die Netzmaske 255.255.0.0 verwendet.
OK
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".