[Sammelbecken für Erklärbär] Wie ermittle ich meine feste IP (V4/V6) Adresse im Freifunk-Netz?

Moin Christian.

Wie du vielleicht weist habe ich mir ein paar Adressen reserviert im FF-Nordraum. Guggst Du: Freifunk Nord/IP-Bereiche – wiki.freifunk.net
Kannst Du mir bitte mal nen Schubs geben, wie ich von IPV4 zu IPV6 komme?

Ich hatte mich damit mal beschäftigt und es gibt auch Rechner dazu, aber verstanden habe ich es trotzdem nicht.
Und bevor ich etwas nicht richtig mache frage ich doch einfach mal. :smile:

Gruß

Moin Moin,

eine direkte Umwandlung von IPv4 in IPv6 ist nicht möglich, aber auch gar nicht nötig, sie kann errechnet werden. Eine IPv6 Adresse besteht aus 128 Bits und zwei Teilen, den Präfix und dem Interface-Identifier.

Den Präfix geben wir im Netz vor, der Interface-Identifier besteht aus der MAC Adresse des Endgerätes.

Der Präfix:
Diese kannst du aus der site.conf [1] entnehmen (Zeile 11).

2a03:2267:4e6f:7264:

Der Interface-Identifier:
Dieser besteht aus der MAC Adresse des Endgerätes.

Da sie jedoch nur aus 48 hex Bits besteht, muss sie umgewandelt werden und die fehlenden 12 Bits ergänzt werden. Das Schema dabei ist immer gleich. Man teilt die MAC in der Mitte und fügt ff:fe ein. Den ersten hex Wert erhöht man um zwei. Vorangestellte Nullen können bei IPv6 wegfallen. Besteht eine gesamte (vierstellige) Gruppe aus Nullen, kann diese komplett weggelassen und ein : an : gereiht werden. Als letzten Schritt verschiebt man den : so, dass jede Gruppe aus 4 Werten besteht.

Präfix und Interface-Identifier werden dann aneinandergereiht.

Beispiel:

MAC: 30:b5:c2:bd:01:58

1. Schritt, in zwei Teile teilen:

30:b5:c2 >> : << bd:01:58

2. Schritt ff:fe einfügen:
30:b5:c2 >>ff:fe<< bd:01:58

3. Schritt ersten Hex Wert um 2 erhöhen:
32:b5:c2ff:febd:01:58

4. Schritt : verschieben und vorangestellte Nullen weglassen:
32b5:c2ff:febd:158

5. Schritt: Präfix und Interface-Identifier verbinden:

2a03:2267:4e6f:7264:32b5:c2ff:febd:158

Fertig ist die IPv6.

Gruß
Christian

[1] https://github.com/ffnord/nord-site/blob/v2016.1.4/site.conf

5 „Gefällt mir“

Ist es nicht einfacher per ip address show (Linux) bzw. ipconfig (Windows) zu schauen, welche Adresse sich der Rechner nimmt?

Bei uns (Aachen) steht in der site.conf nur eine ULA obwohl wir Public IPv6 haben, also scheint das nicht ganz allgemeingültig zu sein.

Da müsste man schon ins API-File schauen, wo alle genutzten v6-Netze drinstehen (bzw. im Moment auch da nicht, aber das sind wir selber schuld, weil wir das nicht aktualisiert haben :smiley: ).

Die Erklärung wurde aus einer PM extrahiert, da wir dachten es wäre für andere auch interessant.

In der Fragestellung ging es ursprünglich darum wie man sich IPv6 Adressen im FFNord Netz reservieren kann, ohne das Gerät anzuschließen.

1 „Gefällt mir“

ja, war/ist es, wieder dazugelernt. (zwar schon xmal gelesen, aber nie drüber nachgedacht, und so ist es griffig.)

aber yayachiken hat natürlich auch recht, wobei, wenn man verbunden ist, man in Win ja noch einfacher in Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen reinschaut, da hat man beide, die IPv4 und die IPv6 der aktuellen Verbindung.

1 „Gefällt mir“

Moin

Nochmal danke für deine Ausführungen.

Topjob. :+1:

Gruß

Moin.

Jaein, nicht ganz. Weil ohne die MAC kein IPV6 nach deiner Ausführung. :smile: Und die steckt ja nun mal im Netzwerkgerät.

Jupp, kann man. Da gebe ich Dir recht. Aber. Das ist doch eine per DHCP zugewiesene IP und kann sich ändern, oder?

Meine Intentzion ging/geht in Richtung „interne Dienste“. Also eine wirklich feste IP für entsprechende Services.

Übrigens. Deinen Hinweis wie man unter Win an die gewünschten Informationen kommt finde ich sehr gut. Sollten wir sammeln und gebündelt in einem entspr. Thread kundtun.

(Merkzettel an mich: Für Mint 17.2, ähnliches erstellen)

Mich ärgert eigentlich schon wieder das wir in diesem Thread viel „quasseln“. Der Erklärbär sollte, meiner Meinung nach eigentlich nur die gebündelten Ergebnisse zusammenfassen.

