Router Advertisement Daemon

Aus Foxwiki

Routing unter IPv6 ist nahezu identisch mit dem IPv4-Routing unter Classless Inter-Domain Routing (CIDR). Der einzige Unterschied besteht darin, dass es sich bei den Adressen um 128-Bit-IPv6-Adressen anstelle von 32-Bit-IPv4-Adressen handelt. Bei sehr einfachen Erweiterungen können alle IPv4-Routing-Algorithmen, z. B. OSPF, RIP, IDRP und IS-IS, zum Routen von IPv6 verwendet werden.

IPv6-Routing

  • Zuerst muss man IPv6-Forwarding einschalten.
  • Hierzu muss eine Konfigurationsdatei geändert werden.
# vi /etc/sysctl.conf

Hier sucht man folgende Zeile, setzt den Wert hinter dem Gleichheitszeichen auf "1" und entfernt das "#" am Anfang der Zeile.

net.ipv6.conf.all.forwarding=1

Damit die Einstellung übernommen werden empfiehlt

  1. sysctl -p

Subnetz zuweisen: Dazu öffnen wir die Konfigurationsdatei mit den Netzwerk aktivieren.

# vi /etc/network/interfaces

Dort fügen wir folgende Minimal-Konfiguration zusätzlich ein:

# IPv6
iface enp2s0 inet6 static
address 2001:db8::1 
netmask 64

Die hier verwendete IPv6-Adresse muss durch eine Adresse aus dem eigenen Subnetz ersetzt werden. Wichtig ist hier, dass die IPv6-Adresse aus dem "Subnet Prefix" gewählt wird und nicht aus dem Präfix des Tunnels! Das IPv6-Gateway braucht zwingend eine statische IPv6-Adresse, damit das Routing funktioniert.


Damit die Einstellung übernommen werden sollte jetzt ein Reboot vorgenommen werden.

# systemctl restart Networking

Nach dem Neustart schadet es nicht, wenn man mit ip a kurz prüft.

Präfix im lokalen Netzwerk verteilen (Router Advertisement)

Hierfür eignet sich der Router Advertisement Daemon "radvd", der installiert und dann konfiguriert werden muss.

# apt install radvd

Nach der Installation muss "radvd" konfiguriert werden.

# vi /etc/radvd.conf

In die noch leere Datei trägt man folgende Minimal-Konfiguration ein:

interface enp2s0 {
  AdvSendAdvert on;
  AdvLinkMTU 1280;
  MaxRtrAdvInterval 120;
  prefix 2001:db8::/64 { };
  AdvSourceLLAddress on;
};
interface enp2s0

Das klassische Namensschema für vom Kernel angewendete Netzwerkschnittstellen besteht darin, allen Schnittstellen einfach Namen zuzuweisen, die mit "eth" beginnen, während sie von den Treibern geprüft werden.

AdvSendAdvert on;

Ein Flag, das angibt, ob der Router regelmäßig Routerankündigungen sendet oder nicht und auf Routeranfragen reagiert. Diese Option muss nicht mehr zuerst angegeben werden, sondern muss aktiviert sein, um Werbung auf dieser Schnittstelle zu aktivieren.

Default: off

AdvLinkMTU 1280

Gibt den Wert für eine Maximum Transmission Unit (MTU) an, die vom Router gesendet wird. Null kennzeichnet, dass der Router keine MTU-Optionen angibt.

MaxRtrAdvInterval 120;

Gibt die maximale Dauer zwischen dem Senden von nicht angeforderten Multicast Advertisement-Nachrichten an.

prefix 2001:db8::/64 { };

Gibt Präfix-Informationen für eine Schnittstelle bekannt. Verwenden Sie die folgende Syntax:

prefix Präfix/Länge Schnittstelle [Variablenwert] 
Beispiel Beispiel

Nach den Änderungen an der Konfigurationsdatei muss man den Daemon manuell starten.

# systemctl start radvd

Wenn der Daemon bereits läuft, ist ein Neustart des Daemons notwendig.

# systemctl restart radvd