In diesem Artikel zeige ich Ihnen, wie Sie mit dnsmasq einen lokalen DNS-Server, Caching-DNS-Server und DHCP-Server konfigurieren. Also lasst uns anfangen.
Netzwerktopologie:
Dies ist die Netzwerktopologie dieses Artikels. Hier werde ich konfigurieren Router als DNS- und DHCP-Server mit dnsmasq. Router hat 2 Netzwerkschnittstellen, eine (ens33) verbindet sich mit dem Internet und der andere (ens38) verbindet sich mit a Netzwerkschalter. Alle anderen Gastgeber (host1, host2, host3) im Netzwerk verwendet den DHCP-Server, der auf dem Router zur automatischen Vergabe von IP-Adressen und des DNS-Servers zur Namensauflösung.
Statische IP konfigurieren:
In meiner Netzwerktopologie haben Sie gesehen, mein Router hat zwei Schnittstellen ens33 und ens38. ens33 verbindet Router mit dem Internet und ens38 ist verbunden mit a Netzwerkschalter, mit welchen anderen Computern im Netzwerk eine Verbindung hergestellt wird. Ich muss DHCP verwenden, um eine IP-Adresse für die ens33 Schnittstelle von meinem ISP für Internetverbindung. Aber die ens38 Schnittstelle muss manuell konfiguriert werden.
Lass uns das Netzwerk nutzen 192.168.10.0/24 für ens38-Schnittstelle und andere Computer im Netzwerk. Wenn ich das Netzwerk verwende 192.168.10.0/24, dann die IP-Adresse des ens38 Schnittstelle des Routers sollte 192 . sein.168.10.1/24. Dies ist die IP-Adresse des DNS-Servers von dnsmasq und des DHCP-Servers.
HINWEIS: Ihr Netzwerkschnittstellenname kann anders sein. Was das für dich ist, erfährst du mit dem ip a Befehl.
Auf Ubuntu-Server 18.04 LTS, können Sie verwenden Netzplan um die Netzwerkschnittstellen zu konfigurieren. Die Standard-Netplan-Konfigurationsdatei ist /etc/netplan/50-cloud-init.yaml.
Öffnen Sie zuerst die Konfigurationsdatei /etc/netplan/50-cloud-init.yaml mit folgendem Befehl:
$ sudo nano /etc/netplan/50-cloud-init.yaml
Geben Sie nun die folgenden Zeilen ein und speichern Sie die Datei mit
Starten Sie jetzt Ihren Router mit folgendem Befehl:
$ sudo Neustart
Sobald die Router bootet, IP-Adressen sollten wie erwartet zugewiesen werden.
dnsmasq installieren:
dnsmasq ist im offiziellen Paket-Repository von Ubuntu verfügbar. Sie können es also einfach mit dem APT-Paketmanager installieren.
Ubuntu verwendet systemaufgelöst standardmäßig zur Verwaltung von DNS-Servern und DNS-Caching. Bevor Sie dnsmasq installieren, müssen Sie stoppen und deaktivieren systemaufgelöst Dienstleistungen. Andernfalls können Sie dnsmasq überhaupt nicht ausführen.
Um das zu stoppen systemaufgelöst service, führen Sie den folgenden Befehl aus:
$ sudo systemctl stop systemd-resolved
Um die zu deaktivieren systemaufgelöst service, führen Sie den folgenden Befehl aus:
$ sudo systemctl deaktivieren systemd-resolved
Standardmäßig ist die /etc/auflösen.conf Datei ist mit einer anderen systemd-Konfigurationsdatei verknüpft, wie Sie im Screenshot unten sehen können. Aber wir wollen es nicht mehr.
Also, entfernen Sie die /etc/auflösen.conf mit folgendem Befehl verknüpfen:
$ sudo rm -v /etc/resolv.conf
Erstellen Sie nun ein neues /etc/auflösen.conf Datei und legen Sie den Google DNS-Server mit dem folgenden Befehl als Standard-DNS-Server fest:
$ echo "Nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
Aktualisieren Sie nun den APT-Paket-Repository-Cache mit dem folgenden Befehl:
$ sudo apt-Update
Installieren Sie nun dnsmasq mit dem folgenden Befehl:
$ sudo apt install dnsmasq
dnsmasq sollte installiert sein.
DNS-Server von dnsmasq konfigurieren:
Die Konfigurationsdatei von dnsmasq ist /etc/dnsmasq.conf. Um dnsmasq als DNS-Server zu konfigurieren, müssen Sie diese Datei ändern.
Der Standard /etc/dnsmasq.conf Datei enthält viel Dokumentation und auskommentierte Optionen. Also, ich denke, es ist besser, die umzubenennen /etc/dnsmasq.conf Datei zu /etc/dnsmasq.conf.bk und erstelle einen neuen.
Sie können die Konfigurationsdatei mit dem folgenden Befehl umbenennen:
$ sudo mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.bk
Erstellen Sie nun die Konfigurationsdatei /etc/dnsmasq.conf wie folgt:
$ sudo nano /etc/dnsmasq.conf
Geben Sie nun die folgenden Zeilen ein und speichern Sie die Datei mit
Port=53
Domain-benötigt
falsch-priv
strenge Ordnung
expand-hosts
domain=Beispiel.com
HINWEIS: Veränderung Beispiel.com zu Ihrem eigenen Domainnamen.
Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:
$ sudo systemctl Neustart dnsmasq
Keine Fehler. Groß!
Jetzt musst du einstellen 192.168.10.1 als Standard-DNS-Serveradresse im /etc/auflösen.conf.
Öffnen Sie dazu /etc/auflösen.conf Datei mit folgendem Befehl:
$ sudo nano /etc/resolv.conf
Geben Sie jetzt ein Nameserver 192.168.10.1 vor der zeile Nameserver 8.8.8.8 wie im Screenshot unten gezeigt. Dann speichere die Datei.
Das ist es.
Hinzufügen von DNS-Einträgen:
Jetzt können Sie Ihre DNS-Einträge zum /etc/hosts Datei.
Öffnen Sie zuerst die /etc/hosts Datei mit folgendem Befehl:
$ sudo nano /etc/hostsGeben Sie nun Ihre DNS-Einträge im folgenden Format ein:
IP_ADDR DOMAIN_NAMEIch habe 4 Einträge hinzugefügt Router.Beispiel.com (192.168.10.1), host1.Beispiel.com (192.168.10.51), host2.Beispiel.com (192.168.10.52) , und host3.Beispiel.com (192.168.10.53) wie im Screenshot unten markiert. Sie können beliebig viele DNS-Einträge hinzufügen.
Wenn Sie fertig sind, speichern Sie die Datei, indem Sie . drücken
Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:
$ sudo systemctl Neustart dnsmasq
DNS-Server testen:
Wie Sie sehen, funktioniert die lokale DNS-Auflösung.
$ Router graben.Beispiel.com
Internet-Namensauflösung funktioniert auch.
$ google graben.com
DHCP-Server konfigurieren:
Um den DHCP-Server zu konfigurieren, öffnen Sie die dnsmasq-Konfigurationsdatei /etc/dnsmasq.conf noch einmal wie folgt:
$ sudo nano /etc/dnsmasq.conf
Fügen Sie nun die markierten Zeilen am Ende der Datei hinzu. Dann speichere die Datei.
# DHCP-Konfigurationdhcp-Bereich=192.168.10.50.192.168.10.240.255.255.255.0,24h
dhcp-option=option:router,192.168.10.1
dhcp-option=option:dns-server,192.168.10.1
dhcp-option=option:netmask,255.255.255.0
dhcp-host=00:0C:29:A5:BD:4A,192.168.10.51
dhcp-host=00:0C:29:A5:BD:5B,192.168.10.52
dhcp-host=00:0C:29:A5:BD:6C,192.168.10.53
Hier, DHCP-Bereich wird verwendet, um den Bereich der IP-Adressen festzulegen, die der DHCP-Server den Hosts zuweist.
DHCP-Option wird verwendet, um das Gateway einzustellen (Option: Router), DNS-Serveradresse (Option: DNS-Server) und Netzmaske (Option: Netzmaske)
dhcp-host wird verwendet, um abhängig von den angegebenen MAC-Adressen spezifische IP-Adressen für Hosts festzulegen.
Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:
$ sudo systemctl Neustart dnsmasq
DHCP-Server testen:
Wie Sie sehen, ist der Computer host1 hab die IP Adresse 192.168.10.51/24 vom DHCP-Server.
DNS-Auflösung funktioniert auch von host1.
In der gleichen Weise, host2 und host3 bekommt auch die richtige IP-Adresse vom DHCP-Server und die DNS-Auflösung funktioniert auf jedem von ihnen.
Wohin als nächstes:
Wenn Sie mehr über dnsmasq erfahren möchten, schauen Sie sich die Standardkonfigurationsdatei an /etc/dnsmasq.conf (jetzt umbenannt in /etc/dnsmasq.conf.bk). Es enthält eine detaillierte Beschreibung aller Konfigurationsoptionen von dnsmasq.
$ weniger /etc/dnsmasq.conf.bk
Standard-dnsmasq-Konfigurationsdatei von Ubuntu Server 18.04 LTS.
So konfigurieren Sie dnsmasq auf Ubuntu Server 18.04 LTS. Danke, dass du diesen Artikel gelesen hast.