IPv6/Router/Advertisement/Daemon
Router Advertisement Daemon (radvd) - Dienst zum Versand von IPv6-Router-Advertisements
Beschreibung
- Der Router Advertisement Daemon wird von Systemadministratoren bei der Zustandslose Autokonfiguration (Vorlage:IETF RFC) von Netzwerkhosts in Internetprotokoll-Netzwerken der Version 6 verwendet
- Wenn IPv6-Hosts ihre Network Interface Controllers konfigurieren, führen sie Multicast Router Solicitation-Anfragen (RS) in das Netz, um verfügbare Router zu finden.
- Radvd beantwortet die Anfragen mit Router Advertisement-Nachrichten (RA).
- Darüber hinaus sendet radvd regelmäßig RA-Pakete an die angeschlossene Verbindung, um die Hosts im Netz zu aktualisieren.
- Die Router-Advertisement-Nachrichten enthalten das auf dem Link verwendete Routing-Präfix, die Maximum Transmission Unit (MTU) des Links und die Adresse des zuständigen Default-Routers
- Radvd unterstützt auch die in RFC 6106 veröffentlichten Optionen rekursiver DNS-Server (RDNSS) und DNS-Suchliste (DNSSL) für NDP
- link-local-Ankündigungen von IPv6-Routeradressen und
- IPv6-Routing-Präfixen unter Verwendung des Neighbor Discovery Protocol (NDP) gemäß RFC 2461
- open-source
- Linux and BSD
- BSD-style vanity
Router Advertisement
- IPv6-Router verteilen ein IPv6/Prefix im lokalen Netzwerk mithilfe von Advertisements
- Dazu eignet sich der Router Advertisement Daemon "radvd", der installiert und dann konfiguriert werden muss
Installation
# apt install radvd
Konfiguration
/etc/radvd.conf
interface enp2s0 { AdvSendAdvert on; AdvLinkMTU 1280; MaxRtrAdvInterval 120; prefix 2020:fa19::/64 { }; AdvSourceLLAddress on; };
Option | Beschreibung |
---|---|
AdvSendAdvert | Gibt an,dass der Router regelmäßig Routerankündigungen sendet oder nicht und auf Routeranfragen reagiert. Default: off |
AdvLinkMTU | 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 | Gibt die maximale Dauer zwischen dem Senden von nicht angeforderten Multicast Advertisement-Nachrichten an |
prefix | Gibt Präfix-Informationen für eine Schnittstelle bekannt. Verwenden Sie die folgende Syntax: prefix Präfix/Länge Schnittstelle [Variablenwert] |
AdvSourceLLAddress | Wenn festgelegt, ist die MAC-Adresse der ausgehenden Schnittstelle in der RA enthalten |
IPv6-Forwarding aktivieren
/etc/sysctl.conf
net.ipv6.conf.all.forwarding=1
Einstellung übernehmen
# sysctl -p
Subnetz zuweisen
/etc/network/interfaces
# IPv6 iface enp2s0 inet6 static address 2020:fa19::1 netmask 64
Einstellungen übernehmen
# systemctl restart networking
Einstellungen prüfen
# ip a
radvd starten
Nach den Änderungen an der Konfigurationsdatei muss man den Daemon manuell starten
# systemctl enable radvd
Wenn der Daemon bereits läuft, ist ein Neustart des Daemons notwendig
# systemctl start radvd
Router Advertisement Daemon (radvd)
Der Router Advertisement Daemon ist auf einem LAN dann sehr sinnvoll, wenn die Clients automatisch konfiguriert werden sollen. Der Daemon selbst sollte auf einem Linux Gateway Router eingerichtet sein (es hat nicht notwendigerweise das default IPv4 Gateway zu sein, Vorsicht also wer am LAN Router Advertisements versendet)
Sie können einige Flags und Informationen im Advertisement spezifizieren. Allgemein werden verwendet:* Präfix (notwendige Angabe)
- Lebensdauer des Präfix
- Intervall der Advertisements (optional)
Nach der korrekten Konfiguration sendet der Daemon die Advertisements über angegebene Interfaces. Die Clients empfangen die Advertisements und konfigurieren automatisch Ihre Adressen mit dem empfangenen Präfix und der Default-Route
radvd konfigurieren
Einfache Konfiguration
Die Konfigurationsdatei des radvd ist normalerweise die Datei /etc/radvd.conf. Eine einfache Konfiguration sieht wie folgt aus:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2001:0db8:0100:f101::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
Als Ergebnis auf der Client-Seite ergibt sich hieraus:
# ip -6 addr show eth0 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic valid_lft 2591992sec preferred_lft 604792sec inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Ein hoher Wert für die Lebensdauer wurde verwendet, da der Wert nicht manuell konfiguriert wurde
Spezielle 6to4 Konfiguration
Seit der Version 0.6.2pl3 wird die automatische (Neu)-Erstellung des Präfixes abhängig von der IPv4 Adresse eines angegebenen Interfaces unterstützt. Dies kann dazu eingesetzt werden, die Advertisements dann in einem LAN zu verteilen, nachdem das 6to4 tunneling geändert wurde. Zumeist eingesetzt wird dies hinter einem dynamischen dial-on-demand Linux Router. Wegen der sicherlich kürzeren Lebensdauer dieser Präfixe (nach jedem dial-up ist ein anderes Präfix gültig), wird der Wert der Lebensdauer auf einen minimalen Wert gesetzt:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 0:0:0:f101::/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; Base6to4Interface ppp0; AdvPreferredLifetime 20; AdvValidLifetime 30; }; };
Das Ergebnis auf Clientseite ist (unter der Annahme, dass ppp0 die lokale IPv4 Adresse 1.2.3.4 hat):
# /sbin/ip -6 addr show eth0 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic valid_lft 22sec preferred_lft 12sec inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Da eine kurze Lebensdauer definiert wurde, wird das Präfix bald verworfen werden, sollte kein entsprechendes Advertisement empfangen werden
Achtung: wenn keine spezielle 6to4-Unterstützung der initscripts benutzt wird, ist eine spezielle Route am internen Interface des Routers notwendig, sonst gibt es Probleme bei eingehenden Paketen. Für das gezeigte Beispiel lautet diese:
# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1
Diese Route muß jedesmal, wenn der Prefix wechselt, ersetzt werden. Die ist dann der Fall, wenn das Dial-Up-Interface eine neue IPv4-Adresse bekommen hat
Fehlersuche
Mit dem Programm ”radvdump” können Sie gesendete und empfangene Advertisements detailliert betrachten. Die Anwendung ist einfach:
# radvdump Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255) AdvCurHopLimit: 64 AdvManagedFlag: off AdvOtherConfigFlag: off AdvHomeAgentFlag: off AdvReachableTime: 0 AdvRetransTimer: 0 Prefix 2002:0102:0304:f101::/64 AdvValidLifetime: 30 AdvPreferredLifetime: 20 AdvOnLink: off AdvAutonomous: on AdvRouterAddr: on Prefix 2001:0db8:100:f101::/64 AdvValidLifetime: 2592000 AdvPreferredLifetime: 604800 AdvOnLink: on AdvAutonomous: on AdvRouterAddr: on AdvSourceLLAddress: 00 80 12 34 56 78
Im Output wird jedes Advertisement in einem lesbarem Format dargestellt. Zu sehen sollten die von Ihnen eingestellten Werte sein; falls dem nicht so ist, wurde das Advertisement eventuell nicht von Ihrem radvd gesendet... (für die Rückverfolgung des Routers können Sie die LLAddress, die MAC Adresse des Routers, verwenden...)
Anhang
Siehe auch
- Dynamic Host Configuration Protocol (DHCP)
- Domain Name System (DNS)
- Neighbor Discovery Protocol
- Netsh unter Microsoft Windows deckt ähnliche Funktionen ab
Dokumentation
Links
Projekt
Weblinks
TMP
Router Advertisement Daemon (radvd)
Der Router Advertisement Daemon ist auf einem LAN dann sehr sinnvoll, wenn die Clients automatisch konfiguriert werden sollen. Der Daemon selbst sollte auf einem Linux Gateway Router eingerichtet sein (es hat nicht notwendigerweise das default IPv4 Gateway zu sein, Vorsicht also wer am LAN Router Advertisements versendet)
Sie können einige Flags und Informationen im Advertisement spezifizieren. Allgemein werden verwendet:
- Präfix (notwendige Angabe)
- Lebensdauer des Präfix
- Intervall der Advertisements (optional)
Nach der korrekten Konfiguration sendet der Daemon die Advertisements über angegebene Interfaces. Die Clients empfangen die Advertisements und konfigurieren automatisch Ihre Adressen mit dem empfangenen Präfix und der Default-Route
radvd konfigurieren
Einfache Konfiguration
Die Konfigurationsdatei des radvd ist normalerweise die Datei /etc/radvd.conf. Eine einfache Konfiguration sieht wie folgt aus:
Als Ergebnis auf der Client-Seite ergibt sich hieraus:
Ein hoher Wert für die Lebensdauer wurde verwendet, da der Wert nicht manuell konfiguriert wurde
Spezielle 6to4 Konfiguration
Seit der Version 0.6.2pl3 wird die automatische (Neu)-Erstellung des Präfixes abhängig von der IPv4 Adresse eines angegebenen Interfaces unterstützt. Dies kann dazu eingesetzt werden, die Advertisements dann in einem LAN zu verteilen, nachdem das 6to4 tunneling geändert wurde. Zumeist eingesetzt wird dies hinter einem dynamischen dial-on-demand Linux Router. Wegen der sicherlich kürzeren Lebensdauer dieser Präfixe (nach jedem dial-up ist ein anderes Präfix gültig), wird der Wert der Lebensdauer auf einen minimalen Wert gesetzt:
Das Ergebnis auf Clientseite ist (unter der Annahme, dass ppp0 die lokale IPv4 Adresse 1.2.3.4 hat):
Da eine kurze Lebensdauer definiert wurde, wird das Präfix bald verworfen werden, sollte kein entsprechendes Advertisement empfangen werden
Achtung: wenn keine spezielle 6to4-Unterstützung der initscripts benutzt wird, ist eine spezielle Route am internen Interface des Routers notwendig, sonst gibt es Probleme bei eingehenden Paketen. Für das gezeigte Beispiel lautet diese:
Diese Route muß jedesmal, wenn der Prefix wechselt, ersetzt werden. Die ist dann der Fall, wenn das Dial-Up-Interface eine neue IPv4-Adresse bekommen hat
Fehlersuche
Mit dem Programm ”radvdump” können Sie gesendete und empfangene Advertisements detailliert betrachten. Die Anwendung ist einfach:
Im Output wird jedes Advertisement in einem lesbarem Format dargestellt. Zu sehen sollten die von Ihnen eingestellten Werte sein; falls dem nicht so ist, wurde das Advertisement eventuell nicht von Ihrem radvd gesendet... (für die Rückverfolgung des Routers können Sie die LLAddress, die MAC Adresse des Routers, verwenden...)