Problème résolution DNS avec aptitude

J’ai actuellement un problème très troublant de résolution DNS sur ma machine.

Quand je lance un “aptitude update” le terminal m’affiche:

Could not resolve ‘ftp.fr.debian.org

Par contre la résolution DNS fonctionne si je lance un “ping ftp.fr.debian.org”, j’arrive a pinger l’adresse.

De meme que si je surf avec iceweasel je n’ai aucuns problèmes pour accéder aux sites web.

D’autre part j’ai le même problème avec ssh pour accéder a un serveur distant.

“ssh toto.fr” me donne:
ssh: Could not resolve hostname toto.fr: Name or service not known

mais les commandes “host toto.fr” ou “dig toto.fr” me donnent l’adresse ip de mon serveur distant 86.200.110.37. Et je peux alors y accéder via ssh en tapant:

“ssh 86.200.110.37”

une idée pour troubleshooter ce problème?

Cela pourrait être un problème de résolution IPv6. Ping fonctionne en IPv4 seulement (son équivalent IPv6 est ping6) alors qu’aptitude ou ssh fonctionnent indifféremment en IPv4 et IPv6. Que raconte

; <<>> DiG 9.6-ESV-R1 <<>> aaaa ftp.fr.debian.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18336
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ftp.fr.debian.org. IN AAAA

;; AUTHORITY SECTION:
debian.org. 3600 IN SOA orff.debian.org. hostmaster.debian.org. 2010101501 10800 3600 604800 3600

;; Query time: 177 msec
;; SERVER: 192.168.1.250#53(192.168.1.250)
;; WHEN: Wed Oct 20 10:23:50 2010
;; MSG SIZE rcvd: 87

La réponse est normale. Un statut NXDOMAIN (domaine inexistant) erroné au lieu du NOERROR attendu aurait pu causer le problème : le client demande l’adresse IPv6 du nom de domaine, si le serveur répond NXDOMAIN alors le client ne demande pas l’adresse IPv4 du même domaine censé ne pas exister.

Pour creuser il faudrait faire une capture de paquets lors de l’exécution de ssh par exemple. Avec tcpdump :

(Pour accéder au miroir Debian et installer tcpdump si nécessaire, il est possible d’ajouter temporairement une correspondance statique adresse-nom dans /etc/hosts.)