Wéi konfiguréieren ech en DNS/DHCP Server mat dnsmasq op CentOS/RHEL 8/7


En Dynamic Host Configuration Protocol (DHCP) Server gëtt dynamesch IP Adressen an aner Netzkonfiguratiounsparameter un all Apparat an engem Netzwierk zou. En DNS Forwarder op engem LAN schéckt DNS Ufroe fir net-lokal Domain Nimm op Upstream DNS Serveren (ausserhalb vum Netz). En DNS-Caching-Server beäntwert rekursiv Ufroe vu Clienten, sou datt d'DNS-Ufro méi séier geléist ka ginn, sou datt d'DNS Lookup Geschwindegkeet op virdrun besichte Site verbessert.

dnsmasq ass e liicht, einfach ze konfiguréieren DNS Forwarder, DHCP Server Software a Router Annonce Subsystem fir kleng Netzwierker. Dnsmasq ënnerstëtzt Linux, *BSD, Mac OS X souwéi Android.

Et huet en DNS-Subsystem deen e lokalen DNS-Server fir d'Netzwierk ubitt, mat Forwarding vun all Ufro-Typen op upstream rekursiv DNS-Server a Cache vun allgemenge Rekordtypen. Den DHCP Subsystem ënnerstëtzt DHCPv4, DHCPv6, BOOTP, PXE an en TFTP Server. An de Router Annonce Subsystem ënnerstëtzt Basis Autokonfiguratioun fir IPv6 Hosten.

An dësem Artikel wäerte mir Iech duerch d'Instruktioune goen wéi Dir den DNS/DHCP Server installéiere an opbauen Mat dnsmasq op CentOS/RHEL 8/7 Verdeelungen.

Installéiert dnsmasq an CentOS an RHEL Linux

1. Den dnsmasq Package ass verfügbar an de Standard Repositories a kann einfach mat dem YUM Package Manager installéiert ginn wéi gewisen.

# yum install dnsmasq

2. Wann d'dnsmasq Package Installatioun fäerdeg ass, musst Dir den dnsmasq Service fir elo starten an et aktivéieren fir automatesch beim Systemboot ze starten. Ausserdeem kontrolléiert säi Status fir sécherzestellen datt et op a leeft mat de folgende Systemctl Kommandoen.

# systemctl start dnsmasq
# systemctl enable dnsmasq
# systemctl status dnsmasq

Dnsmasq Server an CentOS an RHEL Linux konfiguréieren

3. Den dnsmasq Server kann iwwer d'Datei /etc/dnsmasq.conf konfiguréiert ginn (déi gutt kommentéiert an erkläert Optiounen enthält), a Benotzerdefinéiert Konfiguratiounsdateien kënnen och am /etc/dnsmasq.d Verzeichnis hinzugefügt ginn.

DNS ass par défaut aktivéiert, also ier Dir Ännerungen maacht, gitt sécher datt Dir e Backup vun der /etc/dnsmasq.conf Datei erstellt.

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

4. Elo öffnen d'Datei /etc/dnsmasq.conf mat Ärem Liiblingstext-baséierten Editor a maacht déi folgend proposéiert Konfiguratiounsastellungen.

# vi /etc/dnsmasq.conf 

D'lauschteren-Adress d'Optioun gëtt benotzt fir d'IP Adress ze setzen, wou dnsmasq nolauschtert. Fir Ären CentOS/RHEL Server ze benotzen fir no DHCP an DNS Ufroen um LAN ze lauschteren, setze d'lauschteren-Adress Optioun op seng LAN IP Adressen (erënnert un 127.0.0.1) wéi gewisen. Bedenkt datt de Server IP statesch muss sinn.

listen-address=::1,127.0.0.1,192.168.56.10

Am Zesummenhang mat der uewendriwwer kënnt Dir d'Interface limitéieren dnsmasq lauschtert op d'Interfaceoptioun benotzt (füügt méi Zeilen fir méi wéi een Interface).

interface=eth0

5. Wann Dir wëllt en Domän (deen Dir kënnt als nächst setzen) automatesch un einfach Nimm an engem Host-Datei hinzufügen, decommentéiert d'Optioun expand-hosts.

expand-hosts

