RouterOS handleiding

IPv6 Neighbor Discovery

RouterOS ondersteunt IPv6 Neighbor Discovery en stateless adres-autoconfiguratie met behulp van de Router Advertisement Daemon (RADVD).

Standards

  • RFC 4861 - Neighbor Discovery for IP version 6 (IPv6).
  • RFC 4862 - IPv6 Stateless Address Autoconfiguration

Nodebeschrijving

Een node is een apparaat dat IPv6 implementeert. In IPv6-netwerken worden nodes in twee typen verdeeld:

  • Routers - nodes die IPv6-pakketten doorsturen die niet expliciet aan henzelf zijn geadresseerd.
  • Hosts - alle nodes die geen router zijn.

Routers en hosts zijn afzonderlijke classificaties die in RFC 4861 zijn gedefinieerd, maar één apparaat kan beide rollen vervullen: pakketten doorsturen (router) en verkeer ontvangen dat aan zichzelf is geadresseerd (host).

Stateless adres-autoconfiguratie

Er zijn verschillende typen autoconfiguratie:

  • stateless - de adresconfiguratie gebeurt door het ontvangen van Router Advertisement-berichten. Deze berichten bevatten stateless adresprefixen en vereisen dat de host geen stateful adresconfiguratieprotocol gebruikt.
  • stateful - de adresconfiguratie gebeurt met behulp van het stateful adresconfiguratieprotocol (DHCPv6). Het stateful protocol wordt gebruikt als RA-berichten geen adresprefixen bevatten.
  • both - RA-berichten bevatten stateless adresprefixen en vereisen dat hosts een stateful adresconfiguratieprotocol gebruiken.

IPv6 kan zichzelf automatisch configureren zonder gebruik te maken van een stateful configuratieprotocol zoals DHCP (voorbeeld).

Info Automatische adresconfiguratie kan alleen worden uitgevoerd op interfaces die multicast ondersteunen.

Dit proces heet stateless address autoconfiguration omdat de router geen state beheert. Het is een eenvoudige, robuuste en doeltreffende methode.

RouterOS gebruikt RADVD om periodiek informatie over de link te adverteren aan alle nodes op dezelfde link. De informatie wordt vervoerd door een ICMPv6 "router advertisement"-pakket en bevat de volgende velden:

  • IPv6-subnetprefix.
  • Standaard link-local adres van de router.
  • Andere parameters die optioneel kunnen zijn: link MTU, default hop limit en router lifetime.

De host gebruikt de advertentie om het globale IPv6-adres en de standaardrouter te configureren. Het globale IPv6-adres wordt gegenereerd uit de geadverteerde subnetprefix en de EUI-64 interface-identifier.

Je kunt een advertisement opvragen door een ICMPv6 router solicitation-pakket te versturen. Op Linux verstuurt het hulpprogramma rtsol router solicitations. Mobiele nodes moeten periodiek router solicitations versturen.

Adrestoestanden

Wanneer er een autoconfiguratie-adres wordt toegewezen, kan dit zich in een van de volgende toestanden bevinden:

  • tentative - in deze status verifieert de host dat het adres uniek is. De verificatie vindt plaats via duplicate address detection.
  • preferred - in deze status is geverifieerd dat het adres uniek is en kan de node unicastverkeer verzenden naar en ontvangen van een preferred adres. De duur van de preferred-status is opgenomen in het RA-bericht.
  • deprecated - het adres is nog steeds geldig, maar wordt niet gebruikt voor nieuwe verbindingen.
  • invalid - de node kan geen unicastverkeer meer verzenden of ontvangen. Een adres komt in de invalid-status nadat de geldige levensduur is verstreken.

De onderstaande afbeelding illustreert de relatie tussen states en lifetimes.

Neighbor discovery

Neighbor Discovery (ND) gebruikt berichten en processen om de relaties tussen naburige nodes te bepalen. Vergeleken met IPv4 vervangt ND het Address Resolution Protocol (ARP), ICMP Router Discovery en ICMP Redirect, terwijl het aanvullende functionaliteit biedt.

Hosts gebruiken ND om:

  • Ontdek naburige routers.
  • Ontdek adressen, adresprefixen en andere configuratieparameters.

Routers gebruiken ND om:

  • Adverteren hun aanwezigheid, hostconfiguratieparameters en on-link prefixes.
  • Hosts informeren over een beter next-hop-adres voor een specifieke bestemming.

Nodes gebruiken ND om:

  • Bepaal het link-layer adres van een naburige node waarnaar een IPv6-pakket wordt doorgestuurd en detecteer wanneer dat adres verandert.
  • Bepaal of IPv6-pakketten naar een buur verzonden en van een buur ontvangen kunnen worden.

