So richten Sie einen DNS / DHCP-Server mit dnsmasq unter CentOS / RHEL 8/7 ein

EIN Dynamic Host Configuration Protocol (DHCP) Der Server weist jedem Gerät in einem Netzwerk dynamisch IP-Adressen und andere Netzwerkkonfigurationsparameter zu. Eine DNS-Weiterleitung in einem LAN leitet DNS-Abfragen für nicht lokale Domänennamen an Upstream-DNS-Server (außerhalb dieses Netzwerks) weiter. Ein DNS-Caching-Server beantwortet rekursive Anforderungen von Clients, sodass die DNS-Abfrage schneller gelöst werden kann, wodurch die DNS-Suchgeschwindigkeit für zuvor besuchte Websites verbessert wird.

dnsmasq ist ein leichtes, einfach zu konfigurierendes DNS-Forwarder-, DHCP-Server- und Router-Ankündigungssubsystem für kleine Netzwerke. Dnsmasq unterstützt Linux, * BSD, Mac OS X sowie Android.

Es verfügt über eine DNS Subsystem, das einen lokalen DNS-Server für das Netzwerk bereitstellt, mit Weiterleitung aller Abfragetypen an vorgelagerte rekursive DNS-Server und Zwischenspeichern gängiger Datensatztypen. Das DHCP-Subsystem unterstützt DHCPv4, DHCPv6, BOOTP, PXE und einen TFTP-Server. Das Router-Ankündigungssubsystem unterstützt die grundlegende automatische Konfiguration für IPv6-Hosts.

In diesem Artikel werden wir Sie durch die Anweisungen zur Installation und Einrichtung führen DNS / DHCP Server mit dnsmasq auf CentOS / RHEL 8/7 Verteilungen.

Installation von dnsmasq unter CentOS und RHEL Linux

1. Das dnsmasq Das Paket ist in den Standard-Repositorys verfügbar und kann wie gezeigt einfach mit dem YUM-Paketmanager installiert werden.

# yum install dnsmasq
Installieren Sie dnsmasq in CentOS
Installieren Sie dnsmasq in CentOS


2. Sobald die dnsmasq Paketinstallation ist abgeschlossen, müssen Sie das starten dnsmasq Service für jetzt und aktivieren Sie es, um automatisch beim Systemstart zu starten. Überprüfen Sie außerdem den Status, um sicherzustellen, dass es mit den folgenden systemctl-Befehlen betriebsbereit ist.

# systemctl start dnsmasq
# systemctl enable dnsmasq
# systemctl status dnsmasq
Starten und überprüfen Sie den dnsmasq-Status
Starten und überprüfen Sie den dnsmasq-Status

Konfigurieren von dnsmasq Server unter CentOS und RHEL Linux

3. Das dnsmasq Server kann über die konfiguriert werden /etc/dnsmasq.conf Datei (die gut kommentierte und erläuterte Optionen enthält) und benutzerdefinierte Konfigurationsdateien können ebenfalls in der Datei hinzugefügt werden /etc/dnsmasq.d Verzeichnis.

DNS ist standardmäßig aktiviert. Bevor Sie Änderungen vornehmen, müssen Sie ein Backup von erstellen /etc/dnsmasq.conf Datei.

# cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

4. Öffnen Sie nun die /etc/dnsmasq.conf Datei mit Ihrem bevorzugten textbasierten Editor und nehmen Sie die folgenden vorgeschlagenen Konfigurationseinstellungen vor.

# vi /etc/dnsmasq.conf 

Das listen-address Mit dieser Option wird die IP-Adresse festgelegt, unter der dnsmasq abhört. Um Ihre zu verwenden CentOS / RHEL Server zu hören DHCP und DNS Anfragen auf der LAN, stellen Sie die listen-address Option zu seinen LAN-IP-Adressen (denken Sie daran, einzuschließen 127.0.0.1) wie gezeigt. Beachten Sie, dass die Server-IP statisch sein muss.

listen-address=::1,127.0.0.1,192.168.56.10

Im Zusammenhang mit dem oben Gesagten können Sie die Schnittstelle einschränken, die dnsmasq mithilfe der Schnittstellenoption abhört (fügen Sie mehr Zeilen für mehr als eine Schnittstelle hinzu).

interface=eth0

5. Wenn Sie eine haben wollen Domain (die Sie wie unten gezeigt einstellen können) automatisch zu einfachen Namen in einer Hosts-Datei hinzugefügt, kommentieren Sie das aus expand-hosts Möglichkeit.

expand-hosts

6. So legen Sie die Domain für dnsmasq fest DHCP Clients verfügen über vollständig qualifizierte Domänennamen, solange die festgelegte Domäne übereinstimmt.DomainDHCP-Option für alle Clients.

domain=tecmint.lan

7. Definieren Sie als Nächstes auch den Upstream-DNS-Server für nicht lokale Domänen mithilfe von Server Option (im Formular server = dns_server_ip) wie gezeigt.

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Anschließend können Sie Ihre lokale Domain mithilfe der IP-Adresse (n) erzwingen Adresse Option wie gezeigt.

