Zum Inhalt springen

Linux/IPv6/Adresse/Konfiguration: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(36 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Bestehende IPv6 Adressen anzeigen =
'''{{BASEPAGENAME}}'''
Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration).


Achtung: Adressen beginnend mit ”fec0” sind veraltet, hier aber noch der Vollständigkeit wegen gezeigt!
== Beschreibung ==
== Adressen anzeigen ==
Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration)


== Verwendung von "ip" ==
; Verwendung von "ip"
  # /sbin/ip -6 addr show dev <interface>
  # '''ip -6 addr show dev <interface>'''
Beispiel für einen statisch konfigurierten Host:
 
  # /sbin/ip -6 addr show dev eth0
; Beispiel für einen statisch konfigurierten Host:
  # '''ip -6 addr show dev eth0'''
  2: eth0: <BROADCAST,MULTICAST,UP&amp;gt; mtu 1500 qdisc pfifo_ fast qlen 100
  2: eth0: <BROADCAST,MULTICAST,UP&amp;gt; mtu 1500 qdisc pfifo_ fast qlen 100
  inet6 fe80::210:a4ff:fee3:9566/10 scope link
  inet6 fe80::210:a4ff:fee3:9566/10 scope link
  inet6 2001:0db8:0:f101::1/64 scope global
  inet6 2001:0db8:0:f101::1/64 scope global
inet6 fec0:0:0:f101::1/64 scope site
Just note that addresses beginning with ”fec0” are deprecated!


Beispiel für einen automatisch konfigurierten Host.


Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer.
; Beispiel für einen automatisch konfigurierten Host
  # /sbin/ip -6 addr show dev eth0  
Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer
  3: eth0: <BROADCAST,MULTICAST,PROMISC,UP&amp;gt; mtu 1500 qdisc pfifo_fast qlen
  # '''ip -6 addr show dev eth0'''
¬ 100  
  3: eth0: <BROADCAST,MULTICAST,PROMISC,UP&amp;gt; mtu 1500 qdisc pfifo_fast qlen 100
  inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic  
  inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic
  valid_lft 16sec preferred_lft 6sec  
  valid_lft 16sec preferred_lft 6sec
  inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic  
  inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic
  valid_lft 2591997sec preferred_lft 604797sec inet6 fe80::2e0:18ff:fe90:9205/10
  valid_lft 2591997sec preferred_lft 604797sec inet6 fe80::2e0:18ff:fe90:9205/10 scope link
¬ scope link


== Verwendung von "ifconfig" ==
; Verwendung von "ifconfig"
  # /sbin/ifconfig <interface>
  # ifconfig <interface>
Hier sehen Sie verschiedene IP Adressen mit unterschiedlichen Gültigkeitsbereichen (die Ausgabe wurde mit grep gefiltert)
Hier sehen Sie verschiedene IP Adressen mit unterschiedlichen Gültigkeitsbereichen (die Ausgabe wurde mit grep gefiltert)
  # /sbin/ifconfig eth0 |grep "inet6 addr:"
  # ifconfig eth0 |grep "inet6 addr:"
  inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
  inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
  inet6 addr: 2001:0db8:0:f101::1/64 Scope:Global
  inet6 addr: 2001:0db8:0:f101::1/64 Scope:Global
inet6 addr: fec0:0:0:f101::1/64 Scope:Site


= Hinzufügen einer IPv6 Adresse =
== Adresse hinzufügen ==
Die Vorgehensweise beim Hinzufügen einer IPv6 Adresse ist vergleichbar mit dem "IP ALIAS"-Mechanismus bei IPv4 adressierten Interfaces.
Die Vorgehensweise beim Hinzufügen einer IPv6 Adresse ist vergleichbar mit dem "IP ALIAS"-Mechanismus bei IPv4 adressierten Interfaces


== Verwendung von "ip" ==
; Verwendung von "ip"
  # /sbin/ip -6 addr add <ipv6address>/<prefixlength> dev <interface>  
  # ip -6 addr add <ipv6address>/<prefixlength> dev <interface>
Beispiel
Beispiel
  # /sbin/ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0  
  # ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0


== Verwendung von "ifconfig" ==
; Verwendung von "ifconfig"
  # /sbin/ifconfig <interface> inet6 add <ipv6address>/<prefixlength>
  # ifconfig <interface> inet6 add <ipv6address>/<prefixlength>
Beispiel
Beispiel
  # /sbin/ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64  
  # ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64
 
