Dnsmasq : 3 modes réseau

http://www.thekelleys.org.uk/dnsmasq/docs/FAQ

On a le choix (théorique) entre 3 modes réseau :

En mode "wildcard" ou  générique

Dnsmasq lie l'adresse IP générique (0.0.0.0 ou ::) Cela lui permet de recevoir tous les paquets envoyés au serveur sur le port concerné.
Le contrôle d'accès (--interface, --except-interface, --listen-address, etc) est implémenté par dnsmasq: il interroge le noyau pour déterminer l'interface sur laquelle un paquet a été reçu et l'adresse à laquelle il a été envoyé et applique les règles configurées.
Le mode wildcard est le mode par défaut si aucun des autres modes n'est spécifié.

En mode "bind-interfaces" (ou interfaces de liaison ?)

Quant il commence, Dnsmasq regarde toutes les interfaces réseau disponibles, trouve l'ensemble des adresses IP sur ces interfaces, et utilise sur ces IP la configuration des contrôles d'accès  (filtre), puis lie l'ensemble des adresses IP. Le noyau envoie à dnsmasq uniquement les paquets qui ont été envoyés aux adresses autorisées.

En mode "bind-dynamic"

 le filtrage des contrôles d'accès est effectué à la fois par
    lier les adresses IP individuelles (comme pour bind-interfaces), et
    inspecter les paquets individuels à l'arrivée (comme avec le mode wildcard).
De plus, Dnsmasq remarque quand de nouvelles interfaces apparaissent ou de nouvelles adresses apparaissent sur les interfaces existantes et les adresses IP résultantes sont automatiquement liées sans avoir à redémarrer Dnsmasq.

4 effets

Le mode choisi a 4 effets différents: la coexistence avec d'autres serveurs, la sémantique du contrôle d'accès à l'interface, l'effet de nouvelles interfaces et la légalité des spécifications d'interface pour des interfaces inexistantes.

Coexistence avec d'autres serveurs

  • Une instance dnsmasq s'exécutant en mode wildcard empêche une machine d'exécuter une seconde instance de dnsmasq ou tout autre serveur DNS, TFTP ou DHCP. Les tentatives pour ce faire échoueront avec une erreur "adresse utilisée".
  • Dnsmasq fonctionnant en mode bind-interfaces ou bind-dynamic permet d'autres instances de dnsmasq ou d'autres serveurs, tant que deux serveurs ne sont pas configurés pour écouter sur la même adresse d'interface.

la sémantique du contrôle d'accès à l'interface

La sémantique de --interface varie subtilement entre le mode wildcard ou bind-dynamic et le mode bind-interfaces. La situation où cela importe est une requête qui arrive via une interface (A), mais avec une adresse de destination d'une seconde interface (B) et lorsque dnsmasq est configuré pour écouter uniquement sur B.

En mode wildcard ou bind-dynamic, une telle requête sera ignorée, en mode bind-interfaces, elle sera acceptée.

Effet de nouvelles interfaces

La création de nouvelles interfaces réseau après le démarrage de dnsmasq est :

  • ignorée par dnsmasq en mode in -bind-interfaces.
  • En mode wildcard/générique ou bind-dynamic, ces interfaces sont gérées normalement.

Légalité des spécifications d'interface pour des interfaces inexistantes

Une spécification d'interface pour une interface inexistante est

  • une erreur fatale au démarrage avec le mode in -bind-interfaces
  • un avertissement en mode wildcard ou en mode bind-dynamic.
logo drush