Bind als privaten DNS Server op RHEL 8


Den Domain Name System (DNS) ass eng Method déi benotzt gëtt fir mënschlech liesbar Domainnamen (oder Fully Qualified Domain Names (FQDN)) op maschinn liesbar IP Adressen ze iwwersetzen, fir e Computer an engem Netzwierk wéi den Internet ze lokaliséieren.

A Computer- an Netzwierksystemer ass dëst noutwendeg well, obwuel d'FQDNs einfach sinn fir Mënschen ze erënneren an ze benotzen, Computeren (Clienten) Zougang zu Ressourcen oder Servicer op anere Computeren (Server) baséiert op IP Adressen.

An dëser Hisiicht hält en DNS-Server (och bekannt als Nummserver) e Verzeechnes vu FQDNs an iwwersetzt se op IP Adressen; et kann och eng IP Adress zréckginn wann e Hostnumm/FQDN gëtt. Et gi verschidden Zorte vun DNS Serveren dorënner autoritär Numm Server, Caching Numm Server a vill anerer.

An dësem Artikel wäerte mir Iech duerch d'Schrëtt goen fir e privaten/internen, autoritären DNS-Server op RHEL 8 mat BIND Open Source Software z'installéieren an ze konfiguréieren.

  1. RHEL 8 mat minimaler Installatioun
  2. RHEL 8 mat RedHat Abonnement aktivéiert
  3. RHEL 8 mat statescher IP Adress

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

Schrëtt 1: Bind DNS op RHEL 8 installéieren

1. Fir Bind a seng Utilities op Ärem Server z'installéieren, fuert de folgenden cdnf Kommando.

# dnf install bind bind-utils

2. Als nächst, start den DNS-Service fir elo, aktivéiert et dann fir automatesch beim Systemboot ze starten a kontrolléiert ob et mat de Systemctl Kommandoen op ass a leeft.

# systemctl start named
# systemctl enable named
# systemctl status named

Schrëtt 2: BIND DNS op RHEL 8 konfiguréieren

3. Fir Bind DNS Server ze konfiguréieren, musst Dir als éischt e Backup vun der ursprénglecher Konfiguratiounsdatei huelen /etc/named.conf mat de folgenden cp Kommando.

# cp /etc/named.conf /etc/named.conf.orig

4. Open elo /etc/named.conf Konfiguratiounsdatei fir z'änneren mat Ärem Liiblings Kommandozeil Texteditor wéi follegt.

# vi /etc/named.conf 

Ënnert der Optiounen Konfiguratiounssektioun, kommentéiert déi folgend Zeilen.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. Als nächst kuckt no de Parameter allow-query a setzt säi Wäert op Ärem Netz, dat heescht datt nëmmen Hosten op Ärem lokalen Netzwierk den DNS-Server ufroen kënnen.

allow-query  {localhost; 192.168.56.0/24}

Schrëtt 3: Erstellt d'Forward an Reverse DNS Zonen

A Forward Zone ass wou den Hostnumm (oder FQDN) op d'IP Adress Bezéiunge gespäichert sinn; et gëtt eng IP Adress mam Hostnumm zréck. Notéiert datt normal DNS Ufroe Forward Lookup Ufroen sinn. Op der anerer Säit gëtt eng Reverse Zone de FQDN vun engem Host op Basis vun hirer IP Adress zréck.

6. Fir d'Forward an Reverse Zonen ze definéieren, fügen déi folgend Zeilen um Enn vun der Datei /etc/named.conf.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

Loosst eis d'Optiounen an den uewe genannte Zonekonfiguratiounen kuerz erklären:

  • Typ: Definéiert d'Roll vun dësem Server fir d'Zone. De Wäert Master heescht datt et en autoritäre Server ass, wou d'Masterkopie vun den Zonendaten erhale bleift.
  • Datei: spezifizéiert d'Datebankdatei vun der Zone.
  • Allow-Update: spezifizéiert d'Hosten déi erlaabt hunn dynamesch DNS Updates fir Masterzonen ofzeginn. Keen an dësem Fall.

Schrëtt 4: Erstellt Forward DNS Zone Datei

7. Als éischt erstellt eng Forward Zone Datei ënner dem /var/named Verzeechnes.

# vi /var/named/tecmint.lan.db

Füügt déi folgend Konfiguratioun derbäi.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

