Sette opp Bind som en privat DNS-server på RHEL 8


Domain Name System (DNS) er en metode som brukes til å oversette menneskelesbare domenenavn (eller Fully Qualified Domain Names (FQDN) )) til maskinlesbare IP-adresser, for å finne en datamaskin i et nettverk som Internett.

I datamaskin- og nettverkssystemer er dette nødvendig fordi, selv om FQDN-ene er enkle å huske og bruke for mennesker, får datamaskiner (klienter) tilgang til ressurser eller tjenester på andre datamaskiner (servere) basert på IP-adresser.

I denne forbindelse opprettholder en DNS-server (også kjent som en navneserver) en katalog med FQDN-er og oversetter dem til IP-adresser; den kan også returnere en IP-adresse når et vertsnavn/FQDN er oppgitt. Det finnes forskjellige typer DNS-servere, inkludert autoritativ navneserver, caching navneserver og mange andre.

I denne artikkelen vil vi lede deg gjennom trinnene for å installere og konfigurere en privat/intern, autoritativ DNS-server på RHEL 8 ved å bruke BIND åpen kildekode-programvare.

Krav:

  1. RHEL 8 med minimal installasjon
  2. RHEL 8 med RedHat-abonnement aktivert
  3. RHEL 8 med statisk IP-adresse

Mitt testmiljø:

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

Trinn 1: Installere Bind DNS på RHEL 8

1. For å installere bind og dets verktøy på serveren din, kjør følgende cdnf-kommando.

dnf install bind bind-utils

2. Start deretter DNS-tjenesten inntil videre, aktiver den til å automatisk starte ved systemoppstart og sjekk om den er oppe og kjører ved hjelp av systemctl-kommandoene.

systemctl start named
systemctl enable named
systemctl status named

Trinn 2: Konfigurere BIND DNS på RHEL 8

3. For å konfigurere Bind DNS-serveren, må du først ta en sikkerhetskopi av den opprinnelige konfigurasjonsfilen /etc/named.conf ved å bruke følgende cp kommando.

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

4. Åpne nå /etc/named.conf konfigurasjonsfil for redigering ved å bruke din favoritt kommandolinjetekstredigerer som følger.

vi /etc/named.conf 

Kommenter følgende linjer under alternativer-konfigurasjonsdelen.

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

5. Se deretter etter parameteren allow-query og angi verdien til nettverket ditt, noe som betyr at bare verter på det lokale nettverket ditt kan spørre DNS-serveren.

allow-query  {localhost; 192.168.56.0/24}

Trinn 3: Opprette DNS-sonene for forover og bakover

En Forward Zone er hvor vertsnavnet (eller FQDN) til IP-adresserelasjonene er lagret; den returnerer en IP-adresse ved å bruke vertsnavnet. Merk at vanlige DNS-spørringer er forespørringer. På den annen side returnerer en Omvendt sone FQDN til en vert basert på IP-adressen.

6. For å definere forover- og revers-sonene, legg til følgende linjer på slutten av /etc/named.conf< fil.

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

La oss kort forklare alternativene i sonekonfigurasjonene ovenfor:

  • type: Definerer rollen til denne serveren for sonen. Verdien «master» betyr at det er en autoritativ server der hovedkopien av sonedataene opprettholdes.
  • fil: spesifiserer sonens databasefil.
  • tillat-oppdatering: angir vertene som tillot å sende inn dynamiske DNS-oppdateringer for hovedsoner. Ingen i dette tilfellet.

Trinn 4: Opprette Forward DNS Zone File

7. Først oppretter du en Videresend sone-fil i katalogen /var/named.

vi /var/named/tecmint.lan.db

Legg til følgende konfigurasjon i den.

$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

La oss kort forklare sonedefinisjonen ovenfor og parametrene.

  • TTL: angir levetiden til RR og $TTL-direktivet gir en standard TTL for hver RR uten et spesifikt TTL-sett.
  • @: Det er et alias for domenenavnet (f.eks. tecmint.lan) som er definert i hovedkonfigurasjonsfilen.
  • IN: betyr Internett.
  • SOA: spesifiserer Start of Authority: hvem den autoritative navnetjeneren er (dns-primary.tecmint.lan), administratorens kontaktinformasjon ( admin.tecmint.lan, @-tegnet erstattes av et punktum) og annen relatert informasjon.
  • NS: betyr navneserver.
  • Serial: denne verdien brukes av DNS-serveren for å bekrefte at innholdet i en bestemt sonefil er oppdatert.
  • Oppdater: angir hvor ofte en slave-DNS-server skal utføre en soneoverføring fra masteren.
  • Prøv på nytt: angir hvor ofte en slave skal prøve en mislykket soneoverføring på nytt.
  • Utløp: bestemmer hvor lenge en slaveserver skal vente før den svarer på klientspørsmål når en master ikke kan nås.
  • Minimum: angir minimum TTL for sonen.
  • A: En vertsadresse.

Trinn 5: Opprette omvendt DNS-sonefil

8. På samme måte oppretter du en Omvendt sone-fil i katalogen /var/named.

vi /var/named/tecmint.lan.rev

Legg deretter til følgende linjer i den. Her er PTR det motsatte av A-posten som brukes til å tilordne en IP-adresse til et vertsnavn.

$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. Angi de riktige eierskapstillatelsene på sonefilene som følger.

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

10. Til slutt, sjekk DNS-konfigurasjonen og sonefilene har riktig syntaks etter å ha gjort endringene ovenfor, ved å bruke named-checkconf-verktøyet (ingen ut betyr ingen feil):

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

11. Når du har utført all nødvendig konfigurasjon, må du starte DNS-tjenesten på nytt for at de siste endringene skal tre i kraft.

systemctl restart named

12. Deretter, før noen klienter kan få tilgang til DNS-tjenestekonfigurasjonene på serveren, må du legge til DNS-tjenesten i systembrannmurkonfigurasjonen og laste inn brannmurinnstillingene på nytt ved å bruke brannmur-cmd-verktøyet, som følger :

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

Trinn 6: Testing av DNS-tjeneste fra en klient

13. I denne delen vil vi vise hvordan du tester DNS-tjenesten fra en klientside. Logg inn på klientmaskinen, konfigurer den til å bruke DNS-serveren ovenfor. På et Linux-system åpner du filen /etc/resolve.conf ved å bruke ditt favoritttekstredigeringsprogram.

vi /etc/resolve.conf 

Legg til følgende oppføring i den, som forteller resolveren å bruke den angitte navneserveren.

nameserver  192.168.56.100

Lagre filen og lukk den. Merk at du også må spesifisere DNS-serveren i konfigurasjonsfilen for nettverksgrensesnittet.

14. Legg til DNS-serverens IP 192.168.56.100 som løser til konfigurasjonsfilen for klientmaskinens nettverksgrensesnitt /etc/sysconfig/network-scripts/ifcfg-enp0s3< som vist i følgende 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. Bruk deretter nslookup-verktøyet til å spørre IP-en ved å bruke vertsnavnet og omvendt, for www, mail og docs< servere i nettverket ditt som vist.

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

Sammendrag

I denne artikkelen har vi vist hvordan du installerer og konfigurerer en privat, autoritativ DNS-server på RHEL 8 ved å bruke BIND-programvare. Vi håper alt fungerte bra for deg, ellers send oss dine spørsmål eller andre kommentarer via tilbakemeldingsskjemaet nedenfor.