Netværkstopologi:
Figur 1: netværkstopologi i denne artikel
Her vil jeg konfigurere en CentOS 8-maskine som en DNS-server. CentOS 8-maskinen har en statisk IP-adresse 192.168.20.20. De andre computere på netværket vil kunne få adgang til DNS-serveren for at løse domænenavne.
Opsætning af statisk IP-adresse:
Du skal oprette en statisk IP-adresse på din CentOS 8-maskine, hvis du vil oprette en DNS-server. For at oprette en statisk IP-adresse på CentOS 8, se min artikel Konfiguration af statisk IP på CentOS 8.
Installation af DNS-server på CentOS 8:
BIND 9 er tilgængelig i CentOS 8's officielle pakkeopbevaring. Så det er meget let at installere.
Opdater først DNF-pakkeopbevaringscachen med følgende kommando:
$ sudo dnf makecache
Installer nu BIND 9 med følgende kommando:
$ sudo dnf install bind
Tryk på for at bekræfte installationen Y og tryk derefter på
BIND 9 skal installeres.
Konfiguration af BIND 9 DNS-server:
Hovedkonfigurationen af BIND er / etc / navngivet.konf. Du tilføjer dine brugerdefinerede DNS-databaser i / var / navngivet / vejviser. Når DNS-databaserne er oprettet, tilføjer du dine brugerdefinerede zonefiler i / etc / named / mappe og inkludere zonefiler i / etc / navngivet.konf konfigurationsfil. Det er dybest set, hvordan du konfigurerer BIND 9 DNS-server.
Lad os oprette en DNS-database til linuxhint.lokal domænenavn.
Opret en ny fil db.linuxhint.lokal i / var / navngivet / katalog som følger:
$ sudo vim / var / named / db.linuxhint.lokal
Skriv nu de følgende linjer i db.linuxhint.lokal fil, og gem filen.
$ TTL 1d$ ORIGIN linuxhint.lokal.
@ IN SOA ns rod (
2020031201; Seriel
12 timer; Opdater
15m; Prøve igen
3w; Udløbe
2 timer; Minimum
)
@ IN A 192.168.20.20
@ IN NS ns
ns I A 192.168.20.20
@ IN MX 10 mail
mail IN A 192.168.20.20
hjælp 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 I CNAME www
Når du har tilføjet en DNS-database til linuxhint.lokal domæne, kan du kontrollere, om filsyntaks er i orden med følgende kommando:
$ sudo navngivet-checkzone linuxhint.lokal / var / navngivet / db.linuxhint.lokal
Som du kan se, er der ingen syntaksfejl. Hvis der er nogen, vil du se de respektive fejlmeddelelser.
Opret nu en zonefil linuxhint.lokal.zoner i / etc / named / mappe til linuxhint.lokal domæne som følger:
$ sudo vim / etc / named / linuxhint.lokal.zoner
Skriv nu de følgende linjer i linuxhint.lokal.zoner fil.
zone "linuxhint.lokale "INtype master;
fil "db.linuxhint.lokal";
;
Rediger nu / etc / navngivet.konf fil som følger:
$ sudo vim / etc / named.konf
Først skal du tilføje dit netværksundernet til tilladelsesforespørgsel. Ellers vil ingen af computerne i dit netværk kunne bruge DNS-serveren.
Netværksundernettet er 192.168.20.0/24. Så dette er hvad jeg har tilføjet der.
Du skal også tilføje IP-adressen på din CentOS 8-maskine, som du konfigurerer som en DNS-server som lyt til adresse. I mit tilfælde er det 192.168.20.20. Så jeg har tilføjet det der.
Endelig inkludere linuxhint.lokal.zoner fil fra / etc / named / bibliotek i slutningen af / etc / navngivet.konf fil med følgende linje.
inkluderer "/ etc / named / linuxhint.lokal.zoner ";
Start nu som hedder service med følgende kommando:
$ sudo systemctl start navngivet
Som du kan se, er som hedder tjenesten kører.
$ sudo systemctl status navngivet
Føj også den navngivne tjeneste til systemstart af CentOS 8. Så DNS-serveren starter automatisk ved opstart.
$ sudo systemctl aktivering navngivet
Hvis du foretager ændringer i konfigurationsfilen til DNS-serveren efter start af som hedder service, skal du genstarte som hedder service for at ændringerne skal træde i kraft.
For at genstarte som hedder service, kør følgende kommando:
$ sudo systemctl genstart navngivetTest af DNS-server:
Du kan teste DNS-navneserveren ved hjælp af grave.
Sådan kontrolleres, om DNS-serveren lytter på den udgående netværksgrænseflade, som følger:
$ dig @ 192.168.20.20 linuxhint.lokale nogen
Store! DNS-serveren er tilgængelig fra den udgående netværksgrænseflade i CentOS 8.
DNS-navneserveren er også tilgængelig lokalt til CentOS 8-maskinen.
$ dig @localhost linuxhint.lokale nogen
Jeg kan også løse www.linuxhint.lokal som du kan se på skærmbilledet nedenfor.
$ dig @ 127.0.0.1 www.linuxhint.lokal
Ændring af DNS-serveradressen til netværksgrænsefladen:
Nu kan du ændre DNS-serveradressen på din netværksgrænseflade for at bruge den lokale DNS-server som standard. Se min artikel Konfiguration af statisk IP på CentOS 8 for en detaljeret instruktion om, hvordan du gør det.
Som du kan se, kan BIND løse internetdomænenavne.
BIND kan også løse det lokalt konfigurerede domæne linuxhint.lokal
Konfiguration af firewall:
For at tillade DNS-anmodninger gennem firewallen skal du åbne DNS-serverporten 53 med følgende kommando:
$ sudo firewall-cmd --add-service = dns --permanent
For at ændringerne skal træde i kraft, skal du køre følgende kommando:
$ sudo firewall-cmd --reload
Test af DNS-serveren fra andre computere:
Jeg har konfigureret en Windows 10-maskine på det samme netværksundernet til at bruge den DNS-server, jeg lige har konfigureret på CentOS 8-maskinen.
Som du kan se, er DNS-opløsningen for linuxhint.lokal underdomæner fungerer.
$ nslookup ns.linuxhint.lokal$ nslookup support.linuxhint.lokal
$ nslookup www.linuxhint.lokal
$ nslookup-mail.linuxhint.lokal
Så det er sådan, du konfigurerer BIND 9 DNS-server på CentOS 8. Tak, fordi du læste denne artikel.