= DNSMasq =

[Dnsmasq|http://www.thekelleys.org.uk/dnsmasq/doc.html] ist ein DNS-Nameserver und ein DHCP-Server in einem. Dabei ist er kinderleicht zu konfigurieren.

Dnsmasq ersetzt so die oftmals genutzten Programme [BIND|http://www.isc.org/index.pl?/sw/bind/] (siehe [Bind Nameserver|BindNameserver]) und den [DHCP-Server|http://www.isc.org/index.pl?/sw/dhcp/], die beide vom [ISC|http://www.isc.org] herausgegeben werden. Diese beiden Stücke Software gehören zu den Felsen, auf denen das Internet steht. Insbesondere BIND dürfte bei so gut wie jedem Internet-Provider als Nameserver installiert sein. Wer also echte Providerdienste im Großmaßstab anbieten will, ist hier falsch. BIND hat jedoch das Problem, daß sein Konfigurationsformat vor Jahrzehnten entwickelt und nie wirklich überdacht wurde. Er ist für neue Benutzer erst einmal ein Monster, obwohl doch eigentlich die Zuordnung von Namen zu Nummern eine recht einfache Aufgabe darstellt.

Hier kommt nun Dnsmasq ins Spiel. Er ist die ideale Besetzung für ein firmeninternes oder ein Heim-Netz (laut Doku für bis zu 1.000 User gut geeignet). Er bietet auf Wunsch zusätzlich einen DHCP-Service und braucht im Grunde genommen fast gar nicht konfiguriert werden. Er liest die eigentliche Namensliste aus der Datei ''/etc/hosts'' (wo sie ja auch früher mal hingehörte) auf dem Server und das war es im Grunde auch schon.

== Konfiguration ==

Einmal installiert (Debian-Paket '''dnsmasq''') trägt man seine Hosts in ''/etc/hosts'' ein und fertig!

== Ein etwas komplizierteres Beispiel ==

Als Beweis, dass Dnsmasq auch mit komplexeren Problemen zurecht kommt, hier meine Konfiguration als Beispiel. Ich habe einen Server, der an mehreren Interfaces verschiedene Subnetze abdeckt. Überall sollen sich neue Rechner per DHCP anmelden können. Deren Name (wenn sie selber einen angeben) soll dann netzweit verfügbar sein. Darüberhinaus habe ich in einem der Segmente noch bestimmte Rechner, deren Mac-Adressen mir bekannt sind, die ich als Thin Clients nutze und die also per bootp von einem speziellen Server aus booten sollen. So sieht meine ''dnsmasq.conf'' aus:

  domain-needed
  bogus-priv
  filterwin2k
  local=/intern.loc/
  except-interface=ppp0
  expand-hosts
  domain=intern.loc
  dhcp-range=192.168.1.100,192.168.1.127,3m
  dhcp-range=thinclients,192.168.1.2,192.168.1.99,3m
  dhcp-range=192.168.2.1,192.168.2.127,3m
  read-ethers
  dhcp-boot=net:thinclients,/tftpboot/lts/2.6.16.1-ltsp-2/pxelinux.0,ltspserver,192.168.1.150
  dhcp-option=thinclients,17,192.168.1.150:/opt/ltsp/i386

Wer schonmal den DHCP-Client des ISC konfiguriert hat, wird laut jubilieren... Dazu kommt nun nur noch die Datei ''/etc/hosts'', in der die Zuordnung Name <-> IP-Adresse und die Datei ''/etc/ethers'' in der die Zuordnung Name <-> Mac-Adresse steht. Das war es schon.

Viel Spass bei eigenen Experimenten. Kommentare gerne hier auf die Seite. -- ThomasBayen

== Links ==

* [Homepage von DNSMasq|http://www.thekelleys.org.uk/dnsmasq/doc.html]
* [Howto dnsmasq und LTSP|http://www.quixotic.org.uk/Articles/LTSP.shtml]