Blog Haypo

Aller au contenu | Aller au menu | Aller à la recherche

mardi 18 décembre 2007

Nom de domaine et Apache en IPv6

J'héberge plusieurs sites Internet, la série hachoir.org, sur mon serveur personnel. Le serveur repose sur Ubuntu Feisty (il faudrait que je pense à migrer à Gutsty...) et exécute Apache, Trac, SSH, Courier (serveur IMAP), MySQL, etc. Histoire de permettre à mes visiteurs d'accéder aux sites Internet en IPv6, je suis allé voir dans le manager OVH si je peux créer un enregistrement DNS de type AAAA. Comme je le craignais, OVH ne supporte pas les champs AAAA.

J'ai alors décidé d'héberger le nom de domaine hachoir.org chez Xname.org qui offre une configuration complète, rien à voir avec OVH. On a accès aux paramètres TTL et à tous les types de champ existant. Voici ma configuration :

$ host -a hachoir.org
(...)
hachoir.org.            3395    IN      NS      ns0.xname.org.
hachoir.org.            3395    IN      AAAA    2a01:5d8:58a0:425b:216:76ff:feab:79ed
hachoir.org.            86198   IN      A       88.160.66.91
hachoir.org.            3395    IN      NS      ns1.xname.org.

Chaque sous-domaine est un alias vers le domaine principal (hachoir.org) :

$ host fusil.hachoir.org
fusil.hachoir.org is an alias for hachoir.org.
hachoir.org has address 88.160.66.91
hachoir.org has IPv6 address 2a01:5d8:58a0:425b:216:76ff:feab:79ed

Comme OVH utilise un TTL d'une journée par défaut, j'ai attendu deux jours pour tester ma nouvelle configuration DNS. J'ai installé l'extension ShowIP de Firefox pour vérifier ma configuration. Au passage, je déteste Firefox, il est lent et s'intègre mal à Gnome et KDE, pourquoi Ubuntu n'utilise pas Epiphany ? Capture d'écran de Firefox (notez l'excellent NoScript, le pare-feu Javascript !) montrant l'IPv6 dans la barre d'état (dans une horrible couleur verte) :

Pour les tests, on peut aussi utiliser « ping6 fusil.hachoir.org » et « host -t AAAA fusil.hachoir.org ».

Enfin, j'ai configuré le reverse DNS de mon IPv4 publique dans l'interface de configuration Free via « Fonctionnalités optionnelles > Personnaliser mon reverse DNS ». Même problème ici, Free n'offre pas (encore ?) de reverse DNS IPv6.

Ah oui, je parlais d'Apache dans le titre... Hé bien, il n'y a rien à faire ;-) Ça marche tout seul.

jeudi 13 décembre 2007

Découverte d'IPv6

Adresse IPv6

Maintenant que j'ai activé IPv6 chez Free, mes machines se voient attribuer une IPv6. Voyons comment elles sont construites en prenant « 2a01:5d8:58a0:425b:216:96ff:feab:79ea » comme exemple :

  • « 2a01:5d8 » (32 bits) : le préfixe IPv6 de Free
  • « 58a0:425b » (32 bits) : mon IPv4 publique (88.160.66.91)
  • « 0216:96ff:feab:79ea » (64 bits) : mon adresse MAC (00:16:96:AB:79:EA, 48 bits) étendue sur 64 bits. Les deux premiers chiffres de l'adresse MAC (00) changent (02), car le second bit est inversé pour indiquer que c'est une adresse globale (Internet) et non plus locale (Intranet). Les chiffres « ff:fe » sont fixes. Lire l'annexe A de la RFC 4291 pour les détails : Creating Modified EUI-64 Format Interface Identifiers.

On peut donc facilement retrouver l'IPv4 et l'adresse MAC à partir de l'IPv6. Ceci peut poser des problèmes de confidentialité car l'adresse MAC est parfois utilisée pour tracer l'activité d'un utilisateur. Microsoft Office écrit par exemple l'adresse MAC de la machine dans chaque document généré (jusqu'à Office version 2001 je crois bien). Par contre, l'IPv6 semble fixe pour une même machine étant donnée qu'elle est calculée selon l'adresse MAC.

Tests IPv6

Testons notre connectivité IPv6. Pour commencer, « ping6 ::1 » permet de pinger sa propre machine. Le test ultime est celui de la tortue KAME : en IPv4 elle est floue, alors qu'en IPv6 l'animation est nette :-)

