Limace Kamikaze: d’une pierre deux coups avec dnsmasq

tux dnsmasqAprès avoir installé OpenWrt sur le NSLU2 (la limace …) j’ai fait d’une pierre deux coups en utilisant dnsmasq comme serveur DNS/DHCP/TFTP pour le boot du mediaMVP. dnsmasq pouvant maintenant être serveur TFTP, ça nous économise l’installation d’un autre serveur tftp.

Quelques rappels pour la configuration de dnsmasq

  • On peut utiliser l’interface Webif² de X-Wrt pour configurer le plus gros de dnsmasq. Mais pour utiliser la fonction TFTP , il faudra éditer le fichier /etc/config/dhcp , qui définit toutes les options de commande de dnsmasq qui sont utilisées pour son lancement dans  /etc/init.d/dnsmasq . L’autre possibilité est de modifier /etc/dnsmasq.conf
  • On peut éviter de configurer /etc/ethers en utilisant le fichier /etc/config/dhcp, ce qui permet d’avoir une visualisation plus agréable des machines dans Webif². Attention dans ce cas à ne pas modifier les deux fichiers car il semble que /etc/ethers prime quand il y a conflit entre les deux…
  • Ca ne dispense pas d’éditer /etc/hosts si on veut ajouter les machines de son réseau local dans le DNS local géré par dnsmasq
  • En lieu et place des DNS de son fournisseur d’accès Internet, on peut définir comme serveurs de référence les serveurs DNS d’OpenDNS. (voici leurs adresses) L’intérêt est d’ajouter un minimum de protection au réseau en interdisant les résolutions DNS pour les adresses identifiée comme dangereuses par OpenDNS. (on peut aller plus loin en faisant du filtrage de contenu)

Pour TFTP, plus besoin d’installer atftpd

Voici les portions concernées de /etc/config/dnsmasq, sachant que la machine assurancetourix (adresse 192.168.1.12) est ici le client BOOTP et TFTP qui doit récupérer son fichier de boot dongle.bin sur le serveur obelix (192.168.1.11).

config 'dnsmasq'

 option 'enable_tftp' '1'
 option 'tftp_root' '/tftpboot'
config 'host'
 option 'name' 'assurancetourix'
 option 'mac' '00:0D:FE:00:46:0D'
 option 'ip' '192.168.1.12'

config 'mac'
 option 'name' 'assurancetourix'
 option 'mac' '00:0D:FE:00:46:0D'

config 'boot'
 option 'name' 'assurancetourix'
 option 'filename' 'dongle.bin'
 option 'servername' 'obelix'
 option 'serveraddress' '192.168.1.11'

Références