|
|
Zeile 62: |
Zeile 62: |
|
| |
|
| == Aktivieren der Privacy Extension == | | == 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
| | [[IPv6/Adresse/Konfiguration/Privacy Extension]] |
|
| |
|
| === Privacy Extension ===
| |
| ==== Aktivieren von Privacy Extension mit Hilfe von sysctl ====
| |
| ===== Temporäre Aktivierung =====
| |
| Einschalten der Privacy Extension für z.B. Interface ”eth0” und zudem Präferieren dieser Adresse:
| |
| # 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 =====
| |
| 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 ====
| |
| 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
| |
|
| |
| Beispiele basieren auf Version 0.9.9.1-5.git20140319.fc21
| |
|
| |
| Prüfen existierender Interfaces mit:
| |
| # nmcli connection
| |
| NAME UUID TYPE DEVICE
| |
| 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 ====
| |
| 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
| |
|
| |
| <noinclude>
| |
| == Anhang == | | == Anhang == |
| === Siehe auch === | | === Siehe auch === |
topic - Kurzbeschreibung
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> 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> 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
IPv6/Adresse/Konfiguration/Privacy Extension
Anhang
Siehe auch
Links
Weblinks