So richten Sie einen DNS / DHCP-Server mit dnsmasq unter CentOS / RHEL 8/7 ein
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
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
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
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
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
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
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
17. Sie können auch versuchen, die abzufragen FQDN von einem der Server.
# dig webserver1.tecmint.lan OR # nslookup webserver1.tecmint.lan
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
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.