Debian / Mint / Raspbian / Ubuntu - Wie wird die automatische Konfiguration von SLAAC EUI64 IPv6 erzwungen?


3

Ich habe ein statisches IPv6 / 62-Präfix und verwende radvd auf meinem Router (unter Debian), um eine / 64 in meinem gesamten Netzwerk zu bewerben. Anders als bei meinem Router (der :: 1 ist) habe ich EUI64 das Suffix basierend auf der MAC-Adresse setzen lassen (dh es stimmt mit dem Suffix der automatischen fe80 :: -Adresse überein).

Die meisten Linux-Unternehmen migrieren aus Datenschutzgründen, um dies zu maskieren. Ich bin wirklich nicht besorgt über die Auswirkungen auf den Datenschutz und möchte außerdem eine perfekt vorhersehbare IPv6-Adresse für Dienste wie sshd.

Theoretisch sollte dies einfach zu konfigurieren sein. Auf einem Raspberry Pi mit Raspbian habe ich beispielsweise Folgendes zur Datei /etc/sysctl.conf hinzugefügt:

################################################## ##################

# Aktivieren Sie IPv6 EUI64

#

net.ipv6.conf.all.use_tempaddr = 0

net.ipv6.conf.default.use_tempaddr = 0

net.ipv6.conf.eth0.use_tempaddr = 0

Leider ändert sich nichts. (Die letzte Zeile war ein letzter Versuch. Die beiden vorherigen Zeilen sollten eigentlich alleine funktionieren.)

Etwas in diesen Betriebssystemen verhindert, dass EUI64 funktioniert. Was ist das und wie kann ich es aktivieren?

Auf diesem bestimmten Computer wird NetworkManager nicht ausgeführt, einige jedoch.

Antworten:


4

Sie verwechseln zwei verschiedene Adresstypen:

  • temporäre Adressen, die gemäß RFC 4941 "Datenschutzerweiterungen" generiert wurden,
  • Permanente Adressen, die gemäß RFC 7217 "Opaque Interface Identifiers" generiert wurden.

Erstere werden immer zusätzlich zur Standardadresse generiert und ersetzen diese nicht, also schon gar nicht, was Sie vorhaben.

Letztere ersetzen die Standardadresse auf EUI64-Basis, sind jedoch nicht temporär und haben nichts mit dem use_tempaddrDrehknopf zu tun . Stattdessen müssen Sie den primären Adressgenerierungsmodus ändern:

  • Wenn SLAAC vom Kernel ausgeführt wird, ändern Sie diese Sysctl:

    net.ipv6.conf.default.addr_gen_mode = 0
    net.ipv6.conf.eth0.addr_gen_mode = 0
    

    (Betrachtet man den Quellcode, scheint er nicht all.addr_gen_modeimplementiert zu sein.)

  • Wenn SLAAC von dhcpcd ausgeführt wird , verwenden Sie diese dhcpcd.confOption:

    slaac hwaddr
    
  • Wenn SLAAC von NetworkManager ausgeführt wird:

    nmcli con modify "Connection name" ipv6.addr-gen-mode eui64
    

Danke; Ich werde es versuchen. Ich setze nicht unbedingt voraus, dass meine Systeme die Standard-EUI64-Adressen verwenden, obwohl ich sie bevorzuge, da sie vorhersehbar sind. Ein permanentes IPv6-Suffix einer anderen Art wäre ebenfalls geeignet. Die Adresse , die ich haben scheint jetzt vorübergehend auf 2: eth0: <Broadcast-, Multicast-, UP, LOWER_UP> mtu 1500 Zustand UP qlen 1000 inet6 blahblah :: 4d6a: b4b0: 7B0D: 41af / 64 Umfang global mngtmpaddr noprefixroute dynamisch
Jim MacKenzie

Das Geheimnis für diese Situation war "slaac hwaddr" in /etc/dhcpcd.conf. Danke.
Jim MacKenzie

1
Nein, wenn das genaue Wort nicht angegeben ist temporary , suchen Sie immer noch nach einer festen Adresse, und es ist in Ordnung, sie in DNS und anderswo zu verwenden. (Es basiert auf dem Hashing des Netzwerkpräfix und eines geheimen Schlüssels ... ähm, in Dhcpcds Fall wahrscheinlich /etc/dhcpd.duid?)
Grawity

1
Lassen Sie sich nicht verwirren, mngtmpaddrwas eine fast entgegengesetzte Bedeutung hat. (Er teilt dem Kernel mit, "wenn use_tempaddr aktiv ist, bitte temporäre Adressen basierend auf dieser Adresse verwalten".)
grawity
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.