DHCPv6 en SLAAC
IPv6 Global Unicast Address Assignment
GUA voorbeeld: 2a01:4f9:c010:a2eb::1/64
GUA is routeerbaar over internet en is vergelijkbaar met een public ipv4 adres. Kan handmatig ingesteld worden, maar ook automatisch. RA berichten spelen in alle 3 gevallen een sleutelrol.
Automatisch GUA: 3 methodes
Methode | Serverinstelling | Omschr. |
---|---|---|
Stateless |
SLAAC only |
RA voorziet in alle info, network prefix, prefix-length, default gateway. Maar geen DNS! Hiermee kan de GUA gevormd worden. |
SLAAC met DHCPv6 |
RA geeft configuratie informatie en vertelt dat de interface contact moet zoeken met een DHCPv6 server, levert ook DNS en Domain name |
|
Stateful |
DHCPv6 server |
RA zegt dat alle configratie info op de gateway na van de DHCPv6 server moet komen. De default gateway komt wel via RA berichten. |
Het RA bericht kan drie 'vlaggen' bevatten:
Vlag | Beschrijving |
---|---|
A |
Dit is de vlag Address *A*utoconfiguration. Gebruik Stateless Address Autoconfiguration (SLAAC) om een IPv6 GUA aan te maken. |
O |
Dit is de vlag *O*ther configuration. Overige informatie is beschikbaar van een stateless DHCPv6-server. |
M |
Dit is de vlag voor Managed Address Configuration. Gebruik een stateful DHCPv6-server om een IPv6 GUA te verkrijgen. |
SLAAC inschakelen
Stateless: er is geen server nodig om de ipv6 informatie op de NIC te krijgen. Kan het zelf doen.
Maakt gebruik van ICMPv6 RA (Router Advertisements) berichten. deze worden om de 200 sec. verzonden.
SLAAC inschakelen:
1. Verifieer of er een ip adres is geconfigureerd op de bewuste interface (# sh ipv6 interface g0/0/0
)
2. Enable ipv6 unicast-routing
. Hiermee worden RA berichten naa andere ipv6 routers verzonden. Deze berichten worden automatisch in een multicast groep geplaatst: FF02::1. ((config)# ipv6 unicast-routing
)
3. Verifieren of SLAAC ingeschakeld is. (sh ipv6 interface
en kijk in de output naar "Joined". Daar moet de multicast groep staan)
SLAAC only
Wanneer bij een RA bericht alleen de A vlag ingeschakeld is, moet de interface op de end-device (PC, tel, laptop) zelf een adres configureren. Dit doet hij met de EUI-64 methode, maar het kan ook random gegenereerd worden.
De RA wordt vanaf de default gateway verzonden. Dit is het Link Local Address (LLA). De default gateway wordt altijd obv het RA bericht geconfigureerd. Deze info komt dus niet van een DHCPv6 server!
ICMPv6 RS berichten
Een router zendt elke 200 seconden een bericht uit. Maar wanneer de router een Router Sollicitation (RS) bericht ontvangt, wordt er ook altijd een RA bericht verzonden. Een RS bericht wordt aan het multicast adres gestuurd. FF02::1 bijv.
Dit komt voor wanneer er Een nieuw apparaat op het netwerk aangesloten wordt, die een ipv6 adres nodig heeft
Een PC stuurt een RS message naar het IPv6 all-routers multicast adres (FF02::2) en vraagt om een RA. De router stuurt een RA bericht terug met daarin de lokale netwerkprefix en de prefix lengte. (Vb: 2001:db8:acad::/64) en stuurt het via de all-nodes muticast adres (FF02::1) naar de PC. Hiermee kan de PC zijn eigen GUA maken.
EUI-64
Mac adres is
MAC Adres | 2c | 41 | 38 | 8e | 67 | 53 | ||
---|---|---|---|---|---|---|---|---|
EUI-64 |
2e |
41 |
38 |
FF |
FE |
8e |
67 |
53 |
Nu moet het zevende bitje nog omgedraaid worden:
2c is binair 0010 1100
0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 2c |
---|---|---|---|---|---|---|---|---|
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
2e |
Duplicate Address Detection (DAD)
Er is in principe geen garantie dat een ipv6 adres altijd uniek zal zijn.
Via DAD moet een interface zich verzekeren dat zijn ipv6 GUA adres uniek is.
DAD is geimplementeerd via het ICMPv6 protocol.
Een host zendt een ICMPv6 Neighbor Sollicitation (NS) bericht uit met een speciaal geconstrueerd multicast adres. Dit wordt een sollicited-node multicast adres genoemd. Dit adres dupliceert de laatste 24 bits van het ipv6 adres van de host.
Dus: Stel het ipv6 adres van de host is 2001:db8:acad:1:1de9:c69:73 ee:ca8c Het dikgedrukte gedeelte zijn de laatste 24 bits van het adres.
Wanneer er geen NA (Neighbor Advertisement) bericht wordt ontvangen, kan de host er vanuit gaan dat zijn adres uniek is. Wanneer er wel een NA bericht binnekomt, moet het besturingssysteem van de host een nieuw adres bepalen.
DAD is nog niet verplicht omdat er met ipv6 2^128 adressen mogelijk zijn. Dus heel weinig 'raak’kans. Maar de IETF wil het toch verplichten.
DHCPv6 Operation steps
Stateless en Stateful. RFC 3315.
-
Host stuur een RS bericht naar alle ipv6 enabled routers
-
De router antwoord met een RA bericht (Dit betekent: Ja host, je kunt met mij communiceren)
-
De host stuurt een SOLICIT bericht naar alle dhcpv6 servers in het netwerk (all DHCPv6 servers FF02::1:2). Dit multicast adres heeft een link-local scope. Hierdoor worden berichten niet doorgestuurd naar andere netwerken.
-
De dhcpv6 server antwoordt met een ADVERTISE bericht. (De server zegt nu dat het beschikbaar is tegen de client)
-
De host antwoordt de server
Stateless DHCPv6 client:
De client maakt zelf een adres aan obv de genes uit het RA bericht. Daarna vraagt de client dmv een INFORMATION-REQUEST aanvullende gegevsn van de server. In de regel is dit alleen het DNS adres.
De vlaggen A=1, O=1 en M=0 staan aan.
In dit geval moeten we de server zo instellen, dat een client alle gegevens van de server moet halen worden met ipv6 nd other-config-flag
Stateful DHCPv6 client: De client zendt een DHCPv6 REQUEST naar de server, waarin hij om alle benodigde informatie vraagt. Dus adres/ prefix, prefix length en DNS. De vlag A=0, O=0 en M=1 staat aan.
De dhcpv6 server stuur een REPLY bericht