Vorschlag: 2 Threads. Einer geschlossen für die Ergebnisse. Einer als Sammelbecken für die Erkenntnisse. Vielleicht mit einem vorangestelltem [Sammelbecken].

@system, @MPW, @Markus, @stefan, @Florian, @jbacksch, @anon68922371 Kann man das so machen? Ich denke dann bleibt das übersichtlicher und ist für die Nachwelt auch einfacher zu finden/lesen.

Gruß

1 „Gefällt mir“
  1. Schritt ersten Hex Wert um 2 erhöhen:
    32:b5:c2ff:febd:01:58

Das ist so nicht richtig, hier wird aus Binärer Sicht die zweite Stelle der Zahl invertiert. Also XOR 0x02 nicht +2 :smile:
Zwar mag das Ergebnis das gleiche sein bei vorrangestellter 30 aber bei der 16 passt es schon nicht mehr:

16 + 2 = 18
0x16 XOR 0x02 = 14

Nachzulesen ist das Ganze hier: https://supportforums.cisco.com/document/100566/understanding-ipv6-eui-64-bit-address

Edit:

Next, the seventh bit from the left, or the universal/local (U/L) bit, needs to be inverted. This bit identifies whether this interface identifier is universally or locally administered. If 0, the address is locally administered and if 1, the address is globally unique. It is worth noticing that in the OUI portion, the globally unique addresses assigned by the IEEE has always been set to 0 whereas the locally created addresses has 1 configured. Therefore, when the bit is inverted, it maintains its original scope (global unique address is still global unique and vice versa). The reason for inverting can be found in RFC4291 section 2.5.1.

Zusätzliche Quelle:
http://packetlife.net/blog/2008/aug/4/eui-64-ipv6/

4 „Gefällt mir“

Moin.

Da wohl doch noch ein wenig Klärungsbedarf besteht, habe ich mir erlaubt den Thread umzubenenen und zu verschieben.

@CyrusFox genau bei sowas stehe ich dann im Wald. :smile:

Ich hoffe wir können das Allgemeinverständlich zusammenfassend iwie rüberbringen.

Gruß

Moin.

"About the Author
Jeremy Stretch is a network engineer… "

T`schuldigung. Ich muss Netzwerkingeneur sein um da durchzusteigen? Nein, natürlich nicht, aber ich sollte den fachlichen Backround dazu wohl haben. :pensive:

Und nun? Idee und Vorhaben begraben? :unamused:

Nochmal zur Erinnerung: Es geht darum festzugewiesene IP-Adressen innerhalb einer FF-Community zu erfahren. IPV4 konnte ich mir aus dem Vorgegebenen noch zusammenreimen. :yum:

Auch was @anon68922371 dazu geschrieben hat erschien mir logisch. Aber nun Netzwerkmetrik?!?! :pensive:

Vorschlag: Eine Übersichtsliste mit Ansprechpartnern in den jeweiligen Community`s welche sich darum kümmern, weil sie sich in der Materie auskennen.

Welche Informationen werden gebraucht dafür? Und wie kommunizieren? Die MAC ist ja wie eine eindeutige Adresse. Deshalb ist sie ja auch in fast allen Abbildungen unkenntlich gemacht. (Sollte man auch drauf hinweisen)

Also, wie sollten man es handhaben?

Gruß

Moin.

Überschrift angepasst.

Mahlzeit

Es geht um Interne Dienste in einer Community? Benutzt DNS, genau dafür wurde es erfunden. :wink:

Außerdem ist das einfache Auswählen einer beliebigen statischen IPv6 für interne Services ziemlich unproblematisch. Es gibt ja keinen DHCP mehr mit dessen Pool man kollidiert.

Schnapszahlen oder so Sachen wie 2001:db8::1 sollte man vielleicht aufgrund des menschlichen Faktors meiden. Ansonsten kann man ohne Probleme sich eine beliebige (semi-)zufällige Adresse wie 2001:db8::1337:42:B5B:1909 greifen.

Solange in der Mitte kein :fffe: steht ist die Wahrscheinlichkeit der Kollision gleich 0 (da SLAAC-Adressen diesen Teil immer haben) wenn zufällig (z.B. bei privacy extensions) ein :fffe: generiert wird, ist die Wahrscheinlichkeit der Kollision aufgrund der 2^64 möglichkeiten trotzdem so wahrscheinlich wie 3x hintereinander im Lotto zu gewinnen.

1 „Gefällt mir“

Moin.

@yayachiken Danke für deine Ausführungen.

Nur hat mich pers. das nicht wirklich weitergebracht. :unamused: Sicherlich mag das alles für einen Informatiker durchschaubar sein, aber für Neulinge und „unbeleckte“?

Vielleicht sollte man dieses Thema damit schließen:

Wende dich bitte an dein Adminteam und lass dir die entsprechenden Adressen zuweisen.

Ich denke es ist der sicherste Weg um eventuelle Fehler bei der Konfiguration zu umgehen.

Spricht etwas dagegen den Thread damit zu schließen?

Gruß