Ich habe einen Domänennamen, der auf meinen Heimserver verweist. Unter jeder Ubuntu-Version bis Wily hatte ich standardmäßig eine stabile EIU-64-Adresse, die ich für meinen AAAA-Eintrag verwenden konnte. Nach der Installation von Xenial scheine ich jedoch standardmäßig keine stabile Adresse zu erhalten.
joejoe@myserver:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:24:1d:d2:e3:f4 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.101/24 brd 192.168.0.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 2601:280:3068:2945:74ed:b303:6474:6e29/64 scope global temporary dynamic
valid_lft 6965sec preferred_lft 3363sec
inet6 2601:280:3068:2945:ac34:ea15:4340:29a4/64 scope global temporary deprecated dynamic
valid_lft 6965sec preferred_lft 0sec
inet6 2601:280:3068:2945:bdfd:6253:b07e:1308/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 6965sec preferred_lft 6965sec
inet6 fe80::dc3e:6127:bd4e:18b/64 scope link
valid_lft forever preferred_lft forever
Wie Sie sehen, haben alle inet6
Adressen scope global
eine begrenzte Lebensdauer. Gibt es eine Möglichkeit, meine EIU-64-Adresse zurückzubekommen, oder gibt es eine andere Möglichkeit, eine stabile Adresse zu erhalten, die ich in einem Domänennamen-Datensatz verwenden kann?
Antwort1
Ich habe das gerade herausgefunden. Für jede Verbindung in /etc/NetworkManager/system-connections/
müssen Sie die folgende Eigenschaft festlegen:
[ipv6]
addr-gen-mode=eui64
NetworkManager in 16.04 scheint einen Standardwert stable-privacy
für die addr-gen-mode
Einstellung festzulegen.
Antwort2
Die anderen Antworten hier sind ein wenig unvollständig: das Ändern von NetworkManager-Konfigurationen hilft nicht, wenn Sie nichthabeneine (was eigentlich das Problem ist, siehe unten), und das Deaktivieren von IPv6-Datenschutzerweiterungen hat damit eigentlich nichts zu tun (wenn sich Ihre angeblich stabile IPv6-Adresse bei jedem Booten ändert, hilft das Entfernen der zusätzlichen Datenschutzadressen nicht).
Wie ausführlich indieser Thread, eine standardmäßige Neuinstallation von 16.04 weist ein kleines Versehen auf, wenn Sie eine kabelgebundene Verbindung verwenden. NetworkManager generiert automatisch eine „flüchtige“ Konfiguration, die gut funktioniert, aber, nun ja, flüchtig ist. Dies bedeutet, dass die GUID, die zum Hashen einer vermeintlich konsistenten IPv6-Adresse verwendet wird, nicht gespeichert wird und Sie daher bei jedem Start eine neue erhalten. Wenn Sie einfach in NetworkManager gehen, bei der kabelgebundenen Verbindung auf „Bearbeiten“ klicken und sie ohne Änderungen speichern, wird eine tatsächliche NM-Konfiguration mit einer gespeicherten GUID generiert und Sie erhalten daher bei jedem Start dieselbe IPv6-Adresse.
Diese Adresse ist eine RFC7217-Adresse (ein Krypto-Hash der GUID, Ihres Präfixes usw. usw.) – obwohl sie bei jedem Booten stabil ist, ist sie nicht die Art, die Ihre MAC-Adresse direkt in die Adresse einschließt. Wenn Sie eine dieser EUI64-Adressen möchten,diese andere Antwort auf diese FrageEinzelheiten dazu, wie Sie das ändern können.
Antwort3
Ubuntu 16.04 und frühere Versionen haben bei mir immer standardmäßig EIU-64 verwendet, daher muss ich es für Server deaktivieren. Ich verwende gerne die private Adresse auf meinem Desktop.
Sie benötigen also etwas wie:
sysctl -w net.ipv6.conf.all.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.default.use_tempaddr=0
sysctl -w net.ipv6.conf.<devname>.use_tempaddr=0
Dann ifdown/ifup. Das Ergebnis für mich, beachten Sie die MAC/IPv6-Beziehung:
$ ifconfig enp3s0 | egrep 'HWaddr|Global'
enp3s0 Link encap:Ethernet HWaddr 74:d0:2b:90:8b:90
inet6 addr: 2501:300:d008:61c8:76d0:2bff:fe90:8b90/64 Scope:Global
Sie können bestimmte Schnittstellen benennen, wenn Sie es auf einigen Schnittstellen aktivieren müssen, auf anderen jedoch nicht. Sie können die Liste mit Folgendem anzeigen:
$ sysctl -a | grep tempaddr
Ich empfehle Network Manager nicht für Produktionsdienste. Es funktioniert beispielsweise nicht gut mit anderen, wie z. B. /etc/sysctl.conf. Wenn Sie das tun möchten, benötigen Sie einen Eintrag in /etc/networking/interfaces für eine statische oder eine automatisch konfigurierte Adresse. Ich verwende einfach:
auto enp3s0
iface enp3s0 inet dhcp
iface enp3s0 inet6 auto
pre-up modprobe ipv6
Natürlich nach Geschmack anpassen.