Deaktivieren der IPv6-Autokonfiguration (MAC-basiert) IPv6-Adresse, ohne Datenschutzadressen zu deaktivieren?

4

Ist es möglich, den Linux-Kernel so zu konfigurieren, dass die temporären IPv6-Adressen nach RFC4941 automatisch abgerufen werden, ohne dass die öffentliche (MAC-basierte) IPv6-Adresse nach RFC4862 abgerufen wird ?

Mit den folgenden sysctl-Einstellungen auf meinem Ubuntu 13.04 Linux-System erhalte ich die temporären IPv6-Adressen, aber ich erhalte auch die öffentliche MAC-basierte IPv6-Adresse:

net.ipv6.conf.eth0.autoconf=1
net.ipv6.conf.eth0.use_tempaddr=2

Ich möchte keine MAC-basierte IPv6-Adresse. Ich möchte nur die temporären Datenschutzadressen. Mir ist klar, dass es use_tempaddr=2heißt, die temporäre Adresse vorzuziehen , aber Anwendungen können immer noch bind()die MAC-basierte Adresse verwenden oder das IPV6_PREFER_SRC_PUBLICsockopt (siehe RFC5014 ) verwenden, um diese Voreinstellung zu überschreiben. Ich gehe davon aus, dass Anwendungen wie Adobe Flash es Websites ermöglichen werden, ihre Flash-Anwendungen über die MAC-basierte IP nach Hause zu telefonieren, was es für Menschen um ein Vielfaches schwieriger macht, nicht von Vermarktern (oder Regierungen) verfolgt zu werden, wo immer sie sind.

Mit den folgenden sysctl-Einstellungen:

net.ipv6.conf.eth0.autoconf=0
net.ipv6.conf.eth0.use_tempaddr=2

Ich bekomme keine automatisch konfigurierten IPv6-Adressen. Keiner.

Wie erhalte ich temporäre IPv6-Adressen, ohne die MAC-basierte IPv6-Adresse zu erhalten?

Richard Hansen
quelle
Richard, nur neugierig: Haben Sie jemals eine zufriedenstellende Lösung gefunden? (Michaels Antwort mag richtig sein, aber ich weiß es wirklich nicht.)
Arjan

Antworten:

1

Entschuldige Nein. Wenn Sie temporäre Adressen wünschen, müssen Sie entweder (wie Sie bereits wissen) die automatische Konfiguration zustandsloser Adressen oder DHCPv6 verwenden, das so konfiguriert werden kann, dass temporäre Adressen vom DHCPv6-Server angefordert werden . In Ihrem Fall ist DHCPv6 wahrscheinlich der Weg, den Sie gehen möchten, und dies ist der Weg, den die meisten großen ISPs bereitstellen.

Michael Hampton
quelle
Ich hoffe, jemand wird einspringen und dir das Gegenteil beweisen, aber ich denke, du hast recht. :(
Richard Hansen
0

Mit neueren Kerneln (oder neueren NetworkManager-Versionen) können Sie den RFC 7217- Adressgenerierungsmodus aktivieren , der stabile Adressen basierend auf einem geheimen Startwert bereitstellt.

Für die Autokonfiguration mit NetworkManager ≥ v1.2

NetworkManager 1.2 verwaltet die Autokonfiguration und weist Adressen selbst zu.

$ nmcli con modify "Ethernet" ipv6.addr-gen-mode stable-privacy

Dies kann für alle neuen Verbindungen über eingestellt werden NetworkManager.conf.

Zur Autokonfiguration durch den Kernel

Ältere NM-Versionen und Nicht-NM-Systeme verlassen sich auf den Kernel, um Adressen zuzuweisen. Der neue Adressmodus kann über sysctl aktiviert werden:

net.ipv6.conf.default.stable_secret = 1d8b:4da9:888k:5a65:7aaa:7o2d:ce60:ec4e

Natürlich müssen Sie stattdessen Ihren eigenen Schlüssel generieren:

$ head -c 16 /dev/urandom | xxd -p | sed "s/..../:&/g; s/://"

Verwenden Sie ip -d link, um sicherzustellen, dass "addrgenmode stable_secret" angezeigt wird.

Grawity
quelle
Unter busyboxRohr urandomin xxd -p -c 16(oder installieren vimfür es xxd)
Stuart Cardall