== Adresse entfernen ==
Diese Funktion wird selten benötigt. Vorsicht ist beim entfernen nicht existenter IPv6 Adressen geboten, da ältere Kernel dieses Fehlverhalten manchmal mit einem Crash quittieren


= IPv6 Adressen entfernen =
; Verwendung von "ip"
Diese Funktion wird selten benötigt. Vorsicht ist beim entfernen nicht existenter IPv6 Adressen geboten, da ältere Kernel dieses Fehlverhalten manchmal mit einem Crash quittieren.
# ip -6 addr del <ipv6address>/<prefixlength> dev <interface>


== Verwendung von "ip" ==
; Beispiel
Anwendung:
  # ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0
# /sbin/ip -6 addr del <ipv6address>/<prefixlength> dev <interface>
Beispiel:
  # /sbin/ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0  


== Verwendung von "ifconfig" ==
; Verwendung von "ifconfig"
Anwendung:
Anwendung:
  # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>
  # ifconfig <interface> inet6 del <ipv6address>/<prefixlength>
Beispiel:
Beispiel:
  # /sbin/ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64
  # ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64
 
= Automatische IPv6-Adress-Konfiguration =
Im Fall, dass ein Endgerät ein Router Advertisement empfängt und der Host kein Router ist, konfiguriert sich das Endgerät selbst eine IPv6-Adresse entsprechend dem Präfix aus dem Router Advertisement (siehe auch Abschnitt 22.4).
 
= Aktivieren der Privacy Extension =
Privacy Extension wie beschrieben in <nowiki>RFC 4941</nowiki> / Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (Nachfolger von <nowiki>RFC 3041</nowiki>) ersetzt die statische Interface ID (mostly basierend auf der weltweit eindeutigen MAC-Adresse), die bei der Autokonfiguration benutzt wird, durch eine pseudo-random und von Zeit zu Zeit neu generierte.
 
== Aktivieren von Privacy Extension mit Hilfe von sysctl ==


== Temporäre Aktivierung ==
== Automatische Konfiguration ==
Einschalten der Privacy Extension für z.B. Interface ”eth0” und zudem Präferieren dieser Adresse:
Im Fall, dass ein Endgerät ein Router Advertisement empfängt und der Host kein Router ist, konfiguriert sich das Endgerät selbst eine IPv6-Adresse entsprechend dem Präfix aus dem Router Advertisement
# sysctl -w net.ipv6.conf.eth0.use_tempaddr=2
Zur Aktivierung ist der Restart des Interfaces notwendig
# ip link set dev eth0 down
# ip link set dev eth0 up
Nach Empfang eines Router Advertisement sollte das Interface eine entsprechende Adresse sich selbst konfiguriert haben
# ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2001:db8:0:1:8992:3c03:d6e2:ed72/64 scope global secondary dynamic  <- pseudo-random IID
        valid_lft 604711sec preferred_lft 86311sec
    inet6 2001:db8:0:1::224:21ff:fe01:2345/64 scope global    <- IID based on MAC
        valid_lft 604711sec preferred_lft 86311sec
    ...


== Permanente Aktivierung ==
== Aktivieren der Privacy Extension ==
Für eine permanente Aktivierung muss entweder ein spezieller Initscript-Wert pro Interface gesetzt sein oder ein entsprechender Wert in /etc/sysctl.conf definiert werden:
net.ipv6.conf.eth0.use_tempaddr=2
Achtung: das Interface muss zu diesem Zeitpunkt bereits existieren. Wenn das nicht der Fall ist (z.B. nach einem Reboot) musses für alle Interfaces konfiguriert werden:
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2
Die Änderungen in /etc/sysctl.conf können im laufenden Betrieb geändert werden, aber zur wirklichen Aktivierung wird mindestens wird ein Interface-Restart (down/up) oder ein Reboot benötigt.
# sysctl -p


== Aktivieren von Privacy Extension mit Hilfe des NetworkManager ==
== Anhang ==
Moderne (Client-) Systeme nutzen NetworkManager zur Interface-Konfiguration. Ein Kommandozeilen-Werkzeug ist eingebaut welches auch Parameter ändern kann, die in der GUI nicht verfügbar (oder sichtbar) sind.
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
----
* [[IPv6/SLAAC]]


Beispiele basieren auf Version 0.9.9.1-5.git20140319.fc21
=== Links ===
==== Weblinks ====


