IPv6 bij STRATO
Sinds 2011 zijn STRATO websites, webshops en servers ook bereikbaar via het IPv6-protocol. Natuurlijk blijft toegang via het IPv4-protocol mogelijk.
In dit artikel lees je meer over IPv6 in het algemeen en over de configuratie en het gebruik ervan bij STRATO.
Inhoud
- Het Internet-Protocol
- Schema van het internetprotocol
- Hoe schakel ik parallelle werking van IPv4 en IPv6 in?
Het internetprotocol
Om computers in een netwerk zoals het internet met elkaar te laten communiceren en gegevens uit te wisselen, moet elke deelnemende computer een uniek adres hebben.
Die adressering verloopt via IP (internetprotocol). Je kunt het vergelijken met de post: IP bepaalt het formaat van enveloppen en de manier waarop postcodes en adressen worden gespecificeerd en gebruikt voor de bezorging.
Alle deelnemende computers krijgen een uniek IP-adres toegekend.
Om met een computer te kunnen communiceren, moet je dus het IP-adres ervan kennen. Omdat de lange reeks getallen voor mensen moeilijk te onthouden is, is er een extra dienst in gebruik die IP-adressen opzoekt. Dat is het DNS (Domain Name System). Het vertaalt de domeinnaam die in de adresregel van een browser is ingevoerd, in een IP-adres dat de computer kan begrijpen.
Een ander protocol wordt gebruikt voor het transport van data. Dit is meestal TCP (Transmission Control Protocol). TCP zorgt voor de benodigde end-to-end-verbinding tussen deelnemende computers.
Schema van het internetprotocol
De computers in het netwerk krijgen een IP-adres toegekend volgens een bepaald schema.
Het IPv4-schema dat nu in gebruik is, heeft theoretisch 4,3 miljard (2³²) IP-adressen. Daarvan is bijna 15% om historische redenen voor speciale doeleinden gereserveerd en dus niet vrij beschikbaar.
Dit aantal is niet langer voldoende voor het groeiende aantal internetgebruikers en -apparaten. Het is mogelijk om dit probleem te verkleinen, bijvoorbeeld door NAT op routers te gebruiken. Maar dat voldoet niet aan de voorwaarde van end-to-end-communicatie. Ook ontstaan zo hele grote routeringstabellen.
IANA, het toewijzingsorgaan voor IP-adresblokken, wees in januari 2011 de laatste vrije adresblokken toe aan de regionale registratieorganisaties. Op 25 november 2019 heeft RIPE NCC (verantwoordelijk voor Europa, Midden-Oosten en Centraal Azië) het laatste adresblok opgebruikt. Sindsdien worden alleen nog /24-blokjes toegewezen via een wachtlijst met retouren.
Het tekort aan IP-adressen wordt opgelost door het IPv6-protocol, dat de adresruimte aanzienlijk uitbreidt van 32 naar 128 bits. Dit levert 2^128 of 340 sextiljoen mogelijke IP-adressen op (of 667 quadriljoen adressen per mm² aardoppervlak).
Notatie
IPv4-adressen worden decimaal (basis:10) gevormd uit vier blokken. De blokken worden gescheiden door een punt:
81.169.145.35 (strato.nl)
IPv6-adressen worden hexadecimaal (basis 16, d.w.z. inclusief de letters a t/m f) gevormd, uit acht blokken. De blokken worden gescheiden door een dubbele punt.
.
Voorbeeld:
2001:0db8:0000:0000:0209:0000:0000:ec1f
Voorloopnullen mogen weggelaten worden. Dit resulteert in:2001:db8:0:0:209:0:0:ec1f
En één blok nullen kun je vervangen door twee dubbele punten. Dit verkort de notatie ook weer, tot:
2001:db8::209:0:0:ec1f
of:
2001:db8:0:0:209::ec1f
2001:db8::209::ec1f
is verkeerd genoteerd, want hier is het nul-blok tweemaal vervangen door een dubbele punt. Dit adres is dus niet meer uniek, want het is onduidelijk hoeveel 0-blokken door elke :: zijn vervangen.
Als je een IPv6-adres in een adresregel van je browser invoert, moet je het adres tussen vierkante haken zetten. Op deze manier herkent de browser dat er geen poortspecificatie, maar alleen een URL moet worden verstuurd.
Voorbeeld:http://[2001:db8::209:0:0:ec1f]
Software, besturingssystemen en browsers
In principe zou de overgrote meerderheid van de internetgebruikers geen problemen moeten hebben met het tegelijk gebruiken van IPv4 en IPv6. Toch krijgt naar schatting 0,05 tot 0,1% van de internetgebruikers foutmeldingen te zien als ze content willen openen die via beide protocollen toegankelijk is. Dit komt vooral door een verkeerde IPv6-configuratie in het besturingssysteem en door verouderde browsers of routers.
Wil je nagaan of je een IPv6-verbinding tot stand kunt brengen? Gebruik dan de volgende link: https://test-ipv6.com/.
De parallelle werking van IPv4 en IPv6 wordt ‘dual-stack’ genoemd. De werking van beide stacks naast elkaar is in de standaardconfiguratie van je server mogelijk. Je IPv4-adres wordt nog steeds dynamisch aan je toegewezen, de IPv6-configuratie is daarentegen statisch. In de configuratie van de afzonderlijke diensten op je server kun je opgeven of je IPv4, IPv6 of beide adresfamilies wilt gebruiken.
IPv6 is beschikbaar sinds Windows XP Service Pack 2. Er is geen handmatige installatie nodig. Sinds Windows Vista is IPv6 zelfs het voorkeursprotocol voor verbindingen. Een individuele instelling van IPv6 is dus alleen nodig in oudere Windows-besturingssystemen.
MacOS ondersteunt IPv6 al sinds Mac OS X 10.3 (Panther). Je kunt de ondersteuning bovendien handmatig instellen op Mac OS 10.2 (Puma).
Ubuntu heeft sinds versie 10 IPv6 de ondersteuning in de kernel gecompileerd. Je hoeft dus geen kernelmodule opnieuw te laden.
De huidige versies van mobiele besturingssystemen zoals Android of iOS ondersteunen ook IPv6 in de basisfuncties.
Alle actuele browserversies zijn compatibel met het IPv6-protocol.
Hoe schakel ik parallelle werking van IPv4 en IPv6 in?
DNS-instellingen
Sinds juni 2011 kunnen STRATO klanten in de klantenlogin zowel een IPv6-adres (AAAA-record) aan een domein koppelen als een statisch IPv4-adres (A-record).
Als je bijvoorbeeld je eigen webserver beheert en deze ook voor IPv6 hebt ingesteld, kun je het IPv6-adres invoeren in via de menuoptie Domeinbeheer -> Tandwieltje ⚙ (achter het gewenste domein) -> DNS -> AAAA-record.
Webhosting
Voor onze hostingpakketten hoef je IPv6-ondersteuning niet afzonderlijk te activeren. De webspace is toegankelijk via IPv4 én IPv6.
Webshop
Zodra de webshop-omleiding is ingesteld, zijn onze webshops ook rechtstreeks toegankelijk via beide protocolversies.
VPS Linux en dedicated servers Linux en Windows (met D of C in de naam, uitgezonderd VC)
De kunt je IPv6-adres instellen in de serverlogin. Ga daar naar de menuoptie Netwerk & belasting -> IP-adressen. Op de volgende pagina's heb je de mogelijkheid om IPv6-ondersteuning voor je server te activeren.
VPS Windows
Voor andere VPS Windows kun je een IPv6-adres instellen in de serverlogin, via de menuoptie Mijn server -> VM-overzicht -> Configureren.
Na het activeren van de IPv6-optie kun je het IPv6-adres al zien. Het instellen duurt een paar minuten, dus aanvankelijk zie je de status' wordt ingesteld', even later verandert deze status in 'klaar ingericht'.
Dedicated Server van de serverklasse CP
Om een IPv6 in te stellen voor de nieuwe dedicated servers, kun je dit artikel lezen: Hoe wijzig ik het IP-adres op mijn dedicated server (Windows 2016 en 2019 en Linux)?
We hebben afzonderlijke instructies voor de servers in onze ServerCloud. Die lees je hier: Wat kan ik doen met (publieke) IP-adressen in het cloud-panel? De instelling op de servers vind je in detail in deze FAQ: Hoe voeg ik IP-adressen toe aan mijn servers?
Hoe stel ik IPv6 in op mijn server?
Een handmatige instelling van de IP-adressen is op een VPS Linux niet nodig. Alle instellingen worden door de virtualisatie aangemaakt. Je hoeft alleen de server opnieuw te starten.
Voor alle andere servers (VPS Windows, Dedicated Server Windows en Linux en ServerCloud) moet je IPv6 als een extra IP-adres instellen. Hoe dat werkt, hangt vooral af van het gebruikte besturingssysteem of distributie.
Windows Server 2016 en 2019
STRATO biedt IPv6-connectiviteit met behulp van een statische netwerkconfiguratie. Om je server via IPv6 met internet te verbinden, moet je het (aan jou toegewezen) primaire IPv6-adres op de primaire netwerkinterface instellen.
Ga naar Instellingen in het startmenu:
Kies de Netwerk & internet-instellingen:
Ga van hieruit naar het Netwerkcentrum::
Kies Adapterinstellingen wijzigen:
Klik met de rechtermuisknop op de netwerkadapter en kies de menuoptie Eigenschappen:
Klik in het eigenschappen venster op Installeren..., kies dat er een protocol geïnstalleerd moet worden en selecteer Reliable Multicast Protocol. Bevestig de wijziging met OK en klik op Sluiten als de netwerkfunctie geselecteerd is.
Kies nu het internetprotocol, versie 6 (TCP/IPv6) in het venster Eigenschappen en klik op Eigenschappen. In het volgende venster stel je het IPv6-gebruik in op Het volgende IPv6-adres gebruiken. Nu kun je het IPv6-adres van de serverlogin invoeren.
Je kunt nu de status van de netwerkverbindingen controleren.
CentOS 7 en 8 (Network-Manager)
De instelling van IPv6 gebeurt in CentOS 7 en 8 via de Network Manager. We gebruiken hier de opdracht nmcli
.
Eerst controleren we de huidige configuratie: naar welk apparaat en met welke naam de verbinding opgezet is.# nmcli connection show
NAME UUID TYPE DEVICE
Public_ens192 03da7500-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet ens192
Vervolgens gaan we ervan uit dat de naam van de verbinding eth0 is. Als je iets anders ziet, pas dan de opdrachten aan.
Nu voeren we het IPv6-adres in en de bijbehorende gegevens:# nmcli connection modify eth0 ipv6.address <IPv6-Adress>/64
# nmcli connection modify eth0 ipv6.gateway fe80::1
# nmcli connection modify eth0 ipv6.method manual
Activeer nu de configuratie en laad opnieuw:# nmcli connection up eth0
# nmcli connection reload
Controleer nu de instellingen:# nmcli connection show eth0 | grep ipv6
Markeer tenslotte voor de zekerheid dat deze instellingen bij het opstarten geladen worden:# nmcli connection modify eth0 connection.autoconnect yes
Als functiecontrole kun je proberen Google te pingen via IPv6:# ping6 -c 5 google.de
Ubuntu 16.04 LTS en Debian tot en met versie 11 (networking-service)
Bewerk het bestand /etc/network/interfaces
Pas de sectie voor de netwerkinterface eth0 aan:# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
iface eth0 inet6 static
address <IPv6>
netmask 64
gateway fe80::1
Start dan de netwerkconfiguratie opnieuw op:# systemctl restart networking
Start dan de interface opnieuw:# ifdown eth0 && ifup eth0
Als functiecontrole kun je proberen Google te pingen via IPv6:# ping6 -c 5 google.de
Ubuntu 18.04/20.04/22.04/24.04 LTS / Debian vanaf versie 12 (netplan)
Sinds Ubuntu 18.04 LTS / Debian 12 verloopt de netwerkconfiguratie via netplan (lees meer in ons FAQ-artikel).
Bekijk eerst de instellingenmap voor netplan:# ls /etc/netplan/
01-netcfg.yaml
Maak vervolgens een back-up van de instellingen en bewerk het gevonden bestand (meestal 01-netcfg.yaml
):
# cp /etc/netplan/01-netcfg.yaml /root
# nano /etc/netplan/01-netcfg.yaml
In zijn oorspronkelijke staat moet het er ongeveer zo uitzien.network:
version: 2
ethernets:
mainif:
match:
name: '*'
dhcp4: yes
Verander het bereik voor de eerste interface (hier eth0), zodat dit eruit komt:network:
version: 2
ethernets:
eth0:
dhcp4: yes
dhcp6: no
addresses:
- <IPv6-Adres>/64
gateway6: fe80::1
Test nu de configuratie:# netplan try
Je hebt nu tijd om de bereikbaarheid van je server via IPv6 te controleren. Als alles OK is, bevestig je de instellingen met de Enter-toets. Bevestig je niet? Dan worden de oude instellingen weer geactiveerd.
Een definitieve test voer je bijvoorbeeld zo uit:# ping6 -c 5 google.com
De configuratie met Plesk
Gebruik je een VPS Linux? Dan is het handmatig toevoegen van IP-adressen niet mogelijk. Ga verder zoals beschreven onder Het adres is al aan het systeem toegevoegd.
Om het IP-adres met Plesk aan je server toe te voegen, log je eerst in met Plesk. Ga dan naar Hulpprogramma's en instellingen en kies onder de kop Hulpprogramma's & middelen de optie IP-adressen.
In het overzicht van je IP-adressen klik je op IP-adres toevoegen.
Kies de hoofdinterface waarop ook je IPv4-adres is aangemaakt en voer het IPv6-adres in dat je uit de serverlogin haalt.
Na bevestiging met OK kom je terug in het overzicht van IP-adressen. Je IPv6 zou nu hier moeten staan.
Heb je het IPv6-adres al handmatig aan je systeem toegevoegd of heb je een VPS Linux van STRATO? Dan hoef je alleen maar IP opnieuw inlezen te klikken in het overzicht van IP-adressen.
Je kunt ook de Plesk-handleiding raadplegen.
Hoe gebruik ik individuele adressen van mijn IPv6-subnet?
Voorbereiding voor het gebruik van het subnet
Als je een IPv6-subnet ingeschakeld hebt (op onze dedicated servers), moet je op een Linux-server nog wat voorbereiden, voor je extra adressen van je IPv6-subnet gebruikt. Stel een route in die voorkomt dat pakketten naar ongebruikte adresreeksen tussen je server en je router heen en weer blijven springen. Zulk netwerkverkeer ziet er in ons beveiligingssysteem uit als een DoS-aanval en wordt daarom geblokkeerd. Een beschrijving van hoe dit moet, vind je onder het betreffende besturingssysteem.
CentOS 7 en 8
De instelling van IPv6 gebeurt in CentOS 7 en 8 via de Network Manager. We gebruiken hier de opdracht nmcli
.
Eerst controleren we de huidige configuratie en zoeken uit naar welk apparaat en met welke naam de verbinding is opgezet.# nmcli connection show
NAME UUID TYPE DEVICE
Public_ens192 03da7500-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet ens192
In het volgende nemen we aan dat de naam van de verbinding eth0 is. Als je iets anders ziet, moet je de opdrachten aanpassen.
Als eerste bereid je het subnet voor.
yum install network-scripts
en herstart je de server..
Bewerk het bestand /etc/sysconfig/network-scripts/ifcfg-lo
Voeg de volgende regel toe aan het eind van het bestand:IPV6INIT=yes
Maak het bestand /etc/sysconfig/network-scripts/route6-lo
aan met de volgende inhoud:<IPv6-Subnetz> dev lo
Herstart dan de loopback-interface:# ifdown lo
# ifup lo
Nu voeren we de IPv6 in en de bijbehorende gegevens:# nmcli connection modify eth0 ipv6.address <primäre IPv6-Adres>/64
# nmcli connection modify eth0 ipv6.gateway fe80::1
# nmcli connection modify eth0 ipv6.method manual
Je kunt nu extra IPv6-adressen van je subnet invoeren:
# nmcli connection modify eth0 +ipv6.addresses <IPv6 Adres>/56
Activeer nu de configuratie en herlaad:# nmcli connection up eth0
# nmcli connection reload
Controleer nu de instellingen:# nmcli connection show eth0 | grep ipv6
Markeer tenslotte voor de zekerheid dat deze instellingen bij het opstarten geladen worden:# nmcli connection modify eth0 connection.autoconnect yes
Als functiecontrole kun je proberen Google te pingen via IPv6:# ping -6 -c 5 google.de
Een complete voorbeeldconfiguratie ziet er als volgt uit:
/etc/sysconfig/network-scripts/ifcfg-lo:
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
IPV6INIT=yes
/etc/sysconfig/network-scripts/route6-lo:
2a01:238:xxxx:xxxx::/56 dev lo
# ifdown lo
# ifup lo
# nmcli connection modify eth0 ipv6.address 2a01:238:xxxx:xxxx:xxxx:xxxx:xxxx:1dfa/64
# nmcli connection modify eth0 ipv6.gateway fe80::1
# nmcli connection modify eth0 ipv6.method manual
# nmcli connection modify eth0 +ipv6.addresses 2a01:238:xxxx:xxxx::5/56
# nmcli connection modify eth0 +ipv6.addresses 2a01:238:xxxx:xxxx::10/56
# nmcli connection up eth0
# nmcli connection reload
Tip: 'connection' kan ook worden afgekort met bijvoorbeeld 'conn'.
Ubuntu 16.04 LTS en Debian
Breid het bestand /etc/network/interfaces
uit via het volgende schema::auto lo
iface lo inet loopback
pre-up modprobe ipv6
post-up ip -6 route add <IPv6-Subnet>/56 dev lo
pre-down ip -6 route del <IPv6-Subnet>/56 dev lo
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
iface eth0 inet6 static
address <primäre IPv6-Adres>
netmask 64
gateway fe80::1
up ip addr add <IPv6-Adres uit het subnet>/56 dev eth0
down ip addr del <
IPv6-Adres uit het subnet
>/56 dev eth0
Start hierna de netwerkconfiguratie opnieuw op:# systemctl restart networking
Start nu de interfaces opnieuw op:# ifdown eth0 && ifup eth0
# ifdown lo && ifup lo
Je kunt nu de IP-adressen bekijken:# ip addr
Ubuntu 18.04 LTS
Geef de instellingenmap voor netplan weer:# ls /etc/netplan/
01-netcfg.yaml
Bewerk het gevonden bestand (meestal 01-netcfg.yaml
):# nano /etc/netplan/01-netcfg.yaml
We kunnen de instellingen volledig in dit bestand invoeren. Wijzig het bestand /etc/netplan/01-netcfg.yaml
volgens het volgende schema:network:
version: 2
renderer: networkd
ethernets:
lo:
match:
name: lo
addresses:
- 127.0.0.1/24
routing-policy:
- from: <IPv6-Subnet>/56
eth0:
dhcp4: yes
dhcp6: no
addresses:
- <IPv6-Adres>/64
- <
IPv6-Adres uit het subnet
>/56 - ....
gateway6: fe80::1
Test nu de configuratie:# netplan try
Je hebt nu tijd om de bereikbaarheid van je server via IPv6 te controleren. Als alles OK is, bevestig je de instellingen met de Enter-toets. Bevestig je niet? Dan worden de oude instellingen weer actief.
Een eindtest voer je bijvoorbeeld als volgt uit:# ping6 -c 5 google.de
Ubuntu 20.04 LTS
Geef de instellingenmap voor netplan weer:# ls /etc/netplan/
01-netcfg.yaml
Bewerk het gevonden bestand (meestal 01-netcfg.yaml
):# nano /etc/netplan/01-netcfg.yaml
We kunnen de instellingen volledig in dit bestand invoeren. Wijzig het bestand /etc/netplan/01-netcfg.yaml
volgens het volgende schema:network:
version: 2
renderer: networkd
ethernets:
lo:
match:
name: lo
addresses:
- 127.0.0.1/24
routing-policy:
- from: <IPv6-Subnet>/56
enp0s2:
dhcp4: yes
dhcp6: no
addresses:
- <IPv6-Adres>/64
- <IPv6-Adres uit het subnet>/56
- ....
gateway6: fe80::1
Test nu de configuratie:# netplan try
Je hebt nu tijd om de bereikbaarheid van je server via IPv6 te controleren. Als alles OK is, bevestig je de instellingen met de Enter-toets. Bevestig je niet? Dan worden de oude instellingen weer actief.
Een eindtest voer je bijvoorbeeld als volgt uit:# ping6 -c 5 google.com
Setup onder Plesk
Hier raden we aan om handmatig IPv6 en de subnetadressen in te stellen zoals hierboven beschreven voor de verschillende distributies. Laat Plesk daarna de instellingen opnieuw inlezen via Hulpprogramma's en instellingen > IP-adressen.