Nastavitev Bind kot zasebnega strežnika DNS na RHEL 8


Sistem domenskih imen (DNS) je metoda, ki se uporablja za prevajanje človeško berljivih domenskih imen (ali popolnoma kvalificiranih domenskih imen (FQDN)) v strojno berljive naslove IP za iskanje računalnika v omrežju, kot je internet.

V računalniških in omrežnih sistemih je to nujno, ker čeprav so FQDN-ji ljudje enostavno zapomniti in uporabljati, računalniki (odjemalci) dostopajo do virov ali storitev v drugih računalnikih (strežnikih) na podlagi naslovov IP.

V zvezi s tem strežnik DNS (znan tudi kot imenski strežnik) vzdržuje imenik FQDN-jev in jih prevede v naslove IP; vrne lahko tudi naslov IP, ko je na voljo ime gostitelja/FQDN. Obstajajo različne vrste strežnikov DNS, vključno z avtoritativnim imenskim strežnikom, imenskim strežnikom za predpomnjenje in številnimi drugimi.

V tem članku vas bomo vodili skozi korake za namestitev in konfiguracijo zasebnega/notranjega, avtoritativnega strežnika DNS na RHEL 8 z uporabo odprtokodne programske opreme BIND.

  1. RHEL 8 z minimalno namestitvijo
  2. RHEL 8 z omogočeno naročnino na RedHat
  3. RHEL 8 s statičnim naslovom IP

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

1. korak: Namestitev Bind DNS na RHEL 8

1. Če želite na svoj strežnik namestiti bind in njegove pripomočke, zaženite naslednji ukaz cdnf.

# dnf install bind bind-utils

2. Nato za zdaj zaženite storitev DNS, nato pa jo omogočite, da se samodejno zažene ob zagonu sistema in z ukazi systemctl preverite, ali deluje.

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

2. korak: Konfiguriranje BIND DNS na RHEL 8

3. Če želite konfigurirati Bind DNS strežnik, morate najprej narediti varnostno kopijo izvirne konfiguracijske datoteke /etc/named.conf z naslednjim ukazom cp.

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

4. Zdaj odprite /etc/named.conf konfiguracijsko datoteko za urejanje z vašim najljubšim urejevalnikom besedil v ukazni vrstici, kot sledi.

# vi /etc/named.conf 

V razdelku za konfiguracijo options komentirajte naslednje vrstice.

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

5. Nato poiščite parameter allow-query in nastavite njegovo vrednost na vaše omrežje, kar pomeni, da lahko strežnik DNS poizvedujejo samo gostitelji v vašem lokalnem omrežju.

allow-query  {localhost; 192.168.56.0/24}

3. korak: Ustvarjanje naprej in nazaj DNS con

Posredna cona je mesto, kjer so shranjena imena gostitelja (ali FQDN) za relacije naslovov IP; vrne naslov IP z imenom gostitelja. Upoštevajte, da so običajne poizvedbe DNS poizvedbe za iskanje naprej. Po drugi strani Reverse Zone vrne FQDN gostitelja na podlagi njegovega naslova IP.

6. Če želite določiti coni naprej in nazaj, dodajte naslednje vrstice na konec datoteke /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; }
};

Na kratko razložimo možnosti v zgornjih konfiguracijah con:

  • vrsta: določa vlogo tega strežnika za območje. Vrednost "master" pomeni, da gre za verodostojni strežnik, na katerem se ohrani glavna kopija podatkov o območju.
  • datoteka: določa datoteko baze podatkov območja.
  • allow-update: določa gostitelje, ki jim je bilo dovoljeno poslati dinamične posodobitve DNS za glavna območja. V tem primeru nobenega.

4. korak: Ustvarjanje datoteke DNS Zone naprej

7. Najprej ustvarite datoteko z območjem za posredovanje v imeniku/var/named.

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

Vanjo dodajte naslednjo konfiguracijo.

$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

Na kratko razložimo zgornjo definicijo cone in parametre.

  • TTL: določa čas delovanja RR in direktiva $TTL daje privzeti TTL za vsak RR brez določenega nastavljenega TTL.
  • @: Je vzdevek za ime domene (npr. tecmint.lan), določeno v glavni konfiguracijski datoteki.
  • IN: pomeni internet.
  • SOA: določa začetek pooblastila: kdo je avtoritativni imenski strežnik (dns-primary.tecmint.lan), skrbniške kontaktne informacije (admin.tecmint.lan, znak @ se nadomesti s piko) in druge povezane informacije.
  • NS: pomeni imenski strežnik.
  • Zaporedni: to vrednost strežnik DNS uporablja za preverjanje, ali je vsebina določene datoteke območja posodobljena.
  • Osveži: določa, kako pogosto mora podrejeni strežnik DNS izvesti conski prenos iz glavne enote.
  • Ponovni poskus: določa, kako pogosto naj podrejeni poskusi znova neuspešen prenos območja.
  • Poteče: določa, kako dolgo naj podrejeni strežnik čaka, preden odgovori na poizvedbo odjemalca, ko je glavni nedosegljiv.
  • Minimum: nastavi najnižji TTL za območje.
  • O: Naslov gostitelja.

5. korak: Ustvarjanje povratne datoteke z območjem DNS

8. Podobno ustvarite datoteko Reverse zone v imeniku/var/named.

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

Nato vanj dodajte naslednje vrstice. Tu je PTR nasprotje zapisa, ki se uporablja za preslikavo naslova IP v ime gostitelja.

$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. Nastavite pravilna lastniška dovoljenja za conske datoteke, kot sledi.

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

10. Nazadnje preverite konfiguracijo DNS in datoteke z območji imajo pravilno sintakso po izvedbi zgornjih sprememb s pripomočkom named-checkconf (no out ne pomeni napake):

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

11. Ko izvedete vse potrebne konfiguracije, morate znova zagnati storitev DNS, da bodo začele veljati nedavne spremembe.

# systemctl restart named

12. Nato morate, preden lahko kateri koli odjemalec dostopa do konfiguracij storitve DNS na strežniku, dodati storitev DNS v konfiguracijo sistemskega požarnega zidu in znova uporabiti nastavitve požarnega zidu s pripomočkom firewall-cmd:

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

6. korak: Testiranje storitve DNS od odjemalca

13. V tem razdelku bomo prikazali, kako preizkusiti storitev DNS s strani odjemalca. Prijavite se v odjemalski stroj in ga konfigurirajte za uporabo zgornjega strežnika DNS. V sistemu Linux odprite datoteko /etc/resolve.conf s svojim najljubšim urejevalnikom besedil.

# vi /etc/resolve.conf 

Vanj dodajte naslednji vnos, ki razreševalniku pove, naj uporabi navedeni strežnik imen.

nameserver  192.168.56.100

Datoteko shranite in zaprite. Upoštevajte, da morate v konfiguracijski datoteki omrežnega vmesnika določiti tudi strežnik DNS.

14. DNS strežnike IP 192.168.56.100 dodajte kot razreševalnik v konfiguracijsko datoteko omrežnega vmesnika odjemalskega računalnika/etc/sysconfig/network-scripts/ifcfg-enp0s3, kot je prikazano na naslednji sliki.

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. Nato s pripomočkom nslookup poizvedujte po IP-ju z imenom gostitelja in obratno strežnikov www, pošte in dokumentov v vašem omrežju, kot je prikazano.

# 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

V tem članku smo pokazali, kako namestiti in konfigurirati zasebni, avtoritativni strežnik DNS na RHEL 8 s pomočjo programske opreme BIND. Upamo, da vam je vse uspelo, sicer nam pošljite svoja vprašanja ali kakršne koli druge pripombe prek spodnjega obrazca za povratne informacije.