Une résolution DNS propre à chaque sous-réseau avec Dnsmasq !
Dnsmasq est un léger (mais performant) client DNS et DHCP. J'ai découvert dernièrement une très intéressante fonction que je m'empresse de partager avec vous : localise-queries.
Imaginez la situation suivante : votre machine est accessible depuis plusieurs interfaces réseau (par exemple plusieurs instances d'OpenVPN) et vous souhaitez offrir une résolution DNS aux clients qui se connectent sur chaque interface. Or, chaque interface dispose de sa propre adresse et de son sous-réseau propre. Comment offrir une résolution de nom qui prenne en compte le sous-réseau d'origine et adapte ses réponses en conséquence ?
Dnsmasq dispose de la fonction localise-queries pour ce faire !
On ajoute donc la ligne
localise-queries
dans le fichier de configuration /etc/dnsmasq.conf.
Puis, dans /etc/hosts (pour mémoire dnsmasq s'inspire de /etc/hosts pour établir la liste des correspondances IP/nom), nous allons définir plusieurs résolutions correspondant chacune à un sous-réseau :
10.8.300.1 nomA 10.8.301.1 nomA 10.8.302.1 nomA 10.8.300.1 nomB 10.8.301.1 nomB 10.8.302.1 nomB
On redémarre alors dnsmasq (service dnsmasq restart) et le tour est joué !
Quand on sera connecté via la sous-réseau 10.8.301.x, alors nomA sera résolu en 10.8.301.1. En revanche, lors d'une connexion via le sous-réseau 10.8.302.x, alors nomA sera résolu en 10.8.302.1 !
"Fortiche" dnsmasq !