Zum Inhalt springen

IPv6/Router/Advertisement/Daemon: Unterschied zwischen den Versionen

Aus Foxwiki
OthmanAldaood (Diskussion | Beiträge)
 
(156 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
'''{{BASEPAGENAME}}''' - [[Router Advertisement]]-[[Daemon]] (radvd)


== <big>IPv6-Routing </big> ==
== Beschreibung ==
Dienst zum Versand von IPv6-[[Router-Advertisement]]s
* [[IPv6#Zustandslose Adressautokonfiguration (SLAAC)|Zustandslose Autokonfiguration]] ([[RFC/4862]]) von Netzwerkhosts in [[Internetprotokoll]]-Netzwerken der Version 6


* Zuerst muss man IPv6-Forwarding einschalten.
; Adressauflösung
* Hierzu muss eine Konfigurationsdatei geändert werden.
Wenn IPv6-Hosts ihre [[Network Interface Controller]]s konfigurieren, führen sie [[Multicast]] [[Router Solicitation]]-Anfragen (RS) in das Netz, um verfügbare Router zu finden
# vi /etc/sysctl.conf
* 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-Router]]s


Hier sucht man folgende Zeile, setzt den Wert hinter dem Gleichheitszeichen auf "1" und entfernt das "#" am Anfang der Zeile.
Radvd unterstützt auch die in [[RFC/6106]] veröffentlichten Optionen rekursiver DNS-Server (RDNSS) und DNS-Suchliste (DNSSL) für NDP
net.ipv6.conf.all.forwarding=1
* [[Link-local address|link-local]]-Ankündigungen von [[IPv6]]-Router-Adressen und
* IPv6-Routing-Präfixen unter Verwendung des [[Neighbor Discovery Protocol]] (NDP) gemäß [[RFC 2461]]


Damit die Einstellung übernommen werden empfiehlt
; Betriebsysteme
* [[Open-Source-Software|open-source]]
* [[Linux]] and [[BSD]]
* [[BSD license|BSD]]-style [[License proliferation#Vanity licenses|vanity]]


# sysctl -p
; 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)


'''Subnetz zuweisen:''' Dazu öffnen wir die Konfigurationsdatei mit den Netzwerk aktivieren.
; Flags und Informationen im Advertisement
Allgemein werden verwendet:
* Präfix (notwendige Angabe)
* Lebensdauer des Präfix
* Intervall der Advertisements (optional)


# vi /etc/network/interfaces
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


Dort fügen wir folgende Minimal-Konfiguration zusätzlich ein:
; [[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


# IPv6
== Installation ==
iface enp2s0 inet6 static
<syntaxhighlight lang="bash" highlight="1" line copy>
address 2001:db8::1
sudo apt install radvd
netmask 64
</syntaxhighlight>


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!
== Aufruf ==
Das IPv6-Gateway braucht zwingend eine statische IPv6-Adresse, damit das Routing funktioniert.
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


=== Optionen ===
{| class="wikitable sortable options gnu"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}


=== Parameter ===


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


# systemctl restart Networking
=== Exit-Status ===
 
{| class="wikitable options col1center"
Nach dem Neustart schadet es nicht, wenn man mit <code>ip a</code> kurz prüft.
|-
 
! Wert !! Beschreibung
== <big> Präfix im lokalen Netzwerk verteilen (Router Advertisement) </big> ==
|-
Hierfür eignet sich der Router Advertisement Daemon "radvd", der installiert und dann konfiguriert werden muss.
| 0 || Erfolg
 
|-
  # apt install radvd
| >0 || Fehler
 
|}
Nach der Installation muss "radvd" konfiguriert werden.


# vi /etc/radvd.conf
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


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


== Konfiguration ==
'''/etc/radvd.conf'''
  interface enp2s0 {
  interface enp2s0 {
   AdvSendAdvert on;
   AdvSendAdvert on;
   AdvLinkMTU 1280;
   AdvLinkMTU 1280;
   MaxRtrAdvInterval 120;
   MaxRtrAdvInterval 120;
   prefix 2001:db8::/64 { };
   prefix 2020:fa19::/64 { };
   AdvSourceLLAddress on;
   AdvSourceLLAddress on;
  };
  };
{| class="wikitable"
 
{| class="wikitable sortable options"
|-
|-
| <code> interface enp2s0 </code> || <br>
! Option !! Beschreibung
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.
<br>
|-
|-
| <code> AdvSendAdvert on; </code> || <br>
| AdvSendAdvert || Gibt an,dass der Router regelmäßig Routerankündigungen sendet oder nicht und auf Routeranfragen reagiert
Ein Flag, das angibt, ob der Router regelmäßig Routerankündigungen sendet oder nicht und auf Routeranfragen reagiert.
* Default: off
Diese Option muss nicht mehr zuerst angegeben werden, sondern muss aktiviert sein, um Werbung auf dieser Schnittstelle zu aktivieren.
|-
 
| AdvLinkMTU || Gibt den Wert für eine Maximum Transmission Unit (MTU) an, die vom Router gesendet wird
Default: off <br>
* Null kennzeichnet, dass der Router keine MTU-Optionen angibt
|-
|-
|<code> AdvLinkMTU 1280 </code>  || <br>
| MaxRtrAdvInterval || Gibt die maximale Dauer zwischen dem Senden von nicht angeforderten Multicast Advertisement-Nachrichten an
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.
<br>
|-
|-
| <code> MaxRtrAdvInterval 120; </code> || <br>
| prefix || Gibt Präfix-Informationen für eine Schnittstelle bekannt
Gibt die maximale Dauer zwischen dem Senden von nicht angeforderten Multicast Advertisement-Nachrichten an. <br>
* Verwenden Sie die folgende Syntax: prefix Präfix/Länge Schnittstelle [Variablenwert]
|-
|-
| <code> prefix 2001:db8::/64 { }; </code> || <br>
| AdvSourceLLAddress|| Wenn festgelegt, ist die MAC-Adresse der ausgehenden Schnittstelle in der RA enthalten
Gibt Präfix-Informationen für eine Schnittstelle bekannt. Verwenden Sie die folgende Syntax:
|}


  prefix Präfix/Länge Schnittstelle [Variablenwert]
=== IPv6-Forwarding aktivieren ===
<br>
'''/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 Änderungen an der Konfigurationsdatei muss der [[Daemon]] neu gestartet werden
# systemctl restart radvd
[[Daemon]] beim systemstart aktivieren
# systemctl enable radvd
<noinclude>
=== 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
=== Dateien ===
{| class="wikitable options"
|-
|-
|<code> AdvSourceLLAddress on; </code> || <br>
! Datei !! Beschreibung
Wenn festgelegt, ist die Verbindungsschichtadresse der ausgehenden Schnittstelle in der RA enthalten.
|-
<br>
| ||  
|-
| ||
|}
|}


Nach den Änderungen an der Konfigurationsdatei muss man den Daemon manuell starten.
== Fehlersuche ==
# systemctl start radvd
Mit dem Programm "radvdump" können Sie gesendete und empfangene Advertisements detailliert betrachten


Wenn der Daemon bereits läuft, ist ein Neustart des Daemons notwendig.
# radvdump
# systemctl restart radvd
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...)
 
 
 
<noinclude>
 
== Anhang ==
 
=== Siehe auch ===
<div style="column-count:3">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/IPv6/Router/Advertisement}}
 
----
* [[Dynamic Host Configuration Protocol]] (DHCP)
* [[Domain Name System]] (DNS)
* [[Neighbor Discovery Protocol]]
* [[Netsh]] unter Microsoft Windows deckt ähnliche Funktionen ab
 
=== Dokumentation ===
 
; Man-Page
# https://manpages.debian.org/bookworm/radvd/radvd.8.en.html
 
=== Links ===
==== Projekt ====
# [https://radvd.litech.org/ Radvd-Webseite]
# [https://github.com/radvd-project/radvd/ Quellcode]
 
==== Weblinks ====
# https://mirrors.bieringer.de/Linux+IPv6-HOWTO-de/hints-daemons-radvd.html


[[Kategorie:IPv6/Router/Advertisement]]


[[Category:Netzwerke:IPv6 ]]
</noinclude>
[[Category:Linux ]]
[[Category:Router ]]

Aktuelle Version vom 18. Mai 2025, 04:05 Uhr

IPv6/Router/Advertisement/Daemon - Router Advertisement-Daemon (radvd)

Beschreibung

Dienst zum Versand von IPv6-Router-Advertisements

Adressauflösung

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

Betriebsysteme
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)
Flags und Informationen im Advertisement

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
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

sudo apt install radvd

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

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 Änderungen an der Konfigurationsdatei muss der Daemon neu gestartet werden

# systemctl restart radvd

Daemon beim systemstart aktivieren

# systemctl enable radvd


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

Dateien

Datei Beschreibung

Fehlersuche

Mit dem Programm "radvdump" können Sie gesendete und empfangene Advertisements detailliert betrachten

# 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



Dokumentation

Man-Page
  1. https://manpages.debian.org/bookworm/radvd/radvd.8.en.html

Links

Projekt

  1. Radvd-Webseite
  2. Quellcode

Weblinks

  1. https://mirrors.bieringer.de/Linux+IPv6-HOWTO-de/hints-daemons-radvd.html