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:
- RHEL 8 med minimal installasjon
- RHEL 8 med RedHat-abonnement aktivert
- 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.