So konfigurieren Sie dnsmasq auf Ubuntu Server 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq ist ein sehr leichter lokaler DNS-Server. dnsmasq kann auch als DNS-Cache-Server und DHCP-Server konfiguriert werden. dnsmasq unterstützt IPv4 und IPv6, einschließlich DHCPv4 und DHCPv6. dnsmasq ist ideal für kleine Netzwerke.

In diesem Artikel zeige ich Ihnen, wie Sie mit dnsmasq einen lokalen DNS-Server, einen Caching-DNS-Server und einen 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 auf dem . konfigurierten DHCP-Server Router zur automatischen Vergabe von IP-Adressen und dem DNS-Server 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 denen sich andere Computer im Netzwerk verbinden. Ich muss DHCP verwenden, um eine IP-Adresse für die ens33 Schnittstelle von meinem ISP für die Internetverbindung. Aber die ens38 Schnittstelle müssen manuell konfiguriert werden.





Nutzen wir das Netzwerk 192.168.10.0/24 für ens38-Schnittstelle und andere Computer im Netzwerk. Wenn ich das Netzwerk 192.168.10.0/24 verwende, dann ist die IP-Adresse des ens38 Schnittstelle des Routers sollte 192.168.10.1/24 sein. Dies ist die IP-Adresse des DNS-Servers und des DHCP-Servers von dnsmasq.

HINWEIS: Der Name Ihrer Netzwerkschnittstelle 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 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/Netzplan/fünfzig-cloud-init.yaml

Geben Sie nun die folgenden Zeilen ein und speichern Sie die Datei mit + x gefolgt von und und .

Starten Sie jetzt Ihren Router mit folgendem Befehl:

$sudoneustarten

Sobald die Router bootet, sollten IP-Adressen 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 zum Verwalten 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:

$sudosystemctl stop systemd-resolved

Um die zu deaktivieren systemaufgelöst service, führen Sie den folgenden Befehl aus:

$sudosystemctl deaktivieren systemd-resolved

Standardmäßig ist die /etc/resolv.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/resolv.conf mit folgendem Befehl verknüpfen:

$sudo rm -v /etc/resolv.conf

Erstellen Sie nun ein neues /etc/resolv.conf Datei und legen Sie den Google DNS-Server mit dem folgenden Befehl als Standard-DNS-Server fest:

$rauswerfen 'Nameserver 8.8.8.8' | sudo tee /etc/resolv.conf

Aktualisieren Sie nun den APT-Paket-Repository-Cache mit dem folgenden Befehl:

$sudoapt-Update

Installieren Sie nun dnsmasq mit dem folgenden Befehl:

$sudogeeignetInstallierendnsmasq

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 eine Menge Dokumentation und auskommentierte Optionen. Also, ich denke, es ist besser, die umzubenennen /etc/dnsmasq.conf Datei zu /etc/dnsmasq.conf.bk und erstellen Sie eine neue.

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 + x gefolgt von und und .

# DNS-Konfiguration
Hafen=53

Domain-benötigt
falsch-priv
strenge Ordnung

expand-hosts
Domain=beispiel.com

HINWEIS: Ändern beispiel.com zu Ihrem eigenen Domainnamen.

Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:

$sudosystemctl Neustart dnsmasq

Keine Fehler. Groß!

Jetzt musst du einstellen 192.168.10.1 als Standard-DNS-Serveradresse im /etc/resolv.conf .

Öffnen Sie dazu /etc/resolv.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. Speichern Sie dann 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/Gastgeber

Geben Sie nun Ihre DNS-Einträge im folgenden Format ein:

IP_ADDR DOMAIN_NAME

Ich habe 4 Einträge hinzugefügt router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , und host3.example.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 + x gefolgt von und und .

Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:

$sudosystemctl Neustart dnsmasq

DNS-Server testen:

Wie Sie sehen, funktioniert die lokale DNS-Auflösung.

$Sierouter.example.com

Die Auflösung von Internetnamen funktioniert auch.

$SieGoogle-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. Speichern Sie dann die Datei.

# DHCP-Konfiguration
dhcp-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 bestimmte IP-Adressen für Hosts festzulegen.

Starten Sie nun den dnsmasq-Dienst mit dem folgenden Befehl neu:

$sudosystemctl 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 erhält 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 Sie diesen Artikel gelesen haben.