RFC 4861 definieert vijf ND-berichttypen: Router Solicitation (RS), Router Advertisement (RA), Neighbor Solicitation (NS), Neighbor Advertisement (NA) en Redirect. Het toevoegen van een interface aan /ipv6/nd activeert alleen de berichten aan de routerzijde:

  • Router Solicitation (RS) - De router luistert naar een RS die door hosts wordt verzonden en antwoordt met een Router Advertisement.
  • Router Advertisement (RA) - De router verzendt periodiek ongevraagde RA's en reageert ook op elke RS die hij ontvangt. De inhoud van de RA (prefixen, flag-bitmaps, lifetime, MTU, timerwaarden) wordt overgenomen uit de ND-instellingen per interface en uit eventuele /ipv6/nd/prefix vermeldingen.
  • Neighbor Solicitation (NS) - De router antwoordt met een Neighbor Advertisement wanneer deze een NS ontvangt voor een van zijn eigen adressen op die interface (link-local, SLAAC of statisch). Dit dekt ook Duplicate Address Detection (DAD) voor het eigen adres van de router.
  • Neighbor Advertisement (NA) - Verzonden als antwoord op een NS (zoals hierboven). Ongevraagde NA's worden niet verzonden tenzij dit expliciet is ingeschakeld.

NS/NA tussen hosts onderling wordt automatisch door de hoststack afgehandeld en wordt niet aangestuurd via het ND-menu. Het genereren van redirects is optioneel en staat standaard uit (redirect=no).

Examples

Voorbeeld van stateless autoconfiguratie

[admin@MikroTik] > ipv6 address print
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local
# ADDRESS INTERFACE ADVERTISE
0 G 2001:db8::1/64 ether1 yes

In dit voorbeeld is de vlag advertise ingeschakeld, wat aangeeft dat er een dynamische /ipv6/nd/prefix-entry is toegevoegd.

[admin@MikroTik] > /ipv6/nd/prefix/print
Flags: X - disabled, I - invalid, D - dynamic
0 D prefix=2001:db8::/64 interface=ether1 on-link=yes autonomous=yes
 valid-lifetime=4w2d preferred-lifetime=1w

Op een host die rechtstreeks op de router is aangesloten, zien we dat er een adres is toegevoegd. Het adres bestaat uit het prefixgedeelte (de eerste 64 bits), dat het prefix uit de prefix advertisement overneemt, en het hostgedeelte (de laatste 64 bits), dat automatisch wordt gegenereerd op basis van het lokale MAC-adres:

atis@atis-desktop:~$ ip -6 addr
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:db8::21a:4dff:fe56:1f4d/64 scope global dynamic
 valid_lft 2588363sec preferred_lft 601163sec
inet6 fe80::21a:4dff:fe56:1f4d/64 scope link
valid_lft forever preferred_lft forever

De host heeft de 2001:db8::/64 prefix van de router ontvangen en er een adres mee geconfigureerd.

Je kunt DNS-serverinformatie ook herdistribueren met RADVD:

[admin@MikroTik] > /ipv6/nd/set [find where interface=all] dns=2001:db8::2 advertise-dns=yes

Of u kunt uw eigen router-LL-IPv6-adres verspreiden als DNS-server en de router zelf als DNS-cache gebruiken:

[admin@MikroTik] > /ipv6/nd/set [find where interface=all] advertise-dns=self

Als u specifieke servers adverteert, bevat elke RA ook het eigen LL-adres van de router als DNS-server, maar dan als reeds verlopen server. Dit is nodig om deze server ongeldig te maken als hij eerder werd gebruikt (als u de instellingen tussen de opties self en yes hebt gewijzigd). Elke client die RA DNS correct afhandelt, negeert deze server of maakt de bestaande server ongeldig als dit de router zelf was.

Je hebt clientsoftware met ondersteuning voor Router Advertisement DNS nodig om de geadverteerde DNS-informatie te gebruiken.

Op Ubuntu/Debian Linux-distributies kunt u het pakket rdnssd installeren, dat de geadverteerde DNS-adressen kan ontvangen.

mrz@bumba:/$ sudo apt-get install rdnssd
mrz@bumba:/$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
 # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
 nameserver 2001:db8::2

mrz@bumba:/$ ping6 www.mikrotik.com
PING www.mikrotik.com(2a02:610:7501:1000::2) 56 data bytes
 64 bytes from 2a02:610:7501:1000::2: icmp_seq=1 ttl=61 time=2.11 ms
 64 bytes from 2a02:610:7501:1000::2: icmp_seq=2 ttl=61 time=1.33 ms
^C
 --- www.mikrotik.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.334/1.725/2.117/0.393 ms
mrz@bumba:/$

Bron

Bijgewerkt op 2026-08-22.