[IPv6-wien] Linklocale IPs auf Interfaces und IPv4

Henning Rogge (spam-protected)
Wed Aug 21 14:39:42 CEST 2013


Hi,

nach ein paar Chats über Jabber um herauszufinden warum "IPv4
Linklokale" Adressen unbeliebt sind hier auch ein paar Gedanken dazu
von mir.

So wie ich es mitbekommen habe ist eines der Probleme dass das
IP-Verwaltungsportal von Funkfeuer Wien aktuell nur mit den Public-IPs
klarkommt und das man ein gut funktionierendes Tool lieber nicht
umstricken will (never touch the running system too much ;) ).

Daher hier ein Vorschlag wie man auf einfache Weise die Interface-IPv4
Adressen automatisch generieren kann, ohne das eine globale Verwaltung
nötig ist. Der Vorschlag sollte mit OLSRv2 sehr gut und mit OLSRv1 mit
Einschränkungen laufen.

Überlegung:
**************

Jedes Interface bekommt eine 169.254.0.0/16 Adresse, dazu hat jede
Node auf dem Loopback eine manuell zugewiesene globale IP.

Da 169.254.0.0/24 und 169.254.255.0/24 verboten (reserviert) sind,
stehen als 256*254=65024 Adressen zur Verfügung. Der Algorithmus muss
also eine Zahl zwischen 0 und 65023 ausspucken.

Algorithmus:
1) Generiere einen Hash X aus der IPv6 linklokalen IP mit einem
Ergebnis von 0 bis 65023
2) Wenn es eine Kollision mit dem Hash einer anderen IPv6 linklokalen
IP (sichtbar in HELLO Message!) gibt springe zu 6)
3) Wenn es eine Kollision mit einer anderen IPv4 linklokalen IP
(sichtbar in HELLO Message!) gibt springe zu 6)
4) Setze linklokale IPv4 Adresse auf Interface basierend auf X (wenn
sie sich geändert hat)
5) weiter bei 2)

6) Wenn die eigene IPv6 linklokale IP größer (numerisch) ist als die
der kollidierenden Node springe zu 9)
7) Erhöhe X um eine Zufallszahl zwischen 1 und 65023/2 (abrunden).
8) springe zu 2)
9) Vermindere X um eine Zufallszahl zwischen 1 und 65023/2 (abrunden)
10) springe zu 2)

Im Grunde entspricht das ganze einem Zufallsgenerator mit einem guten
Seed (der MAC) und einer Duplikat-Erkennung per HELLO Nachricht.

Man könnte danach sogar die Subnetz-Maske auf Mesh-Interfaces
einheitlich auf 255.255.255.255 setzen. Damit verhindert man auch das
Leute ohne eine gültiges OLSR plötzlich mit einer Funkfeuer-Node über
das Mesh-Interface reden.

Was denkt ihr dazu?

Henning Rogge

-- 
We began as wanderers, and we are wanderers still. We have lingered
long enough on the shores of the cosmic ocean. We are ready at last to
set sail for the stars - Carl Sagan




More information about the IPv6-wien mailing list