Der Server bedient ein externes Netz und ein internes Netzwerk. Bei jeder externen Kommunikation in denen Server nicht mit dessen IP-Addresse kontaktiert werden muß diese ermittelt werden. Dieser Service bietet der “Domain Name Service” (DNS).
Das Programm ‘dnsmask’ leitet derartige Anfragen an einen DNS Server weiter und erwartet eine entsprechende Antwort.
Neben den DNS Anfragen hat der Daemon ‘dnsmasq’ noch eine weitere Aufgabe, denn er versorgt jedes Gerät im internen Netz mit einer IP-Addresse aus dem IP-Adresspool.
Die Installation erfolgt mit:
root@fliegerhost:/# apt install dnsmask
Nach der Installation befindet sich im Verzeichnis /etc
die Datei dnsmasq.conf
. Die Konfigurationsdatei enthält etwa 100 Parameter von denen nach der Installation fast alle auskommentiert sind. Ich habe die Konfiguration wie folgt angepasst und hier auch nur die wenigen Parameter aufgeführt die aktiviert sind:
# Never forward addresses in the non-routed address spaces. bogus-priv
Mit dieser Einstellung wird verhindert dass nicht routbare IP-Addressen – wie z.B. das Netz 192.168.0.0/16 – nach außen geroutet werden.
Diese Einstellung verhindert unnötigen Netzwerkverkehr.
# If you want dnsmasq to listen for DHCP and DNS requests only on # specified interfaces (and the loopback) give the name of the # interface (eg eth0) here. # Repeat the line for more than one interface. interface=enp2s0
Diese sehr wichtige Einstellung lässt nur DHCP und auch DNS Anfragen aus dem internen Netzwerk zu. An meinem Gerät ist das interne Netzwerk am Ethernetinterface enp2s0
angeschlossen.
# 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.2.40,192.168.2.99,12h
Mit dieser Einstellung wird der DHCP Server eingeschaltet so dass bei einer DHCP Anfrage eine IP-Addresse aus dem Netzwerkbereich 192.168.2.40 bis 192.168.2.99
mit einer Gültigkeit von 12
Stunden vergeben wird.
# Always allocate the host with Ethernet address 11:22:33:44:55:66 # The IP address 192.168.0.60 dhcp-host=3C:2A:F4:C9:5A:4E,DruckerBrotherMFCL3750CDW,192.168.2.20,infinite dhcp-host=8C:3B:AD:B2:EF:D4,AccessPointBuero,192.168.2.10,infinite dhcp-host=00:1D:EC:02:EE:D8,VU-UNO,192.168.2.15,infinite dhcp-host=30:B5:C2:82:5C:D0,Repeater,192.168.2.39,infinite dhcp-host=4C:60:DE:65:43:63,WLAN2ETH-Fernseher,192.168.2.33,infinite dhcp-host=00:1A:22:0A:52:B4,Homematic-CCU2,192.168.2.35,infinite
Manchmal möchte man aber dass einige spezielle Geräte für immer und ewig eine spezielle feste IP-Adresse bekommen sollen. Dies kann unter Umständen notwendig sein wenn wenn Verbindungen von extern zum Gerät aufgebaut werden sollen und man nicht jedesmal die IP-Adresse herausfinden möchte. Wie man sieht gilt dies insbesondere für Drucker, WLAN-Accesspoints aber auch für Videorecorder.
Das war es auch schon mit der Konfiguration. Wenn man nun den dnsmasq
Daemon per…
root@fliegerhost:/# service dnsmask restart
…neu startet, dann wartet der Daemon artig auf DHCP-Anfragen auf dem internen Interface.