Nätverks topologi:
Figur 1: nätverkstopologi för denna artikel
Här konfigurerar jag en CentOS 8-maskin som en DNS-server. CentOS 8-maskinen har en statisk IP-adress 192.168.20.20. De andra datorerna i nätverket kommer att kunna komma åt DNS-servern för att lösa domännamn.
Ställa in statisk IP-adress:
Du måste ställa in en statisk IP-adress på din CentOS 8-maskin om du vill konfigurera en DNS-server. För att ställa in en statisk IP-adress på CentOS 8, se min artikel Konfigurera statisk IP på CentOS 8.
Installera DNS-server på CentOS 8:
BIND 9 finns i det officiella paketförvaret för CentOS 8. Så det är väldigt enkelt att installera.
Uppdatera först DNF-paketförvarets cache med följande kommando:
$ sudo dnf makecache
Installera nu BIND 9 med följande kommando:
$ sudo dnf install bind
För att bekräfta installationen, tryck på Y och tryck sedan på
BIND 9 ska installeras.
Konfigurera BIND 9 DNS-server:
Huvudkonfigurationen för BIND är / etc / namngiven.konf. Du lägger till dina anpassade DNS-databaser i / var / heter / katalog. När DNS-databaserna har skapats lägger du till dina anpassade zonfiler i / etc / heter / katalogen och inkludera zonfilerna i / etc / namngiven.konf konfigurationsfil. Det är i princip hur du konfigurerar BIND 9 DNS-server.
Låt oss skapa en DNS-databas för linuxhint.lokal domän namn.
Skapa en ny fil db.linuxhint.lokal i / var / heter / katalog enligt följande:
$ sudo vim / var / named / db.linuxhint.lokal
Skriv nu in följande rader i db.linuxhint.lokal fil och spara filen.
$ TTL 1d$ ORIGIN linuxhint.lokal.
@ IN SOA ns root (
2020031201; Serie
12h; Uppdatera
15m; Försök igen
3w; Upphöra
2h; Minimum
)
@ IN A 192.168.20.20
@ IN NS ns
ns IN A 192.168.20.20
@ IN MX 10 post
post I A 192.168.20.20
hjälp IN A 192.168.20.111
stöd 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 till en DNS-databas för linuxhint.lokal domän kan du kontrollera om filsyntaxen är okej med följande kommando:
$ sudo heter-checkzone linuxhint.lokal / var / namngiven / db.linuxhint.lokal
Som du kan se finns det inga syntaxfel. Om det finns några kommer du att se respektive felmeddelanden.
Skapa nu en zonfil linuxhint.lokal.zoner i / etc / heter / katalog för linuxhint.lokal domän enligt följande:
$ sudo vim / etc / named / linuxhint.lokal.zoner
Skriv nu in följande rader i linuxhint.lokal.zoner fil.
zon "linuxhint.lokal "INtyp master;
fil "db.linuxhint.lokal";
;
Redigera nu / etc / namngiven.konf filen enligt följande:
$ sudo vim / etc / named.konf
Först måste du lägga till ditt nätverksundernät till tillåt-fråga. Annars kommer ingen av datorerna i ditt nätverk att kunna använda DNS-servern.
Nätverkets undernät är 192.168.20.0/24. Så det här är vad jag har lagt till där.
Du måste också lägga till IP-adressen till din CentOS 8-maskin som du konfigurerar som en DNS-server som lyssna på adress. I mitt fall är det 192.168.20.20. Så jag har lagt till det där.
Slutligen inkludera linuxhint.lokal.zoner fil från / etc / heter / katalog i slutet av / etc / namngiven.konf fil med följande rad.
inkludera "/ etc / named / linuxhint.lokal.zoner ";
Börja nu som heter tjänst med följande kommando:
$ sudo systemctl start namngiven
Som du kan se som heter tjänsten körs.
$ sudo systemctl status namngiven
Lägg också till den namngivna tjänsten till systemstart av CentOS 8. Så DNS-servern startar automatiskt vid start.
$ sudo systemctl aktiverad namngiven
Om du gör några ändringar i konfigurationsfilen för DNS-servern efter att du startat som heter måste du starta om som heter för att ändringarna ska träda i kraft.
För att starta om som heter tjänst, kör följande kommando:
$ sudo systemctl starta om namngivenTesta DNS-server:
Du kan testa DNS-namnservern med gräv.
Så här kontrollerar du om DNS-servern lyssnar på det utgående nätverksgränssnittet:
$ dig @ 192.168.20.20 linuxhint.lokal någon
Bra! DNS-servern är tillgänglig från det utgående nätverksgränssnittet i CentOS 8.
DNS-namnservern är också tillgänglig lokalt för CentOS 8-maskinen.
$ dig @localhost linuxhint.lokal någon
Jag kan också lösa www.linuxhint.lokal som du kan se på skärmdumpen nedan.
$ dig @ 127.0.0.1 www.linuxhint.lokal
Ändra DNS-serveradress för nätverksgränssnitt:
Nu kan du ändra DNS-serverns adress i ditt nätverksgränssnitt för att använda den lokala DNS-servern som standard. Kontrollera min artikel Konfigurera statisk IP på CentOS 8 för en detaljerad instruktion om hur du gör det.
Som du kan kan BIND lösa internetdomännamnen.
BIND kan också lösa den lokalt konfigurerade domänen linuxhint.lokal
Konfigurera brandväggen:
För att tillåta DNS-förfrågningar genom brandväggen, öppna DNS-serverporten 53 med följande kommando:
$ sudo firewall-cmd --add-service = dns --permanent
För att ändringarna ska träda i kraft, kör följande kommando:
$ sudo firewall-cmd --reload
Testa DNS-servern från andra datorer:
Jag har konfigurerat en Windows 10-maskin på samma nätverksundernät för att använda DNS-servern som jag just har konfigurerat på CentOS 8-maskinen.
Som du kan se, är DNS-upplösningen för linuxhint.lokal underdomäner fungerar.
$ nslookup ns.linuxhint.lokal$ nslookup support.linuxhint.lokal
$ nslookup www.linuxhint.lokal
$ nslookup-e-post.linuxhint.lokal
Så det är så du konfigurerar BIND 9 DNS-server på CentOS 8. Tack för att du läste den här artikeln.