Das Internet ist weltweit. Damit Donald Trump oder ich nicht das Internet durcheinander bringen, gibt es die IANA (Internet Assigned Numbers Authority) seit 1988. Sie kümmert sich um die Verteilung der IP-Adressen im Internet weltweit.
Ein Computer kann wenig ohne weitere Software mit einem Straßennahmen oder einer Postleitzahl anfangen.
Er kann nur mit 0 und 1 umgehen, weil er digital ist. Deshalb sind IP-Adressen wie folgt aufgebaut:
IPv4-Adressen
Eine IPv4-Adresse hat eine Länge von 32 Bit, also 32 Nullen oder Einsen. Beispiel:
11000000 10101000 00000010 10011010
Damit wir Menschen besser damit umgehen können, werden hier immer 8 Bit zu einer Dezimahlzahl zusammengefasst. Zwischen den Zahlen wird ein Punkt notiert. Das wäre hier:
192.168.2.154
Somit sind bei diesen Zahlen Werte von 0 bis 255 möglich.
Da 32 Bit genutzt werden, könnten sich theoretich 2 hoch 32 Geräte miteinander verbinden. Das wären also 4294967296 Geräte, über 4 Mrd. toll, oder doch nicht?
Wieviele Menschen leben auf der Welt? Derzeit sind es knapp 9 Mrd. Wieviele netzwerkfähige Geräte nutzt ein Mensch (Computer, Auto, Smartphone, Tablett, Kühlschrank, Herd, Mikrowelle, Heizung, usw.)? Fazit: Die Anzahl reicht nicht.
Deshalb werden mehrere Geräte zum Internet hin gebündelt, wo dann alle diese Geräte mit der gleichen IP-Adresse unterwegs sind. In einem Heimnetz übernimtt das der Router. Übrigens wird der Router "Rauter" ausgesprochen und nicht "Ruter".
In netzwerktechnisch dicht besiedelten Gebieten setzen ISPs (Internet-Service-Provider) auch eine Art Router ein, die vielen Privatkunden eine einzigste IP-Adresse zum Internet hin zuteilen. Die ISPs haben nur einen gewissen Bereich von IP-Adressen zur Verfügung.
Vielleicht ist es schön, dass das so geht. Aber es hat Nachteile. Für polizeiliche und staatsanwaltliche Untersuchungen bei Straftaten ist das ein riesen großer zusätzlicher Aufwand. Und ich als Serverbetreiber habe auch keine Chance, zu erkennen; "War es die gleiche Person, die meinen Server ärgert? Oder war es das gleiche Gebiet?"
Ein paar fest vergeben IPv4-Adressbereiche
| von | bis | Verwendungszweck |
| 0.0.0.0 | 0.255.255.255 | Das Netzwerk selbst |
| 10.0.0.0 | 10.255.255.255 | Direktverbindungen zwischen Computern ohne Router |
| 127.0.0.0 | 127.255.255.255 | Der Computer selbst (Loopback) Innerhalb eines Computers kommunizieren Programme miteinander mittels Netzwerk. |
| 169.254.0.0 | 169.254.255.255 | DHCP. Wenn ihr ein neues Gerät im Heimnetz anmeldet, benötigt das neue Gerät dann auch eine IP-Adresse vom Router. Über diesen Adressbereich wird dem Gerät die IP-Adresse zugeteilt. |
| 172.16.0.0 | 172.31.255.255 | Privates Netz, wird oft für Gastzugänge genutzt, 1048576 Teilnehmer wären möglich.. |
| 192.168.0.0 | 192.168.255.255 | Privates Netz, 65536 Teilnehmer wären möglich. |
| 224.0.0.0 | 239.255.255.255 | Multicasts, Mehrpunktverbindungen |
| 240.0.0.0 | 255.255.255.254 | Reserviert |
| 255.255.255.255 | 255.255.255.255 | Limited Broadast, über diese Adresse kommuniziert der Router mit allen Teilnehmern im Netzwerk, also eine Art Mehrpunktverbindung. |
Und so werden aus den 4,2 Mrd. Adressen immer weniger, die für das Internet zur Verfügung stehen.
Die 2 Adressbereiche für private Netze können in jedem privaten Netzwerk genutzt werden. Diese Adressen werden nicht in das Internet geroutet.
IPv6-Adressen
Eine IPv6-Adresse besteht aus 128 Bit und ist somit 4 mal länger als eine IPv4-Adresse. Ein Beispiel:
10000000000011 0000000011000111 0111001111111010 1011110100101001 0000000000000000 0000000000000000 1011101011111111 0000011001000011
Damit wir diese große Anzahl an Bits händeln können, werden 16 Bits zu einer hexadezimalen Zahl (Basis 16, Ziffern von 0 bis 9 und a bis f) zusammengefasst. Zwischen diesen Zahlen wird ein Doppelpunkt notiert. In diesem Beispiel sieht das so aus:
2003:00c7:73fa:bd29:0000:0000:baff:0643
Also sind für jeder dieser Zahlen Werte von 0000 bis ffff möglich.
Da es viele Bereiche gibt, wo die 16er Bitgruppen mit Nullen beginnen, können führende Nullen weggelasen werden:
2003:c7:73fa:bd29:0:0:baff:643
Sind eine oder mehrere aufeinander folgenden 16er Bitgruppen komplett mit Nullen belegt, kann man diese komplett weglassen. Dazu muss ein 2. Doppelpunkt notiert werden. Das geht aber nur einmal pro Adresse.
2003:c7:73fa:bd29::baff:643
Aus den 128 Bits resultieren
340.282.366.920.938.463.463.374.607.431.768.211.456
mögliche IP-Adressen. Kann mir jemand die Zahl vorlesen?
340 Sextillionen 282 Quintilliarden 366 Quintillionen 920 Qadrilliarden 938 Quadrillionen 463 Trilliarden 463 Trillionen 374 Billiarden 607 Billionen 431 Milliarden 768 Millionen 211 Tausend 456
Zu so großen Zahlen fehlt uns einfach der Bezug, deshalb drücke ich es andes aus.
Für jedem Qadratzentimeter (Fläche von 1 cm mal 1 cm) der Erdoberfläche inklusive der Meere stehen so 4 IPv6-Adressen zur Verfügung.
Man glaubt es kaum, das gibt es schon seit dem Jahre 2002. Und noch heute tun sich Netzwerkdienste mit IPv6-Adressierungen schwer.
Da es so die Unmenge an möglichen Addressen gibt, hat man sich auf folgendes geeinigt:
- Man trennt die Adresse in der Mitte, also nach 64 Bit.
- Der erste Teil davon ist der globale Teil der Adresse. Ihn nennt man Präfix. Dieser wird vom ISP oder Router zugewiesen.
- Der zweite Teil ist der lokale Teil, der Suffix genannt wird. Dieser kann selbst, z.Bsp. im Heimnetz, genutzt werden.
In dem Beispiel bedeutet das:
Globaler Teil Präfix | Lokaler Teil Suffix |
| 2003:00c7:73fa:bd29 | 0000:0000:baff:0643 |
| 2003:c7:73fa:bd29 | ::baff:643 |
Aufgrund der 64 Bit stehen somit jedem Teil 18.446.744.073.709.551.616 Adressen zur Verfügung. Reichen Euch 18,4 Trillionen Adressen für das Heimnetz?
Weitere Unterschiede von IPv6 zu IPv4
- Es werden großzügig mehrere Adressen an ein Gerät vergeben, man hat ja genug. Für Serverdienste ist das gut, wenn man diese entsprechender Adressen zuordnen kann. Der Anwender soll so seine Anonymität bewahren können, wovon ich selbst aber nicht viel halte.
- Für die automatische Aushandliung der IP-Adressen zwischen Router und Gerät benötigt man eigentlich kein DHCP-Server auf dem Router mehr. Das kann hier mit sogenannten Routeradvertisements erfolgen. Dieses Verfahren hat vor allem im Mobilfunk große Vorteile: Fähst man mit dem Zug oder Auto und eine neue Verbindung zu einem neuen Sendemast wird erstellt, behält man die IP-Adresse und bestehende Verbindungen vom mobilen Gerät zu Diensten bleiben erhalten.
- Besucht Ihr eine Seite im Internet mit IPv6-Adressierung, protokolliert der dortige Webserver nicht mehr die IP-Adresse Eures Routers sondern die IP-Adresse Eurer Geräte. Klingt schlimm, ist es aber nicht. Bitte keine Gedanken machen. Die Protokolle werden automatisch nach x Tagen gelöscht.
- Mittels IPv4 kann nur ein Webserver von einem Gerät auf Port 80 für das Internet freigegeben werden. Mittels IPv6 könnte auf jedem Gerät im privaten Netz ein Webserver laufen und die Erreichbarkeit aus dem Internet eingerichtet werden.
- Auch wenn die Adresskonfiguration automatisch erfolgte, können jederzeit weitere IPv6-Adresse am Gerät hinzugefügt werden. Allerdings müssen entsprechend zugeordnete Präfixe verwendet werden, damit man diese Adressen nutzen kann.
Ein paar Bereiche von IPv6-Adressen
| Adresse bginnt mit | Verwendungszweck |
::1, also 0:0:0:0:0:0:0:1 | Loopback, localhost. Über diese Adresse kommunizieren Programme innerhalb eines Gerätes. Sie ist sogar vorhanden, wenn das Gerät keine Netzwerkschnittstelle besitzt. |
| 2 | Alle Internetadressen weltweit beginnen mit 2. Das wurde so erst mal von der IANA festgelegt, da es immer noch mehr als genug sind. |
| fd | Alle Adressen, die mit fd beginnen, sind Adressen im privaten Netz. Sie werden nicht ins Internet geroutet. Den kompletten Präfix definiert in der Regel der Router. |
| fe80: | Link-Local-Adressen. Mittels Routeradvertisement können die automatischen Adresskonfigurationen ohne DHCP erfolgen, dafür wird dieser Adressbereich genutzt. |
| ff00: | Multicast, Mehrfachverbindungen |
Und mehr Adressen braucht der normale Anwender auf der Welt erst mal nicht. Könnt Ihr erkennen, was da noch übrig bleibt?
Eine weitere IPv6-Adresse im privaten Netz in Debian hinzufügen
IPv6-Adressen werden in der Regel automatisch erstellt. Grundsätzlich sollte das erst mal auch so erfolgen, damit sie weltweit genutzt werden können.
Allerdings erhält man so IPv6-Adressen, die sich kein normaler Mensch merken kann. Obwohl die IPv6-Adressen automatisch erstellt werden, ist es möglich, einem Gerät weitere IPv6-Adressen zuzuteilen, Adressen stehen in Fülle zur Verfügung.
Um einem Gerät eine weitere IPv6-Adresse zuteilen zu können, ist es wichtig, dass man den Präfix (fest) und den Suffix (eigener Anteil) erkennt.
Um IPv6-Adressen für das private Netz des Gerätes zu ermitteln, kann man folgende Anweisung nutzen:
ip addr | grep "inet6 fd"
Als Beispiel erhält man folgende Ausgabe:
inet6 fd21:ba00:fe78:4200:e6aa:ea12:fe04:a257/64 scope global dynamic noprefixroute
Man erkennt die IPv6-Adresse im privaten Netz und weitere Infos, die ich eigentlich nicht erklären wollte. Na gut, weil Du es bist:
- /64 - Die ersten 64 Bits sind nicht direkt veränderbar (konstant). Sie bilden den Präfix.
- global - Die IP-Adresse ist eigentlich global gültig, wenn das Wort noprefixroute nicht wäre.
- dynamic - Die IP-Adresse kann verändert werden.
- noprefixroute - Adressen mit diesem Präfix werden nicht in das Internet geroutet. Das ist der Sinn einer Adresse im privaten Netz.
Für uns ist es wichtig, dass wir den Präfix und den Suffix erkennen.
Der Präfix lautet in diesem Beispiel: fd21:ba00:fe78:4200
Dieser Präfix kann nur im Router verändert werden. Bei den Speedport-Routern der Telekom habe ich bisher keine Möglichkeit gefunden, diesen Präfix ändern zu können.
Wird dieser Präfix im Router verändert, müssen sich alle privaten Geräte neu mit dem Router verbinden, sie erhalten neue IPv6-Adressen für das private Netz mit dem neuen Präfix.
Der Suffix lautet in diesem Beispiel: e6aa:ea12:fe04:a257
Mit diesem Wert können wir spielen.
Also: Präfix vom Router, Suffix von mir. Auf dieser Grundlage kann man einem Gerät weitere IPv6-Adressen zuteilen.
Für mein Gerät hätte ich gern den Suffix 0000:0000:0000:0012.
Somit lautet die neue IPv6-Adresse im privaten Netz in diesem Beispiel:
fd21:ba00:fe78:4200::12
Die neue Adresse muss dem System hinzugefügt werden. Dazu gibt es Tools auf der grafischen Oberfläche. Unter IPv6-Einstellungen kann man das realisieren. Auf der Konsole geht das auch mit
sudo nmtui
Möchte man diese Adresse auf dauerhaft konstant setzen, sollte man folgendes eintragen:
fd21:ba00:fe78:4200::12/128
Nach Eingabe der neuen Adresse muss der Netzwerkdienst oder das Gerät neu gestartet werden. Danach ist das Gerät mit der neuen IPv6-Adresse erreichbar.
Einmalig eine IPv6-Adresse für das private Netz hinzufügen
Für das zu tun, kann man das Programm ifconfig aus dem Packet net-tools nutzen.
Natürlich brauchen wir wieder den konstanten Präfix und den gewünschten Suffix.
Man benötigt auch das Device, die Netzwerkschnittstelle. Für Kabelverbindungen lauten die in der Regel eth0 oder enp2s0. Bei WLan-Verbindungen lauten diese wlan0 oder wlpls0. Um das herauszufinden, kann man folgende Anweisung nutzen:
ip addr
Hat man das entsprechende Device gefunden, lautet die Anweisung in diesem Beispiel:
sudo ifconfig DEVICE add fd21:ba00:fe78:4200::12
Eine globale IPv6-Adresse hinzufügen
Das Verfahren dafür ist analog. Man benötigt den konstanten Präfix und den gewünschten Suffix.
Der Präfix beginnt für Internetverbindungen derzeit immer mit 2, das ist von der IANA festgelegt.
Um den Präfix zu ermitteln, sollte man nicht im Router nachsehen sondern am Gerät selbst. Oft bekommen Router einen weiteren Präfix, der am Gerät selbst nicht funktioniert.
Es muss immer bewusst sein, dass der ISP (Internet-Service-Provider) den Präfix jederzeit ändern kann. Beim Neustart des Routers gibt es sowieso einen neuen Präfix.
Deshalb kann das Anlegen einer weiteren IPv6-Adresse weltweit nicht konstant (also nicht mit nmtui) erfolgen. Das funktioniert nur temporär (mit ifconfig).
Wir brauchen den zugeteilten Präfix also die ersten 4 Blöcke einer globalen IPv6-Adresse:
ip addr | grep "inet6 2"
Als Beispiel nutze ich 2003:c7:4921:368a.
Als Suffix wollen wir wieder ::12 haben. Somit lautet die Anweisung als Beispiel:
sudo ifconfig DEVICE add 2003:c7:4921:368a::12