Dnsmasq
* [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen] * [3]: [:Editor: Einen Editor öffnen]
In kleinen Netzwerken ist ein DNS-Server 🇩🇪 ganz praktisch. Nur BIND ist dem Einen oder Anderen etwas zu sperrig. Für den ist Dnsmasq vielleicht richtig.
Dnsmasq ist:
ein Nameserver-Forwarder
ein DHCP-Server
optimiert für Netzwerke mit Dialup-Außenverbindung
Dnsmasq leitet Anfragen nach externen Adressen an den DNS, der in /etc/resolv.conf steht. Die Namen der Clients im internen Netzwerk liest Dnsmasq aus /etc/hosts.
Installation¶
Es ist das Paket
dnsmasq (universe [2])
zu installieren [1].
Konfiguration als DNS-Server¶
Dnsmasq greift zur lokalen Namensauflösung auf /etc/hosts zurück, also wird diese erstmal in einem Editor mit Root-Rechten bearbeitet [3].
##/etc/hosts ##Lokales Netzwerk at Home 192.168.1.1 router.ruby-team.de router #Der Router 192.168.1.2 neo.ruby-team.de neo #Workstation 192.168.1.3 felidae.ruby-team.de felidae #ein Rechner 192.168.1.5 link.ruby-team.de link #Notebook 192.168.1.11 zeus.ruby-team.de zeus #Das Serverchen 192.168.1.66 bridge.ruby-team.de bridge #WLAN-Bridge
Soll Dnsmasq nur als DNS arbeiten, wars das auch schon auf Server-Seite. Bei den Clients ist in /etc/resolv.conf der Server als DNS einzutragen [3]:
##/etc/resolv.conf search ruby-team.de nameserver 192.168.1.11
Konfiguration als DHCP-Server¶
DNS reicht mir nicht, im eigenen Netzwerk ist ein DHCP recht komfortabel. Dazu wird die Datei /etc/dnsmasq.conf entsprechend bearbeitet [3].
##/etc/dnsmasq.conf ## Aus welchem Bereich soll Dnsmasq die IP-Adressen verteilen: dhcp-range=192.168.1.41,192.168.1.50,12h ## 12h ist die Lease-Time
Das wäre die Grundkonfiguration.
Wenn man möchte, dass einzelne Clients immer die gleiche IP-Adresse bekommen sollen, hilft dieser Eintrag:
dhcp-host=00:07:95:26:2B:C9,neo,192.168.1.2,infinite
Es geht sogar noch besser ... Wird ein Notebook benutzt, was im Wechsel mal mit Kabel, mal mit WLAN vernetzt ist, wird dies anhand der MAC-Adresse erkannt und eine freie IP-Adresse vergeben.
dhcp-host=00:00:0E:D2:DA:BE,link,infinite dhcp-host=00:02:2d:a9:55:92,link,infinite
Man kann als DHCP-Server seinen Clients noch einige Informationen mitgeben.
Zum Beispiel, welcher Rechner die Aufgabe eines Gateway hat:
## Syntax: erst die Option, dann die entsprechende Adresse dhcp-option=3,192.168.1.1
Wo könnte man die Zeit abgleichen?
dhcp-option=42,130.133.1.10 ##Timeserver time.fu-berlin.de
Welcher Rechner stellt PXE-Boot-Images per TFTP zur Verfügung? Damit ist eine Installation über das Netzwerk möglich.
dhcp-boot=/pxelinux.0,zeus,192.168.1.11
Für Tests wird der Loglevel erhöht:
log-queries
Dieser Host als Slave-DNS:
server=/localnet/IP-Adresse_des_MasterDNS
Das ist weitgehend meine Server-Konfiguration, die recht solide und schmerzfrei arbeitet.
["Kategorie/Netzwerk"]