L’UEFI et son ancêtre le BIOS
Un excellent article sur le fonctionnement du BIOS et de l’UEFI (en anglais) :
UEFI boot: how does that actually work, then?
Un excellent article sur le fonctionnement du BIOS et de l’UEFI (en anglais) :
UEFI boot: how does that actually work, then?
Je suis aussi passé en IPv6 sur ma connexion personnelle. Je n’étais pas spécialement pressé, craignant un impact sur la qualité de la connexion, notamment au niveau des résolutions DNS, mais les choses se sont apparemment améliorées sur ce plan-là, grâce à un algorithme nommé Happy Eyeballs
.
Pour l’instant donc, je n’ai pas vu de quelconque dégradation de la connexion. Je vais donc détailler de manière très succinte la procédure que j’ai suivie, et qui a quand même impliqué de consulter de la documentation et des articles, pour bien comprendre où je mettais les pieds. En fait, j’ai passé la journée d’hier là-dessus (en plus du billet précédent).
D’abord, rendez-vous sur ce site très bien fait : ipv6-test.com. En principe, vous allez obtenir une note dégueulasse si vous êtes en IPV4 (autre site très bien fait et avec plus d’informations techniques).
Ensuite, connectez-vous à l’interface de la freebox puis allez dans Paramètres de la freebox
- mode avancé
- Configuration ipv6
et cochez la case Activer l’IPv6
. Ça, c’est pour la freebox révolution. Pour la freebox v5, je sais que la procédure est un peu différente et nécessitera un redémarrage de la box pour que le changement soit pris en compte. Voyez ce site qui montre en image la procédure sus-dite, et aussi celle pour la freebox v5 : aide.ma-freebox.fr/ipv6.html.
La freebox route maintenant les paquets utilisant le protocole IPv6. Il faut s’assurer que Linux soit capable de traiter correctement ces paquets. Si comme moi, vous avez désactivé IPv6 au niveau du système, il est temps de faire l’opération inverse.
GRUB_CMDLINE_LINUX
. Ensuite, on lance la commande update-grub, puis on redémarre la bête.net-pf-10ou
ipv6
Dans le cas de sysctl, une commande sysctl -p && service network-manager restart devrait suffire au lieu d’un redémarrage complet.
Une fois que c’est fait, lancez la commande ifconfig pour vérifier que votre interface réseau dispose bien de ses adresses IPv6. Les lignes commençant par adr inet6: sont celles qui nous intéressent. Vous devez en avoir au moins deux, une adresse IPv6 locale dite dans le scope lien-local
et une autre dans le scope global
, celle qui est utilisée sur Internet.
Si vous n’avez toujours pas de connectivité IPv6, cela peut aussi être dù à une désactivation dans la configuration de NetworkManager donc vérifiez aussi ce point.
Si vous retournez sur ipv6-test.com, votre note devrait avoir sensiblement augmenté. Vous êtes bien connecté en utilisant le protocole IPv6 et les résolutions DNS se font correctement. Au début, j’avais IPv4 comme choix par défaut pour le navigateur, et une erreur dans le cas de figure DNS6 + IP6
, mais ça c’est résolu par la suite.
Vous aurez sans doute aussi un avertissement concernant le SLAAC
. Le SLAAC
est la procédure dite d’auto-configuration sans état
permettant à une machine de s’auto-configurer au sein d’un sous-réseau ipv6, de s’attribuer elle-même une IP, bref, de se passer de serveur DHCP. C’est une des grandes améliorations de l’IPv6 par rapport à son précédesseur.
Le problème ici est que la machine utilise l’adresse MAC de votre interface réseau pour créer cette IP, ce qui signifie que cette IP identifie du point de vue matériel la machine à laquelle elle est liée. Cela peut poser des problèmes de confidentialité.
Si vous êtes sensible à cette problématique, vous pouvez activer le mécanisme consistant à générer aléatoirement la partie locale de l’adresse IP qui sera rattachée à votre interface. Pour cela, il faut activer cette fonctionnalité dans Linux, car ce n’est pas le cas par défaut.
Créez un fichier à l’emplacement /etc/sysctl.d/10-ipv6-privacy.conf avec le contenu suivant :
net.ipv6.conf.all.use_tempaddr=2 net.ipv6.conf.default.use_tempaddr=2 net.ipv6.conf.eth0.use_tempaddr=2 # adaptez le nom de l'interface si besoin
Éditez également la configuration de votre connexion configurée dans NetworkManager. Il faut le faire manuellement car l’interface ne nous donne pas d’accès à l’option que l’on veut mettre en place. Le fichier à éditer est /etc/NetworkManager/system-connections/Votre_connexion. Votre section ipv6
doit comporter la ligne ip6-privacy=2, comme ceci :
[ipv6] method=auto ip6-privacy=2
Redémarrez la connexion réseau et retournez voir sur ipv6-test.com et ça devrait être un quasi 20/20. Il n’y qu'une chose qu’on ne peut pas corriger pour l’instant, c’est le reverse DNS sur votre préfixe IPv6. Free n’offre pas encore cette possibilité, donc on ne peut pas faire de résolution inverse sur notre IPv6, là où en IPv4, on obtient de base (pour les abonnés free) un nom d’hôte tel quel a0017-1-votre_ipv4.fbx.proxad.net.
Pensez également à activer le pare-feu (c’est pas déjà le cas ??). Utilisez par exemple ufw (vérifiez /etc/default/ufw et IPV6=yes) et interdisez les connexions entrantes par défaut (c'est le cas dans la config par défaut il me semble), puis autorisez tel ou tel port, au cas par cas, en utilisant les règles par défaut d’ufw si elles suffisent. En ajoutant vos propres règles s’il le faut. Dans mon cas :
nog bobe # ufw status Status: active To Action From -- ------ ---- Sopcast ALLOW Anywhere xDeluge ALLOW Anywhere 49200 ALLOW 192.168.1.0/24 xDeluge (v6) ALLOW Anywhere (v6) Sopcast (v6) ALLOW Anywhere (v6) 49200 ALLOW 2001:db8::/64
Vérifiez d’ailleurs que les services que vous activez (ssh, postfix, ...) sont bien ipv6-aware. Dans mon cas, j’avais ajouté AddressFamily inet dans la config du client ssh et inet_protocols ipv4 dans celle de postfix :D
Bon, maintenant, si vous voulez vous attribuer une IP fixe, éditez de nouveau le fichier de configuration de votre connexion /etc/NetworkManager/system-connections/Votre_connexion. Votre section ipv6
doit doit ressembler à ça :
[ipv6] method=manual address1=2001:db8::b0be/64 ip6-privacy=2
address1 doit contenir le préfixe IPv6 fourni par free suivi par les 4 blocs 16 bits composant la partie locale de votre adresse (contracté ici en ::b0be :D) puis /64 qui précise la longueur du préfixe (4 x 16 bits).
le mot de la fin : une extension firefox pour vider le cache dns du navigateur pour le site sur lequel on se trouve. Par effet de bord, cela permet de savoir si le site en question a été accédé en ipv6 ou en ipv4. DNS flusher.
Les domaines webnaute.net et phpcodeur.net sont maintenant joignables en ipv6.
Le serveur bénéficiant déjà d'une connectivité ipv6 (hébergement gandi), il m'a suffi d'ajouter les entrées AAAA dans les zones DNS. Une opération très simple donc. Du coup, je trouve dommage que gandi ne fasse pas mention de ce simple ajout à faire dans la page d'édition du fichier de zone. Cela accentuerait le nombre de sites proposant un accès en ipv6, ce qui ne peut être que positif pour la migration vers ce protocole.
Après plusieurs jours d’absence, Webnaute.net est de nouveau en ligne. Le serveur sur lequel était hébergé le site, ainsi que mes dépôts SVN, n’était plus disponible pour d’obscures raisons de non-paiement de la location de l’emplacement dans le centre de données (le serveur appartient à un parent, je ne faisais qu’occuper les lieux).
J’avais une copie des fichiers du site, ainsi qu’un backup des dépôts svn, par contre, le trac wanewsletter ne sera pas à jour jusqu’à ce que je récupère mes données, même s’il ne manque pas grand chose. Me manque également les 2 ou 3 derniers billets publiés ici (déjà que j’en produis pas beaucoup ^^).
Désolé pour ceux qui souhaitaient télécharger hmupdater pour hordes, wanewsletter, ou wamailer. Désolé aussi pour les quelques utilisateurs du script twinpedia-hordes.
Le tout est désormais hébergé sur une part GANDI, avec l’objectif à court terme de trouver un hébergement ailleurs (14€30, c’est 14€30 de plus que ce que je payais avant vous comprenez ^^).
Vu que j’ai galéré comme un con pour passer Trac 0.12 en français et que la page TracL10N du Wiki officiel est imbuvable, petit récapitulatif concis :