Le blog de pariviere

PowerDNS et récursivité

Ces derniers jours j'ai eu besoin de mettre en place rapidement une petite architecture DNS en place pour des besoins internes. Les critères pour la mise en place du serveur DNS étaient les suivants :

  • simple
  • possibilité de configuration via un annuaire LDAP
  • et surtout, la possibilité de l'installer facilement via apt.

A coup de apt-cache search je suis tombé sur PowerDNS et aprés un tour sur le site Web du projet ma foi celui ci semblait répondre à tous mes critères de recherches - Bind ne semblait pas fournir de support LDAP sans patch.

$ sudo aptitude install pdns-server pdns-recursor pdns-backend-ldap

Dans mon cas à moi l'installation du packet pdns-recursor est important car cela va permettre à PowerDNS d'interroger d'autres serveurs DNS pour des requêtes qu'il n'est pas capable de gérer.

Je passe sur la configuration LDAP, assez simple ma foi, pour me concentrer sur celle du récursor. En effet la documentation en ligne ne m'a pas bcp aidé à ce sujet même si au final le principe est simple :

  • faire fonctionner PowerDNS comme un serveur DNS
  • autoriser la récursivité sur les interfaces locales. Le pourquoi ici : http://alternc.org/marchives/dev/2006-March/002151.html
  • préciser à PowerDNS l'IP et le port du récursor
  • démarrer le recursor.

Dans le fichier /etc/powerdns/pdns.conf

allow-recursion=127.0.0.1 10.1.10.0/24
allow-recursion-override=on
recursor=127.0.0.1:5353

Ensuite pour /etc/powerdns/recursor.conf

allow-from=127.0.0.0/8
local-port=5353
local-address=127.0.0.1

Manque plus qu'à rédémarrer le bazar

$ sudo /etc/init.d/pdns restart

Restarting PowerDNS authoritative nameserver: stopping and waiting..done Starting PowerDNS authoritative nameserver: started $ sudo /etc/init.d/pdns-recursor restart Restarting PowerDNS recursor: pdns-recursorFeb 19 23:17:12 PowerDNS recursor 3.1.4 (C) 2001-2006 PowerDNS.COM BV (Nov 12 2006, 23:19:09, gcc 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)) starting up Feb 19 23:17:12 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2. Feb 19 23:17:12 Operating in 32 bits mode Feb 19 23:17:12 Only allowing queries from: 127.0.0.0/8 Feb 19 23:17:12 Inserting rfc 1918 private space zones Feb 19 23:17:12 Listening for UDP queries on 127.0.0.1:5353 Feb 19 23:17:12 Listening for TCP queries on 127.0.0.1:5353 Feb 19 23:17:12 Done priming cache with root hints Feb 19 23:17:12 Calling daemonize, going to background

Mise à jour du site

Voilà j'ai enfin pris un peu de temps pour migrer le site vers Drupal 5. Au passage j'en ai également profiter pour utiliser le thème Aberdeen où j'ai apporté quelques modifications. Il y aura encore sans doute quelques modifications sur la charte graphique, pas assez contrasté à mon goût pour l'instant.

Et puis comme d'habitude des galères de charset lors des opérations d'import/export entre mon MySQL local et celui de l'hébergeur. Décidément ça ne s'arrêtera jamais.

Tomcat et sa gestion des URI

Qui ne s'est jamais arraché les cheveux à essayer de résoudre un problème d'encodage de caractère?

Tiens j'en viens tout juste de faire les frais

Contexte

  • J2EE, Liferay, Struts
  • Tomcat sur les postes des développeurs (allez faire tourner Liferay sous Weblogic et vous comprendrez pourquoi...)
  • Weblogic en production

Symptômes

  • impossible de récupérér correctement une chaîne UTF-8 passée en valeur de paramètre dans une URI sans transcodage si cette chaîne contient des caractères non US-ASCII (éàè...). Mieux encore cela ne se produit que sous Tomcat.

Pourquoi?

  • par défaut Tomcat transcode les paramètres d'URI vers l'ISO-8859-1.

Solution

Pour plus d'informations au sujet des URI voir la RFC correspondante.

Beryl/Compiz + Java

Vous avez l'habitude d'utilisez des applications Java graphique (SWING/AWT) et celles-ci ont la fâcheuse habitude de pas s'afficher correctement lors de leur lancement? J'ai peut-être une solution pour vous

Visiblement l'utilisation conjointe des 2 technologies fait mauvais ménage et il existe également une parade comme pour l'utilisation de flash avec Beryl.

Dans le script de lancement du programme Java ajoutez la ligne suivante avant la ligne de lancement de l'application:

export AWT_TOOLKIT=MToolkit

Ça devrait rouler maintenant ;)

Avant

 Avant modification

Aprés

 Aprés modification

Firefox, flash et AIGLX/XGL

Si vous êtes utilisateur de Beryl/Compiz, vous expérimentez sans doute des plantages de Firefox lors du chargement de pages contenant du flash.

Pour éviter ce problème éditez le script de lancement de firefox /usr/bin/firefox et ajoutez à son début la ligne suivante :

export XLIB_SKIP_ARGB_VISUALS=1