Loosst eis déi uewe genannte Zonedefinitioun an d'Parameter kuerz erklären.

  • TTL: spezifizéiert d'Zäit-ze-Liewe vun der RR- an $TTL-Direktiv gëtt e Standard-TTL fir all RR ouni spezifesch TTL-Set.
  • @: Et ass en Alias fir den Domain Numm (z.B. tecmint.lan) definéiert an der Haaptkonfiguratiounsdatei.
  • IN: heescht den Internet.
  • SOA: spezifizéiert den Start vun der Autoritéit: wien den autoritären Nummserver ass (dns-primary.tecmint.lan), d'Kontaktinformatioun vum Administrator (admin.tecmint.lan, d'@ Zeechen gëtt duerch eng Period ersat) an aner verbonnen Informatiounen.
  • NS: heescht Nummserver.
  • Serial: Dëse Wäert gëtt vum DNS-Server benotzt fir z'iwwerpréiwen datt den Inhalt vun enger bestëmmter Zonedatei aktuell ass.
  • Erfrëschen: spezifizéiert wéi dacks e Sklaven DNS-Server en Zonetransfer vum Master soll ausféieren.
  • Nidderhuelung: spezifizéiert wéi dacks e Sklave e gescheiterten Zonentransfer nach eng Kéier probéieren soll.
  • Auslafen: bestëmmt wéi laang e Sklave-Server sollt waarden ier e Client Ufro beäntwert wann e Master net erreechbar ass.
  • Minimum: setzt de Minimum TTL fir d'Zone fest.
  • A: Eng Hostadress.

Schrëtt 5: Reverse DNS Zone Datei erstellen

8. Ähnlech erstellt eng Reverse Zone-Datei ënner dem /var/named Verzeechnes.

# vi /var/named/tecmint.lan.rev

Füügt dann déi folgend Zeilen derbäi. Hei ass de PTR de Géigendeel vun engem Rekord benotzt fir eng IP Adress op e Hostnumm ze mapen.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. Setzt d'korrekt Eegentumsrechter op d'Zonedateien wéi follegt.

# chown :named /var/named/tecmint.lan.db
# chown :named /var/named/tecmint.lan.rev

10. Schlussendlech, kontrolléiert d'DNS Konfiguratioun an d'Zonedateien hunn déi richteg Syntax nodeems Dir déi uewe genannte Ännerunge gemaach hutt, mam Numm-Checkconf Utility benotzt (nee Out heescht kee Feeler):

# named-checkconf
# named-checkzone tecmint.lan /var/named/tecmint.lan.db
# named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. Wann Dir all déi néideg Konfiguratioun gemaach hutt, musst Dir den DNS-Service nei starten fir datt déi rezent Ännerungen a Kraaft trieden.

# systemctl restart named

12. Als nächst, ier all Client Zougang zu den DNS Service Konfiguratiounen um Server kënnt, musst Dir den DNS Service an der System Firewall Configuratioun addéieren an d'Firewall Astellunge mat der Firewall-cmd Utility nei lueden, wéi follegt:

# firewall-cmd --permanent --zone=public --add-service=dns 
# firewall-cmd --reload

Schrëtt 6: Testen DNS Service Vun engem Client

13. An dëser Rubrik wäerte mir weisen wéi Dir den DNS Service vun enger Client Säit testen. Log op d'Clientmaschinn, konfiguréiert se fir den uewe genannten DNS-Server ze benotzen. Op engem Linux System, öffnen d'Datei /etc/resolve.conf mat Ärem Liiblingstexteditor.

# vi /etc/resolve.conf 

Füügt déi folgend Entrée dran, déi dem Resolver seet de spezifizéierte Nummserver ze benotzen.

nameserver  192.168.56.100

Späichert d'Datei a maach se zou. Bedenkt datt Dir och den DNS-Server an der Konfiguratiounsdatei vum Netz-Interface muss spezifizéieren.

14. Füügt d'DNS-Server IP 192.168.56.100 als Resolver op d'Clientmaschinn Netzwierk Interface Konfiguratiounsdatei /etc/sysconfig/network-scripts/ifcfg-enp0s3 wéi an der folgender Figur.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. Benotzt dann den nslookup Utility fir d'IP ze froen mat dem Hostnumm a vice versa, vun de www, Mail an docs Serveren an Ärem Netzwierk wéi gewisen.

# nslookup 192.168.56.5
# nslookup www.tecmint.lan
# nslookup 192.168.56.10
# nslookup mail.tecmint.lan
# nslookup 192.168.56.20
# nslookup docs.tecmint.lan
# nslookup 192.168.56.100
# nslookup dns-primary.tecmint.lan

An dësem Artikel hu mir gewisen wéi Dir e privaten, autoritären DNS-Server op RHEL 8 mat BIND Software installéiere an konfiguréieren. Mir hoffen, datt alles gutt fir Iech geschafft huet, soss schéckt eis Är Ufroen oder aner Kommentarer iwwer de Feedbackformular hei ënnen.