Benutzer-Werkzeuge


dnsmasq von ipkg installieren

Was ist dnsmasq?

dnsmasq ist ein DNS- und DHCP Server fürs eigene LAN. Mit DNS Abfragen wird die IP-Adresse (z.B. 216.239.59.104) zu einem Domainnamen (z.B. google.ch) ermittelt. Dies da die eigentlichen Datenpakete (TCP Pakete) nicht an einen Namen sondern nur an eine IP Adresse geschickt werden können. Da wir uns Menschen aber Namen einfacher merken können als Nummern, wurde das Domain Name System erfunden. So können wir im Browser einfach einen Namen (Adresse) angeben und DNS sorgt dafür, dass wir auf Protokollbasis überhaupt eine Verbindung erhalten.

DHCP hingegen sorgt dafür, dass wir von unseren Routern überhaupt IP Adresse erhalten (z.B. 192.168.1.53). Mittels eines dhcp-Requests an den Gateway bekommt eine Netzwerkkarte eine IP Adresse zugewiesen und kann sich damit im Netzwerk bewegen (auf Ressourcen zugreifen). DHCP hat Vor- und Nachteile. Bei den Vorteilen sicherlich, dass man sich um nichts kümmern muss. Jeder Client bekommt automatisch eine IP-Adresse zugewiesen und der dhcp Server sorgt dafür, dass keine IP zweimal vorkommt (gäbe hässliche Netzwerkkonflikte). Bei den Nachteilen (für mich zumindest) sehe ich, dass man sich nicht darauf verlassen kann, beim nächsten Mal wieder die gleiche IP Adresse zu bekommen (allfällige Einstellungen basierend auf IP wären für'n Arsch). Vorallem bei einem Server ist das ziemlich blöd, wenn die IP Adresse bei jedem Neustart anders sein kann. Denn ein Server stellt Dienste im Internet zur Verfügung. Die meisten Leute betreiben aber den Server hinter einem Router mit NAT. Damit ein Port hinter einem NAT-Router zu erreichen ist, muss man dem Router eine Regel einstellen einen Request/Port (z.B. http-Request für eine Webseite) aus dem Internet auf einen bestimmten Client im LAN (hinter dem NAT) und dessen Port weiterzuleiten. Dabei wird der Zielclient mittels IP festgelegt und wenn die anders ist als in der Regel eingestellt, dann wird die Webseite der Diskstation von extern nicht mehr erreichbar sein.

Ich persönlich verwende dhcp, habe aber auf dem Router jedem Client (MAC Adresse) eine fixe IP Adresse zugewiesen, die er - und nur er - immer wieder bekommt. Somit bin ich sicher, dass meine Disk- stations immer dieselbe IP bekommen und damit die Portweiterleitungsregeln immer korrekt sind.

Auf jeden Fall darf nur ein Gerät im Netzwerk als dhcp Server fungieren. Meist ist das der Router und das würde ich so belassen. Dazu im dnsmasq einfach den dhcp-Teil nicht konfigurieren, dann wird nur der DNS Server nicht aber der dhcp Server gestartet. Dann muss man nur noch den Clients die IP der DS als DNS Server in die TCP/IP-Einstellungen schreiben oder man verwendet dhcp und legt auf dem dhcp Server die IP der DS als DNS Server fest. Dann bekommen die Clients den DNS Server automatisch „geliefert“.

Voraussetzungen

  • ipkg für die jeweilige Prozessorarchitektur ist installiert
  • Zugriff auf die Shell Konsole via telnet oder ssh als root
  • Texteditor mit korrekten UNIX-Zeilenendzeichen (\n und nicht \r\n): z.B. vi oder nano

Installation

Die Installation geht ipkg-typisch sehr schnell vonstatten:

$ ipkg update
$ ipkg install dnsmasq

Und schon ist das ganze installiert. Dabei wird das Startscript unter /opt/etc/init.d/ abgelegt.

Konfiguration

Viel ist es nicht, was man einstellen müsste in der Datei /opt/etc/dnsmasq.conf. Einige Variabeln die man aber trotzdem setzen sollte:

domain-needed

Sorgt dafür, dass nur komplette Adressen (inkl Domain und TLD) an externe DNS Server geschickt werden.

domain=NAME_DOMAIN

Hier könnt ihr Euren Domainnamen angeben

strict-order

Sorgt dafür, dass dnsmasq allfällige externe DNS Requests immer in einer vorgegebenen Reihenfolge verschickt. Ohne diese Variable klappert dnsmasq einfach alle DNS, die er kennt, gleichzeitig ab.

server=/jimboweb.tld/192.168.1.100
server=62.2.24.162
local=/LOKALER_DOMAINNAME/

Hier legt die erste Variable fest, dass alle Request für Namen der Domain jimboweb.tld an den lokalen Server 192.168.1.100 gehen. Der Rest geht an den folgenden externen DNS Server (wenn der Name nicht schon vorher zu einer IP aufgelöst werden konnte). Die letzte Variable legt Euren lokalen Domain- namen fest d.h. alles was diesen Namen matched wir niemals an externe DNS Server geschickt. Solche Request werden nur von /etc/hosts aufgelöst.

addn-hosts=/etc/banner_add_hosts

Diese Zeile veranlasst den DNSmasq zusätzlich zu /etc/hosts die angegebene Datei zur Namensauflösung zu verwenden. Dies kann immer dann von Vorteil sein, wenn die Synology Firmware Änderungen in /etc/hosts rückgängig macht

Melden Sie sich an, um einen Kommentar zu erstellen.

Seiten-Werkzeuge