J'ai un nom de domaine qui pointe vers mon serveur domestique. Sous chaque version d'Ubuntu jusqu'à Wily, j'avais par défaut une adresse EIU-64 stable que je pouvais utiliser pour mon enregistrement AAAA. Cependant, après l'installation de Xenial, je ne semble pas obtenir une adresse stable par défaut.
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
Comme vous pouvez le constater, toutes les adresses inet6
avec scope global
ont une durée de vie limitée. Existe-t-il un moyen de récupérer mon adresse EIU-64 ou existe-t-il un autre moyen d'obtenir une adresse stable que je peux utiliser dans un enregistrement de nom de domaine?
Je viens de comprendre cela. Pour chaque connexion dans /etc/NetworkManager/system-connections/
, vous devez définir la propriété suivante:
[ipv6]
addr-gen-mode=eui64
NetworkManager dans 16.04 semble définir par défaut stable-privacy
pour le paramètre addr-gen-mode
. Lorsque stable-privacy
est défini, une adresse aléatoire est générée à chaque fois, même lorsque ip6-privacy
est défini sur 0.
Les autres réponses ici sont un peu incomplètes: changer les configurations de NetworkManager n'aide pas si vous n'en avez pas (ce qui est en fait le problème, voir ci-dessous ), et la désactivation des extensions de confidentialité IPv6 est en réalité quelque peu indépendante (encore une fois si votre adresse IPv6 supposée stable change à chaque démarrage, la suppression des adresses de confidentialité supplémentaires n’aide en rien).
Comme détaillé dans ce fil , une nouvelle installation de 16.04 par défaut a un léger oubli si vous utilisez une connexion câblée. NetworkManager génère automatiquement une configuration "éphémère", qui fonctionne très bien mais qui est, bien, éphémère. Cela signifie que le GUID utilisé pour hacher une adresse IPv6 supposément cohérente n'est pas stocké et vous en obtenez donc une nouvelle à chaque démarrage. Il suffit d'aller dans NetworkManager, d'appuyer sur "modifier" sur la connexion câblée et de l'enregistrer sans modification pour générer une configuration réelle NM, avec un GUID enregistré, et ainsi obtenir la même adresse IPv6 à chaque démarrage. .
Cette adresse est une adresse RFC7217 (une crypto-hachage du GUID, votre préfixe, etc.) - ainsi, même si elle est stable à chaque démarrage, ce n'est pas le genre qui inclut directement votre adresse MAC dans l'adresse. Si vous voulez une de ces adresses EUI64, cette autre réponse à cette question explique comment changer cela.
Ubuntu 16.04 et les versions précédentes ont toujours été par défaut sur EIU-64 pour moi, donc je dois le désactiver pour les serveurs. Je suis heureux d'utiliser l'adresse de confidentialité sur mon bureau.
Donc vous avez besoin de quelque chose comme:
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
Alors si bas/si haut. Le résultat pour moi, notez la relation MAC/IPv6:
$ 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
Vous pouvez nommer des interfaces spécifiques si vous avez besoin de l'activer sur certaines interfaces et pas sur d'autres. Vous pouvez voir la liste avec:
$ sysctl -a | grep tempaddr
Je ne recommande pas le gestionnaire de réseau pour les services de production. Par exemple, il ne joue pas bien avec d'autres, comme /etc/sysctl.conf par exemple. Si vous voulez faire cela, vous aurez besoin d’une entrée dans/etc/networking/interfaces pour une adresse statique ou automatiquement configurée. J'utilise juste:
auto enp3s0
iface enp3s0 inet dhcp
iface enp3s0 inet6 auto
pre-up modprobe ipv6
Ajustez au goût bien sûr.