Quelques serveurs publics à pinger en IPv6 :

  • ipv6.teleglobe.net
  • www.kame.net
  • www.enst.fr

Commande pour obtenir les enregistrements DNS en IPv6 :

$ host -t AAAA www.kame.net
www.kame.net has IPv6 address 2001:200:0:8002:203:47ff:fea5:3085

(au passage, www.free.fr n'est pas accessible en IPv6, c'est un comble)

Dans un navigateur web, on peut spécifier une IPv6 en l'écrivant entre crochets : « http://[2001:200:0:8002:203:47ff:fea5:3085]/ ». On peut toujours spécifier le port TCP sur lequel contacter le serveur si besoin est : « http://[2001:200:0:8002:203:47ff:fea5:3085]:80/ » (ici le port 80 pour l'exemple).

Utilisateur du serveur IRC Freenode, je m'empresse de me connecter à « ipv6.chat.eu.freenode.net ». Mais je perd régulièrement ma connexion, je suis alors repassé en IPv4 en attendant que ça se stabilise du côté de chez Free (rappel : IPv6 est en phase de test chez Free).

Outils pour IPv6

Outils réseaux à installer pour jouer avec IPv6 :

  • nc6 : netcat (client TCP générique) compatible IPv6
  • nmap : le scanneur de port par excellence, l'option -6 active le mode IPv6
  • traceroute6 : affiche les nœuds réseaux entre votre machine et un serveur

Pour les installer :

sudo apt-get install netcat6 nmap iputils-tracepath

En testant rapidement, la première chose qu'on réalise est que bien que la Freebox soit en mode routeur avec du NAT, les machines en IPv6 sont directement accessibles depuis Internet ! Je m'empresse de configurer le parefeu Netfilter pour éviter les mauvaises surprises. Règles pour accepter le ping (ICMPv6) et le port TCP 80 :

#!/bin/sh
ip6tables -F
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A INPUT -j DROP

Pour en savoir plus

IPv6 chez Free

Depuis hier, le fournisseur d'accès Internet français Free propose l'IPv6 en test aux clients ADSL dégroupés. Ça tombe bien, c'est mon fournisseur. Je me suis donc empressé de tester cette nouvelle option ! Il faut activer manuellement l'option dans « Fonctionnalités optionnelles de la Freebox > Autres fonctions > Support IPV6 [x] » puis redémarrer la Freebox. Dans mon cas, un nouveau firmware (version 1.3) a été installé.

Il était temps que Free réagisse à la pétition ipv6pourtous lancée en août 2005 ! Nerim proposait déjà IPv6 depuis mars 2003, et Orange avait réalisé des tests (mais le service a été coupé). Pour Free, ce n'est pas encore de l'IPv6 natif, mais un tunnel IPv6 dans IPv4 (4to6) non standard conçu par Rémi Després (concepteur de Transpac). Depuis 2004, ce dernier tentait d'imposer son 4to6 Unified IPv4-to-IPv6 Transition Model (brouillon de novembre 2004). En 2005, il monte une maquette avec la participation de l'ENST-B : IPv4&6 : Une Architecture Unifiée pour la Coexistence IPv4-IPv6, présenté en février 2005 durant la Journée Cohabitation IPv4 - IPv6.

Lire le billet IPv6 chez Free ! pour les détails techniques, et le journal linuxfr pour les trolls sur IPv6.

lundi 3 décembre 2007

Mes liens favoris (del.icio.us)

Pour noter mes liens favoris, j'avais trouvé une bonne méthode : ajouter des liens externes à l'article Wikipédia associé. En particulier, j'avais noté de chouettes liens sur le noyau Linux.

Malheureusement (pour moi), ce qui devait arriver arriva, j'ai été découvert : « 22 novembre 2007 à 18:50. Chtit draco. (Annulation des modifications 23234174 de Haypo : lien externe absolument pas de référence, anecdotique et sans utilité, cfr Wikipédia:Liens externes) » (commentaire du changement de l'article). Fort heureusement, j'avais choisi Wikipédia comme base de donnée car chaque modification est archivée et je peux donc retrouver les liens même après effacement ;-)

Mais bon, faut pas abuser alors j'ai décidé de migrer mes liens sur le site Delicious : voir mes favoris del.ico.us. Forcément, j'ai retrouvé d'autres amis geeks ce qui me permet de votre quels liens ils apprécient. Et puis, les outils pour trouver des liens proches des miens, grâce aux tags, ont l'air bien foutus. Je me suis déjà abonné aux liens concernant le fuzzing pour voir.