[[Getestet(general)]] {{{#!Wissen * [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen] * [3]: [:Editor: Einen Editor öffnen] }}} [[TableOfContents]] [http://thekelleys.org.uk/dnsmasq/doc.html Dnsmasq] {en} ist ein einfacher DNS- und DHCP-Server für kleine Netzwerke. Es werden die Namen aus dem lokalen Netz entsprechend der Datei /etc/[:hosts:] aufgelöst. Unbekannte Namensanfragen werden weitergeleitet und im Cache gespeichert. Dnsmasq ist somit ein * ein Nameserver-Forwarder * ein DHCP-Server * optimiert für Netzwerke mit Dialup-Außenverbindung = Installation = Das Programm ist in den Paketquellen von Ubuntu vorhanden. Es kann über das Paket * '''dnsmasq''' (''universe'', [2]) installiert werden [1]. = Konfiguration als DNS-Server = Dnsmasq greift zur lokalen Namensauflösung auf die '''/etc/hosts''' zurück. Daher sollte man diese Datei mit einem Editor mit Root-Rechten bearbeiteten [3] und Zeilen in dieser Art hinzufügen. {{{#!Text ## Lokales Netzwerk # = IP = = Domainname = = Rechnername = 192.168.1.1 router.foo.bar router # Der Router 192.168.1.2 neo.foo.bar neo # Workstation 192.168.1.3 felidae.foo.bar felidae # ein Rechner 192.168.1.5 link.foo.bar link # Notebook 192.168.1.11 zeus.foo.bar zeus # Das Serverchen 192.168.1.66 bridge.foo.bar bridge # WLAN-Bridge }}} Als Beispiel-Domain wird ''"foo.bar"'' genutzt. Üblicherweise besitzt man in einem LAN, keine echte Domain, also kann man hier irgendwas nutzen, was nicht im Internet vorkommt. Soll Dnsmasq wirklich nur als DNS-Server arbeiten, muss man nicht mehr konfigurieren. Rechner im LAN, die diesen DNS-Server nutzen müssen, sollten danach so konfiguriert werden, dass sie den Server auch nutzen. Bei Windows-Systemen geht dies in den Netzwerkeinstellungen und auch bei Linux-Clients lässt sich der zu nutzende DNS-Server leicht [:IP-Adresse wechseln:einstellen]. = Konfiguration als DHCP-Server = Soll Dnsmasq zusätzlich noch als DHCP-Server fungieren, so muss man noch die Datei '''/etc/dnsmasq.conf''' entsprechend bearbeiten [3]. Üblicherweise muss hier nicht viel eingestellt werden. Die wichtigsten Optionen werden im folgenden vorgestellt. == IP-Bereich == {{{#!Text # Uncomment this to enable the integrated DHCP server, you need # to supply the range of addresses available for lease and optionally # a lease time. If you have more than one network, you will need to # repeat this for each network on which you want to supply DHCP # service. dhcp-range=192.168.0.100,192.168.0.255,12h ## 12h ist die Lease-Time }}} In diesem Abschnitt wird festgelegt, aus welchen Bereich der DHCP-Server Adressen vergibt. Üblicherweise kann man hier IP-Bereiche eintragen, die für [http://de.wikipedia.org/wiki/Private_Netze Private Netze] {de} vorgesehen sind. Im angegebenen Beispiel würde der DHCP-Server Adressen aus dem Bereich ''"192.168.0.100"'' bis ''"192.168.0.255"'' vergeben und die Zuordnung Rechner <-> IP für jeweils 12 Stunden beibehalten. == Feste IPs zuordnen == === Beispiel 1 === Für manche Anwendungen ist es praktisch, wenn ein Rechner immer unter der selben IP zu erreichen ist. Wenn man dies möchte, so kann man der [http://de.wikipedia.org/wiki/MAC-Adresse MAC-Adresse] {de} der Netzwerkkarte des betroffenen Rechners eine feste IP zuordnen. {{{#!Text dhcp-host=00:07:95:26:2B:C9,neo,192.168.1.2,infinite }}} In diesem Beispiel würde also der Netzwerkkarte mit der MAC-Adresse ''"00:07:95:26:2B:C9"'' immer der Name ''"neo"'' und die IP ''"192.168.1.2"'' für eine unbestimmte Zeit zugewiesen. === Beispiel 2 === Benutzt man zum Beispiel ein Notebook, was im Wechsel mal per Kabelnetzwerk, mal via WLAN vernetzt ist, wird dies anhand der MAC-Adresse erkannt und eine freie IP-Adresse vergeben. {{{#!Text dhcp-host=00:00:0E:D2:DA:BE,link,infinite dhcp-host=00:02:2d:a9:55:92,link,infinite }}} Zahlreiche weitere Beispiele und Konfigurationsmöglichkeiten sind in der '''/etc/dnsmasq.conf''' selber aufgeführt. == DHCP-Server Optionen == Der DHCP-Server kann seinen Client-Rechnern nicht nur IPs zuweisen, sondern auch alle notwendigen Netzwerkinformationen übermitteln. Diese und noch weitere Einstellungen lassen sich ebenfalls in der ''"dnsmasq.conf"'' setzen. === Gateway === {{{#!Text ## Syntax: erst die Option, dann die entsprechende Adresse dhcp-option=3,192.168.1.1 }}} Die IP-Adresse des Gateways [http://de.wikipedia.org/wiki/Gateway_(Computer) Gateway] {de} , um Daten in das Internet schicken zu können. Läuft Dnsmasq auf dem selben Rechner, der sich auch in das Internet einwählt, so ist das die lokale IP des Rechners. === NTP-Server === {{{#!Text dhcp-option=42,130.133.1.10 # Timeserver time.fu-berlin.de }}} Der zu nutzende [http://de.wikipedia.org/wiki/Network_Time_Protocol NTP] {de} Zeitserver, um die exakte Uhrzeit aus dem Internet zu beziehen. === PXE-Server === {{{#!Text dhcp-boot=/pxelinux.0,zeus,192.168.1.11 }}} Eine lokaler Rechner mit [http://de.wikipedia.org/wiki/Preboot_Execution_Environment PXE-Boot-Images] {de} , um über das Netzwerk den Rechner booten zu können === Loglevel === {{{#!Text log-queries }}} Für Tests kann man den Loglevel erhöhen. Also die Menge der Informationen, die [:Logdateien:mitgeloggt] wird. So kann man bei Fehlern oder Problemen schnell auf die Lösung kommen. Welche IP-Adressen Dnsmasq gerade vergeben hat kann man in der Datei '''/var/lib/misc/dnsmasq.leases''' nachlesen. === Weitere DNS-Server === {{{#!Text server=/localnet/IP-Adresse_des_MasterDNS }}} Sollten sich im Netzwerk noch weitere DNS-Server befinden, so kann man diese hier noch zusätzlich angeben. ---- * ["Kategorie/Netzwerk"] * ["Kategorie/Server"] [[Tags(netzwerk,server,dhcp,dns)]]