Nettverkstopologi:
Figur 1: nettverkstopologi for denne artikkelen
Her vil jeg konfigurere en CentOS 8-maskin som en DNS-server. CentOS 8-maskinen har en statisk IP-adresse 192.168.20.20. De andre datamaskinene i nettverket vil kunne få tilgang til DNS-serveren for å løse domenenavn.
Sette opp statisk IP-adresse:
Du må sette opp en statisk IP-adresse på CentOS 8-maskinen din hvis du vil konfigurere en DNS-server. For å sette opp en statisk IP-adresse på CentOS 8, sjekk artikkelen min Konfigurere statisk IP på CentOS 8.
Installere DNS-server på CentOS 8:
BIND 9 er tilgjengelig i det offisielle pakkelageret til CentOS 8. Så det er veldig enkelt å installere.
Oppdater først DNF-pakkeoppbevaringsbufferen med følgende kommando:
$ sudo dnf makecache
Installer nå BIND 9 med følgende kommando:
$ sudo dnf install bind
Trykk på for å bekrefte installasjonen Y og trykk deretter på
BIND 9 skal installeres.
Konfigurere BIND 9 DNS-server:
Hovedkonfigurasjonen av BIND er / etc / navngitt.konf. Du legger til dine egendefinerte DNS-databaser i / var / heter / katalog. Når DNS-databasene er opprettet, legger du til dine egendefinerte sonefiler i / etc / heter / katalogen og inkluderer sonefilene i / etc / navngitt.konf konfigurasjonsfil. Det er i utgangspunktet hvordan du konfigurerer BIND 9 DNS-server.
La oss lage en DNS-database for linuxhint.lokal domenenavn.
Opprett en ny fil db.linuxhint.lokal i / var / heter / katalog som følger:
$ sudo vim / var / named / db.linuxhint.lokal
Skriv inn følgende linjer i db.linuxhint.lokal filen og lagre filen.
$ TTL 1d$ ORIGIN linuxhint.lokal.
@ IN SOA ns root (
2020031201; Seriell
12t; Forfriske
15m; Prøv på nytt
3w; Utløpe
2t; Minimum
)
@ IN A 192.168.20.20
@ IN NS ns
ns I A 192.168.20.20
@ IN MX 10 mail
post IN A 192.168.20.20
hjelp IN A 192.168.20.111
støtte IN A 192.168.20.112
www IN A 192.168.10.12
router IN A 192.168.2.1
ftp IN CNAME www
Når du har lagt til en DNS-database for linuxhint.lokal domene, kan du sjekke om filsyntaks er i orden med følgende kommando:
$ sudo named-checkzone linuxhint.lokal / var / navngitt / db.linuxhint.lokal
Som du kan se, er det ingen syntaksfeil. Hvis det er noen, vil du se respektive feilmeldinger.
Lag nå en sonefil linuxhint.lokal.soner i / etc / heter / katalog for linuxhint.lokal domene som følger:
$ sudo vim / etc / named / linuxhint.lokal.soner
Skriv inn følgende linjer i linuxhint.lokal.soner fil.
sone "linuxhint.lokal "INtype master;
fil "db.linuxhint.lokal ";
;
Nå, rediger / etc / navngitt.konf filen som følger:
$ sudo vim / etc / named.konf
Først må du legge til nettverksundernettet ditt tillatelsesforespørsel. Ellers vil ingen av datamaskinene i nettverket ditt kunne bruke DNS-serveren.
Nettverksnettverket er 192.168.20.0/24. Så dette er det jeg har lagt til der.
Du må også legge til IP-adressen til CentOS 8-maskinen din som du konfigurerer som en DNS-server som hør på adresse. I mitt tilfelle er det det 192.168.20.20. Så jeg har lagt den til der.
Til slutt inkluderer du linuxhint.lokal.soner fil fra / etc / heter / katalog på slutten av / etc / navngitt.konf filen med følgende linje.
inkluderer "/ etc / named / linuxhint.lokal.soner ";
Nå starter du heter tjenesten med følgende kommando:
$ sudo systemctl start navngitt
Som du kan se, er heter tjenesten kjører.
$ sudo systemctl status navngitt
Legg også til den navngitte tjenesten til systemoppstart av CentOS 8. Så, DNS-serveren starter automatisk ved oppstart.
$ sudo systemctl aktivere navngitt
Hvis du gjør endringer i konfigurasjonsfilen for DNS-serveren etter at du har startet heter tjenesten, må du starte heter tjeneste for at endringene skal tre i kraft.
Å starte på nytt heter service, kjør følgende kommando:
$ sudo systemctl start navngittTesting av DNS-server:
Du kan teste DNS-navneserveren ved hjelp av grave.
Slik kontrollerer du om DNS-serveren lytter på det utgående nettverksgrensesnittet:
$ dig @ 192.168.20.20 linuxhint.lokale noen
Flott! DNS-serveren er tilgjengelig fra det utgående nettverksgrensesnittet til CentOS 8.
DNS-navneserveren er også tilgjengelig lokalt for CentOS 8-maskinen.
$ dig @localhost linuxhint.lokale noen
Jeg kan også løse www.linuxhint.lokal som du kan se på skjermbildet nedenfor.
$ dig @ 127.0.0.1 www.linuxhint.lokal
Endre DNS-serveradressen til nettverksgrensesnittet:
Nå kan du endre DNS-serveradressen til nettverksgrensesnittet for å bruke den lokale DNS-serveren som standard. Sjekk artikkelen min Konfigurere statisk IP på CentOS 8 for en detaljert instruksjon om hvordan du gjør det.
Som du kan se, kan BIND løse Internett-domenenavnene.
BIND kan også løse det lokalt konfigurerte domenet linuxhint.lokal
Konfigurere brannmuren:
Nå, for å tillate DNS-forespørsler gjennom brannmuren, åpner du DNS-serverporten 53 med følgende kommando:
$ sudo firewall-cmd --add-service = dns --permanent
For at endringene skal tre i kraft, kjør følgende kommando:
$ sudo firewall-cmd --reload
Testing av DNS-serveren fra andre datamaskiner:
Jeg har konfigurert en Windows 10-maskin på samme nettverksdelnett for å bruke DNS-serveren jeg nettopp har konfigurert på CentOS 8-maskinen.
Som du kan se, er DNS-oppløsningen for linuxhint.lokal underdomener fungerer.
$ nslookup ns.linuxhint.lokal$ nslookup-støtte.linuxhint.lokal
$ nslookup www.linuxhint.lokal
$ nslookup-e-post.linuxhint.lokal
Så det er slik du konfigurerer BIND 9 DNS-server på CentOS 8. Takk for at du leser denne artikkelen.