6. Fir d'Domain fir dnsmasq ze setzen, dat heescht datt DHCP Clienten voll qualifizéiert Domainnamen hunn, soulaang wéi de Set Domain passt, a setzt d'Domain DHCP Optioun fir all Clienten.

domain=tecmint.lan

7. Als nächst definéiert och den Upstream DNS-Server fir net-lokal Domänen mat der Serveroptioun (an der Form Server=dns_server_ip) wéi gewisen.

# Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Da kënnt Dir Är lokal Domain op eng IP Adress(en) forcéieren mat der Adressoptioun wéi gewisen.

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

9. Späichert d'Datei a kontrolléiert d'Konfiguratiounsdatei Syntax fir Feeler wéi gewisen.

# dnsmasq --test

10. An dësem Schrëtt musst Dir all Ufroen maachen fir op dnsmasq geschéckt ze ginn andeems Dir d'localhost Adressen als déi eenzeg Nummserver an /etc/resolv.conf Datei addéiert.

# vi /etc/resolv.conf

11. D'Datei /etc/resolv.conf gëtt vun engem lokalen Daemon ënnerhalen, besonnesch de Chattr Kommando wéi gewisen.

# chattr +i /etc/resolv.conf
# lsattr /etc/resolv.conf

12. Den Dnsmasq liest all DNS Hosten an Nimm aus der Datei /etc/hosts, also füügt Är DNS Hosts IP Adressen an Nummpaaren un wéi se gewisen.

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

Wichteg: Lokal DNS Nimm kënnen och definéiert ginn andeems Dir Nimm aus dem DHCP Subsystem importéiert oder duerch d'Konfiguratioun vun enger breet Palette vun nëtzlechen Rekordtypen.

13. Fir déi uewe genannte Verännerungen z'applizéieren, starten den dnsmasq Service wéi gewisen.

# systemctl restart dnsmasq

14. Wann Dir de Firewalld-Service leeft, musst Dir DNS- an DHCP-Servicer an der Firewall-Konfiguratioun opmaachen, fir datt Ufroe vu Hosten op Ärem LAN op den dnsmasq-Server passéieren.

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

15. Fir ze testen ob de lokalen DNS-Server oder Forwarding gutt funktionnéiert, musst Dir Tools benotzen wéi nslookup fir DNS-Ufroen auszeféieren. Dës Tools ginn vum Bind-utils Package geliwwert, dee vläicht net virinstalléiert op CentOS/RHEL 8 kënnt, awer Dir kënnt et installéieren wéi gewisen.

# yum install bind-utils

16. Wann Dir installéiert hutt, kënnt Dir eng einfach Ufro op Ärem lokalen Domain lafen wéi gewisen.

# dig tecmint.lan
OR
# nslookup tecmint.lan

17. Dir kënnt och probéieren de FQDN vun engem vun de Serveren ze froen.

# dig webserver1.tecmint.lan
OR
# nslookup webserver1.tecmint.lan

18. Fir eng ëmgedréint IP Lookup ze testen, lafen en ähnlechen Kommando.

# dig -x 192.168.56.25
OR
# nslookup 192.168.56.25

Aktivéiert DHCP Server Benotzt dnsmasq

19. Dir kënnt den DHCP-Server aktivéieren andeems Dir d'Optioun dhcp-range decommentéiert an d'Gamme vun Adressen zur Verfügung stellen fir ze lounen an optional eng Leasingzäit zB (Wiederhol fir méi wéi ee Netzwierk).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Déi folgend Optioun definéiert wou den DHCP-Server seng Leasing-Datebank behält, dëst hëlleft Iech fir d'IP Adressen ze kontrolléieren déi se zougewisen huet.

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

21. Fir den DHCP-Server an den autoritäre Modus ze maachen, decommentéieren d'Optioun.

dhcp-authoritative

22. D'Datei späicheren an den dnsmasq Service nei starten fir déi rezent Ännerungen anzesetzen.

# systemctl restart dnsmasq

Dat bréngt eis zum Enn vun dësem Guide. Fir eis z'erreechen fir all Froen oder Gedanken déi Dir iwwer dëse Guide wëllt deelen, benotzt de Feedbackformular hei ënnen.