address=/tecmint.lan/127.0.0.1 
address=/tecmint.lan/192.168.56.10

9. Speichern Sie die Datei und überprüfen Sie die Syntax der Konfigurationsdatei wie gezeigt auf Fehler.

# dnsmasq --test
Überprüfen Sie die dnsmasq-Konfiguration
Überprüfen Sie die dnsmasq-Konfiguration

Konfigurieren von dnsmasq mit der Datei /etc/resolv.conf

10. In diesem Schritt müssen Sie alle Abfragen durchführen, die an dnsmasq gesendet werden sollen, indem Sie die localhost-Adressen als einzige Nameserver hinzufügen /etc/resolv.conf Datei.

# vi /etc/resolv.conf
Legen Sie die Localhost-Adresse in der Datei /etc/resolv.conf fest
Legen Sie die Localhost-Adresse in der Datei /etc/resolv.conf fest

11. Das /etc/resolv.conf Die Datei wird von einem lokalen Daemon verwaltet, insbesondere vom NetworkManager. Daher werden alle vom Benutzer vorgenommenen Änderungen überschrieben. Um dies zu verhindern, schützen Sie es schreibgeschützt, indem Sie das unveränderliche Dateiattribut (Deaktivieren des Schreibzugriffs auf die Datei) mit dem Befehl chattr wie gezeigt festlegen.

# chattr +i /etc/resolv.conf
# lsattr /etc/resolv.conf
Legen Sie das Dateiattribut fest
Legen Sie das Dateiattribut fest

Definieren von DNS-Hosts und -Namen

12. Das Dnsmasq liest alle DNS-Hosts und Namen aus dem / etc / hosts Fügen Sie also die IP-Adressen und Namenspaare Ihrer DNS-Hosts wie gezeigt hinzu.

127.0.0.1       dnsmasq
192.168.56.10   dnsmasq 
192.168.56.1    gateway
192.168.56.100  maas-controller 
192.168.56.20   nagios
192.168.56.25   webserver1
Fügen Sie die IP-Adressen der DNS-Hosts hinzu
Fügen Sie die IP-Adressen der DNS-Hosts hinzu

Wichtig: Lokale DNS-Namen können auch durch Importieren von Namen aus dem DHCP-Subsystem oder durch Konfigurieren einer Vielzahl nützlicher Datensatztypen definiert werden.

13. Starten Sie das neu, um die obigen Änderungen zu übernehmen dnsmasq Service wie abgebildet.

# systemctl restart dnsmasq

14. Wenn Sie die haben Firewalld Dienst läuft, müssen Sie öffnen DNS und DHCP Dienste in der Firewall-Konfiguration, damit Anforderungen von Hosts in Ihrem LAN an den dnsmasq-Server weitergeleitet werden können.

# firewall-cmd --add-service=dns --permanent
# firewall-cmd --add-service=dhcp --permanent
# firewall-cmd --reload

Testen des lokalen DNS

fünfzehn. Um zu testen, ob der lokale DNS-Server oder die Weiterleitung ordnungsgemäß funktionieren, müssen Sie Tools wie dig oder nslookup verwenden, um DNS-Abfragen durchzuführen. Diese Tools werden von der bereitgestellt bind-utils Paket, das möglicherweise nicht vorinstalliert ist CentOS / RHEL 8, aber Sie können es wie gezeigt installieren.

# yum install bind-utils

16. Nach der Installation können Sie wie gezeigt eine einfache Abfrage in Ihrer lokalen Domäne ausführen.

# dig tecmint.lan
OR
# nslookup tecmint.lan
Lokale Domäne abfragen
Lokale Domäne abfragen

17. Sie können auch versuchen, die abzufragen FQDN von einem der Server.

# dig webserver1.tecmint.lan
OR
# nslookup webserver1.tecmint.lan
Domain-DNS abfragen
Domain-DNS abfragen

18. Führen Sie einen ähnlichen Befehl aus, um eine Reverse-IP-Suche zu testen.

# dig -x 192.168.56.25
OR
# nslookup 192.168.56.25
Reverse IP Lookup abfragen
Reverse IP Lookup abfragen

Aktivieren Sie den DHCP-Server mit dnsmasq

19. Sie können das aktivieren DHCP Server durch Kommentieren der dhcp-range Option und geben Sie den Adressbereich an, der zum Leasing verfügbar ist, und optional eine Leasingzeit, z. B. (wiederholen Sie dies für mehr als ein Netzwerk).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Die folgende Option definiert, wo der DHCP-Server seine Lease-Datenbank aufbewahrt. Auf diese Weise können Sie die ihm zugewiesenen IP-Adressen einfach überprüfen.

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

21. Deaktivieren Sie die Option, um den DHCP-Server in den autorisierenden Modus zu versetzen.

dhcp-authoritative

22. Speichern Sie die Datei und starten Sie die neu dnsmasq Service, um die letzten Änderungen anzuwenden.

# systemctl restart dnsmasq

Das bringt uns zum Ende dieses Leitfadens. Verwenden Sie das unten stehende Feedback-Formular, um uns bei Fragen oder Gedanken zu erreichen, die Sie zu diesem Handbuch mitteilen möchten.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *