Postavljanje Bind-a kao privatnog DNS servera na RHEL 8


Sistem imena domena (DNS) je metoda koja se koristi za prevođenje imena domena čitljivih ljudima (ili Potpuno kvalificiranih imena domena (FQDN )) na mašinski čitljive IP adrese, za lociranje računara u mreži kao što je Internet.

U računarskim i mrežnim sistemima, ovo je neophodno jer, iako su FQDN-ovi laki za pamćenje i upotrebu, računari (klijenti) pristupaju resursima ili uslugama na drugim računarima (serverima) na osnovu IP adresa.

U tom smislu, DNS server (također poznat kao server imena) održava direktorij FQDN-ova i prevodi ih u IP adrese; također može vratiti IP adresu kada je naveden hostname/FQDN. Postoje različiti tipovi DNS servera uključujući autoritativni server imena, server imena za keširanje i mnoge druge.

U ovom članku ćemo vas provesti kroz korake za instalaciju i konfiguraciju privatnog/internog, autoritativnog DNS servera na RHEL 8 koristeći BIND softver otvorenog koda.

Zahtjevi:

  1. RHEL 8 sa minimalnom instalacijom
  2. RHEL 8 sa omogućenom RedHat pretplatom
  3. RHEL 8 sa statičkom IP adresom

Moje okruženje za testiranje:

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

Korak 1: Instaliranje Bind DNS-a na RHEL 8

1. Da instalirate bind i njegove uslužne programe na vaš server, pokrenite sljedeću cdnf komandu.

dnf install bind bind-utils

2. Zatim pokrenite DNS uslugu za sada, a zatim omogućite njeno automatsko pokretanje pri pokretanju sistema i provjerite da li je pokrenuta i radi pomoću systemctl komandi.

systemctl start named
systemctl enable named
systemctl status named

Korak 2: Konfiguriranje BIND DNS-a na RHEL 8

3. Da biste konfigurirali Bind DNS server, prvo morate napraviti sigurnosnu kopiju originalne konfiguracijske datoteke /etc/named.conf koristeći sljedeći cp komanda.

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

4. Sada otvorite /etc/named.conf konfiguracionu datoteku za uređivanje pomoću vašeg omiljenog uređivača teksta komandne linije kako slijedi.

vi /etc/named.conf 

U odjeljku konfiguracije options, komentirajte sljedeće redove.

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

5. Zatim potražite parametar allow-query i postavite njegovu vrijednost na svoju mrežu, što znači da samo hostovi na vašoj lokalnoj mreži mogu upitajte DNS server.

allow-query  {localhost; 192.168.56.0/24}

Korak 3: Kreiranje naprijed i nazad DNS zona

Prosljedna zona je mjesto gdje se pohranjuju odnosi ime hosta (ili FQDN) prema IP adresi; vraća IP adresu koristeći ime hosta. Imajte na umu da su normalni DNS upiti upiti za traženje unaprijed. S druge strane, Obrnuta zona vraća FQDN hosta na osnovu njegove IP adrese.

6. Da definirate naprijed i obrnutu zonu, dodajte sljedeće redove na kraj /etc/named.conf< fajl.

//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; }
};

Hajde da ukratko objasnimo opcije u gornjim konfiguracijama zona:

  • tip: Definira ulogu ovog servera za zonu. Vrijednost “master” znači da je to autoritativni server na kojem se održava glavna kopija podataka o zoni.
  • datoteka: specificira datoteku baze podataka zone.
  • dopusti ažuriranje: specificira hostove koji su dozvolili slanje ažuriranja dinamičkog DNS-a za glavne zone. Ništa u ovom slučaju.

Korak 4: Kreiranje Forward DNS zone zone

7. Prvo kreirajte datoteku Prosljedna zona u direktoriju /var/named.

vi /var/named/tecmint.lan.db

Dodajte sljedeću konfiguraciju u njega.

$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

Hajde da ukratko objasnimo gornju definiciju zone i parametre.

  • TTL: specificira vrijeme trajanja direktive RR i $TTL daje zadani TTL za svaki RR bez određenog TTL skupa.
  • @: To je pseudonim za ime domene (npr. tecmint.lan) definirano u glavnoj konfiguracijskoj datoteci.
  • IN: znači Internet.
  • SOA: specificira Početak ovlaštenja: ko je ovlašteni server imena (dns-primary.tecmint.lan), kontakt informacije administratora ( admin.tecmint.lan, znak @ je zamijenjen tačkom) i druge povezane informacije.
  • NS: znači server imena.
  • Serial: ovu vrijednost koristi DNS server da provjeri da li je sadržaj određene datoteke zone ažuran.
  • Osvježi: određuje koliko često podređeni DNS server treba da izvrši prijenos zone sa glavnog.
  • Pokušaj ponovo: određuje koliko često slave treba da pokuša ponovo neuspeli prenos zone.
  • Istek: određuje koliko dugo podređeni server treba da čeka prije nego odgovori na upit klijenta kada je glavni nedostupan.
  • Minimum: postavlja minimalni TTL za zonu.
  • A: Adresa domaćina.

Korak 5: Kreiranje datoteke obrnute DNS zone

8. Slično, kreirajte datoteku Obrnuta zona u direktoriju /var/named.

vi /var/named/tecmint.lan.rev

Zatim dodajte sljedeće redove u njega. Ovdje je PTR suprotan zapisu A koji se koristi za mapiranje IP adrese u ime hosta.

$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. Postavite ispravne dozvole za vlasništvo nad datotekama zona na sljedeći način.

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

10. Konačno, provjerite DNS konfiguraciju i da datoteke zone imaju ispravnu sintaksu nakon što izvršite gore navedene promjene, koristeći named-checkconf uslužni program (nema izlaza znači nema greške):

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

11. Nakon što izvršite svu potrebnu konfiguraciju, morate ponovo pokrenuti DNS uslugu kako bi nedavne promjene stupile na snagu.

systemctl restart named

12. Zatim, prije nego što bilo koji klijent može pristupiti konfiguracijama DNS usluge na serveru, morate dodati DNS uslugu u konfiguraciju sistemskog zaštitnog zida i ponovo učitati postavke zaštitnog zida koristeći firewall-cmd uslužni program, kako slijedi :

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

Korak 6: Testiranje DNS usluge od klijenta

13. U ovom odjeljku ćemo pokazati kako testirati DNS uslugu sa strane klijenta. Prijavite se na klijentsku mašinu, konfigurišite je da koristi gornji DNS server. Na Linux sistemu otvorite datoteku /etc/resolve.conf koristeći svoj omiljeni uređivač teksta.

vi /etc/resolve.conf 

Dodajte sljedeći unos u njega, koji govori razrješivaču da koristi specificirani poslužitelj imena.

nameserver  192.168.56.100

Sačuvajte datoteku i zatvorite je. Imajte na umu da takođe morate navesti DNS server u konfiguracionoj datoteci mrežnog interfejsa.

14. Dodajte IP servera DNS-a 192.168.56.100 kao rezolver u konfiguracioni fajl mrežnog interfejsa klijentskog računara /etc/sysconfig/network-scripts/ifcfg-enp0s3< kao što je prikazano na sljedećoj slici.

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. Zatim koristite uslužni program nslookup da upitate IP koristeći ime hosta i obrnuto, www, mail i docs< servere u vašoj mreži kao što 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

Sažetak

U ovom članku smo pokazali kako da instalirate i konfigurišete privatni, autoritativni DNS server na RHEL 8 koristeći BIND softver. Nadamo se da je sve dobro funkcioniralo za vas, u suprotnom, pošaljite nam svoje upite ili bilo koje druge komentare putem obrasca za povratne informacije ispod.