Prüfen existierender Interfaces mit:
[[Kategorie:IPv6/Adresse]]
# nmcli connection
[[Kategorie:IPv6/Linux]]
NAME UUID TYPE DEVICE
[[Kategorie:IPv6/Privacy]]
ens4v1 d0fc2b2e-5fa0-4675-96b5-b723ca5c46db 802-3-ethernet ens4v1
Menge von IPv6-Adressen mit Privacy Extension:
# ip -o addr show dev ens4v1 | grep temporary | wc -l
0
Aktuelle Einstellung der IPv6 Privacy Extension für ein Interface:
# nmcli connection show ens4v1 |grep ip6-privacy
ipv6.ip6-privacy: -1 (unknown)
Aktivieren der IPv6 Privacy Extension und Restart des Interfaces;
# nmcli connection modify ens4v1 ipv6.ip6-privacy 2
# nmcli connection down ens4v1; nmcli connection up ens4v1
Neuer Wert der IPv6 Privacy Extension prüfen:
# nmcli connection show ens4v1 |grep ip6-privacy
ipv6.ip6-privacy: 2 (active, prefer temporary IP)
Nun sollten auch IPv6 Privacy Extension Adressen automatisch konfiguriert sein
# ip -o addr show dev ens4v1 | grep temporary | wc -l
2


== Test zur Benutzung von Privacy Extension IPv6-Adressen ==
</noinclude>
Ob die IPv6-Adresss mit einer durch die Privacy Extension generierte Interface ID für ausgehende Verbindungen wirklich benutzt wird, kann z.B. mit Hilfe eines Web-Browers durch Aufruf von <nowiki>http://ip.bieringer.de/</nowiki> durchgeführt werden. Wenn EUI64_SCOPE als Ausgabe ”iid-privacy” zeigt, dann funktioniert alles richtig.

Aktuelle Version vom 14. Juni 2025, 11:30 Uhr

Linux/IPv6/Adresse/Konfiguration

Beschreibung

Adressen anzeigen

Zuerst sollten sie überprüfen, ob und welche IPv6 Adressen bereits konfiguriert sind (etwa durch automatischer stateless Konfiguration)

Verwendung von "ip"
# ip -6 addr show dev <interface>
Beispiel für einen statisch konfigurierten Host
# ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP&gt; mtu 1500 qdisc pfifo_ fast qlen 100
inet6 fe80::210:a4ff:fee3:9566/10 scope link
inet6 2001:0db8:0:f101::1/64 scope global


Beispiel für einen automatisch konfigurierten Host

Hier sehen Sie einige automatisch konfigurierte IP Adressen und deren Lebensdauer

# ip -6 addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,PROMISC,UP&gt; mtu 1500 qdisc pfifo_fast qlen 100
inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 16sec preferred_lft 6sec
inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 2591997sec preferred_lft 604797sec inet6 fe80::2e0:18ff:fe90:9205/10 scope link
Verwendung von "ifconfig"
# ifconfig <interface>

Hier sehen Sie verschiedene IP Adressen mit unterschiedlichen Gültigkeitsbereichen (die Ausgabe wurde mit grep gefiltert)

# ifconfig eth0 |grep "inet6 addr:"
inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
inet6 addr: 2001:0db8:0:f101::1/64 Scope:Global

Adresse hinzufügen

Die Vorgehensweise beim Hinzufügen einer IPv6 Adresse ist vergleichbar mit dem "IP ALIAS"-Mechanismus bei IPv4 adressierten Interfaces

Verwendung von "ip"
# ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

Beispiel

# ip -6 addr add 2001:0db8:0:f101::1/64 dev eth0
Verwendung von "ifconfig"
# ifconfig <interface> inet6 add <ipv6address>/<prefixlength>

Beispiel

# ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64

Adresse entfernen

Diese Funktion wird selten benötigt. Vorsicht ist beim entfernen nicht existenter IPv6 Adressen geboten, da ältere Kernel dieses Fehlverhalten manchmal mit einem Crash quittieren

Verwendung von "ip"
# ip -6 addr del <ipv6address>/<prefixlength> dev <interface>
Beispiel
# ip -6 addr del 2001:0db8:0:f101::1/64 dev eth0
Verwendung von "ifconfig"

Anwendung:

# ifconfig <interface> inet6 del <ipv6address>/<prefixlength>

Beispiel:

# ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64

Automatische Konfiguration

Im Fall, dass ein Endgerät ein Router Advertisement empfängt und der Host kein Router ist, konfiguriert sich das Endgerät selbst eine IPv6-Adresse entsprechend dem Präfix aus dem Router Advertisement

Aktivieren der Privacy Extension

Anhang

Siehe auch


Links

Weblinks