HVORDAN Konfigurere BIND som Et PRIVAT NETTVERK DNS-Server På CentOS 7

Introduksjon

en viktig del av å administrere serverkonfigurasjon og infrastruktur inkluderer å opprettholde en enkel måte å slå opp nettverksgrensesnitt og IP-adresser etter navn, ved å sette opp et riktig Domenenavnsystem (DNS). Bruk av fullt kvalifiserte domenenavn (fqdn), i stedet FOR IP-adresser, for å angi nettverksadresser, letter konfigurasjonen av tjenester og applikasjoner, og øker vedlikeholdet av konfigurasjonsfiler. Å sette OPP DIN EGEN DNS for ditt private nettverk er en fin måte å forbedre styringen av serverne dine.I denne opplæringen vil vi gå over hvordan du setter opp en intern DNS-server, ved HJELP AV BIND name server-programvaren (BIND9) På CentOS 7, som kan brukes av Dine Virtuelle Private Servere (VPS) for å løse private vertsnavn og private IP-adresser. Dette gir en sentral måte å administrere dine interne vertsnavn og private IP-adresser, noe som er uunnværlig når miljøet utvides til mer enn noen få verter.

Ubuntu-versjonen av denne opplæringen finner du her.

Forutsetninger

for å fullføre denne opplæringen trenger du følgende:

  • Noen servere som kjører i samme datasenter og har privat nettverk aktivert
  • en ny VPS for Å fungere Som Primær DNS-server, ns1
  • Valgfritt: en ny VPS for Å fungere Som En Sekundær DNS-server, ns2
  • Root-tilgang til alle de ovennevnte (trinn 1-4 her)

hvis du ikke er kjent med dns-Konsepter, anbefales Det At du leser minst de tre første delene av vår introduksjon til å administrere dns.

Eksempel Verter

for eksempel vil vi anta følgende:

  • Vi har to eksisterende VPS kalt «host1″ og»host2»
  • begge VPS finnes i nyc3 datacenter
  • BEGGE VPS har privat nettverk aktivert (og er på 10.128.0.0/16 subnett)
  • Begge VPS er noe relatert til vår webapplikasjon som kjører på «example.com»

med disse antagelsene bestemmer vi at det er fornuftig å bruke et navnesystem som bruker «nyc3.example.com» for å referere til vårt private delnett eller sone. Derfor vil host1s private Fullt Kvalifiserte Domenenavn (FQDN) være «host1.nyc3.example.com». Se følgende tabell de relevante detaljene:

Vert

Rolle Privat FQDN Privat IP-Adresse
host1 generisk vert 1 host1.nyc3.example.com 10.128.100.101
host2 Generisk Vert 2 host2.nyc3.example.com 10.128.200.102

Merk: ditt eksisterende oppsett vil være annerledes, men eksempelnavnene og IP-adressene vil bli brukt til å demonstrere hvordan du konfigurerer EN DNS-server for å gi en fungerende intern DNS. Du bør enkelt kunne tilpasse dette oppsettet til ditt eget miljø ved å erstatte vertsnavn og private IP-adresser med ditt eget. Det er ikke nødvendig å bruke regionnavnet til datasenteret i navneordningen din, men vi bruker det her for å betegne at disse vertene tilhører et bestemt datasenters private nettverk. Hvis du bruker flere datasentre, kan du sette opp en intern DNS i hvert respektive datasenter.

Vårt Mål

ved slutten av denne opplæringen vil vi ha en primær DNS-server, ns1, og eventuelt en sekundær DNS-server, ns2, som vil fungere som en sikkerhetskopi.

her er en tabell med eksempel navn OG IP-adresser:

Vert Rolle Privat FQDN Privat IP-Adresse
ns1 primær dns-server ns1.nyc3.example.com 10.128.10.11
ns2 Sekundær DNS-Server ns2.nyc3.example.com 10.128.20.12

la oss komme i gang ved å installere Vår Primære DNS-server, ns1.

Installer BIND på DNS-Servere

Merk: Tekst som er uthevet i rødt er viktig! Det vil ofte bli brukt til å betegne noe som må byttes ut med dine egne innstillinger, eller at det skal endres eller legges til en konfigurasjonsfil. For eksempel, hvis du ser noe som host1.nyc3.eksempel.com, erstatte DEN MED FQDN av din egen server. På samme måte, hvis du ser host1_private_IP, erstatt den med den private IP-adressen til din egen server.

på BEGGE DNS-servere, ns1 og ns2, installer BIND med yum:

  • sudo yum install bind bind-utils

Bekreft meldingen ved å skrive inny.

NÅ SOM BIND er installert, la oss konfigurere den primære DNS-serveren.

Konfigurer Primær DNS-Server

BIND konfigurasjon består av flere filer, som er inkludert fra hovedkonfigurasjonsfilen, named.conf. Disse filnavnene begynner med «navngitt» fordi det er navnet på prosessen SOM BIND kjører. Vi starter med å konfigurere alternativfilen.

Konfigurer Bind

BIND prosess er kjent som navngitt. Som sådan refererer mange av filene til» navngitt «i stedet for «BIND».

på ns1 åpner du named.conf filen for redigering:

  • sudo vi /etc/named.conf

Over den eksisterende options blokken, opprett en NY ACL-blokk kalt «klarert». Det er her vi vil definere liste over klienter som vi vil tillate rekursive DNS-spørringer fra (dvs. dine servere som er i samme datasenter som ns1). Ved hjelp av våre eksempel private IP-adresser, vil vi legge til ns1, ns2, host1 og host2 til vår liste over klarerte kunder:

/etc/named.conf — 1 av 4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

nå som vi har vår liste over klarerte DNS-klienter, vil vi redigereoptions blokken. Legg til den private IP-adressen til ns1 ilisten-on port 53 – direktivet, og kommenter listen-on-v6 – linjen:

/etc / navngitt.conf-2 av 4
options { listen-on port 53 { 127.0.0.1; 10.128.10.11; };# listen-on-v6 port 53 { ::1; };...

under disse oppføringene endrer duallow-transfer direktivet til fra «ingen» til ns2s private IP-adresse. Endre også allow-query direktivet fra «localhost» til «trusted»:

/etc / named.conf-3 av 4

på slutten av filen legger du til følgende linje:

/etc / named.conf-4 av 4
include "/etc/named/named.conf.local";

lagre og avsluttnamed.conf. Ovennevnte konfigurasjon angir at bare dine egne servere (de» klarerte») vil kunne spørre DNS-serveren din.

Deretter konfigurerer vi den lokale filen, for å spesifisere VÅRE DNS-soner.

Konfigurer Lokal Fil

på ns1 åpner dunamed.conf.local fil for redigering:

  • sudo vi /etc/named/named.conf.local

filen skal være tom. Her vil vi spesifisere våre forover og bakover soner.

Legg frem sone med følgende linjer (erstatt sonenavnet med ditt eget):

/etc/named/named.conf.lokal — 1 av 2
zone "nyc3.example.com" { type master; file "/etc/named/zones/db.nyc3.example.com"; # zone file path};

Forutsatt at vårt private delnett er 10.128.0.0/16, legg til omvendt sone med følgende linjer (merk at vårt omvendte sonenavn starter med «128.10 «som er oktett reversering av»10.128»):

/etc/named/named.conf.local-2 of 2
zone "128.10.in-addr.arpa" { type master; file "/etc/named/zones/db.10.128"; # 10.128.0.0/16 subnet };

hvis serverne dine spenner over flere private delnett, men er i samme datasenter, må du angi en ekstra sone – og sonefil for hvert distinkte delnett. Når du er ferdig med å legge til alle dine ønskede soner, lagre og avslutt named.conf.local fil.

Nå som våre soner er spesifisert I BIND, må vi opprette de tilsvarende frem og tilbake sonefilene.

Opprett Frem Sonefil

frem sonefilen er der vi definerer DNS-poster for FREM DNS-oppslag. Det vil si, NÅR DNS mottar et navn spørring, «host1.nyc3.example.com» for eksempel vil det se i fremoversonefilen for å løse host1s tilsvarende private IP-adresse.

La oss opprette katalogen der sonefilene våre skal ligge. Ifølge vår navngitte.conf.lokal konfigurasjon, den plasseringen skal være /etc/named/zones:

  • sudo chmod 755 /etc/named
  • sudo mkdir /etc/named/zones

la Oss nå redigere vår fremadrettede sonefil:

  • sudo vi /etc/named/zones/db.nyc3.example.com

Først vil DU legge TIL SOA-posten. Erstatt den uthevede ns1 FQDN med din EGEN FQDN, og erstatt den andre «nyc3.example.com» med ditt eget domene. Hver gang du redigerer en sonefil, bør du øke serieverdien før du starternamed prosessen – vi vil øke den til «3». Det skal se slik ut:

/etc/named/zones/db.nyc3.eksempel.com — 1 av 3

deretter legger du til navneserverposter med følgende linjer (erstatt navnene med dine egne). Merk at den andre kolonnen angir at disse er» NS » – poster:

/etc / named / zones / db. nyc3.example. com — 2 av 3

; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

Legg Deretter Til a-postene for vertene dine som tilhører denne sonen. Dette inkluderer enhver server hvis navn vi ønsker å avslutte med «.nyc3.example.com » (erstatte navn OG private IP-adresser). Ved hjelp av våre eksempel navn OG private IP-adresser, vi vil legge til en poster for ns1, ns2, host1, og host2 som så:

/etc/named/zones/db.nyc3.example.com — 3 av 3

Lagre og avslutt db.nyc3.example.com – filen.

Vårt siste eksempel fremover sonefil ser slik ut:

/ etc / named / zones / db. nyc3.example.com — complete

la Oss nå flytte til omvendt sonefil(er).

Opprett Omvendt Sonefil (er)

Omvendt sonefil er der vi definerer DNS PTR-poster for omvendte DNS-oppslag. Det vil si når DNS mottar en spørring ETTER IP-adresse, » 10.128.100.101 «for eksempel, vil den se i omvendt sonefil(er) for å løse den tilsvarende FQDN,» host1.nyc3.example.com » i dette tilfellet.

på ns1, for hver omvendt sone spesifisert inamed.conf.local fil, opprett en omvendt sonefil.

Rediger omvendt sonefil som tilsvarer omvendt sone (er) definert i named.conf.local:

  • sudo vi /etc/named/zones/db.10.128

på samme måte som den fremre sonefilen, erstatt den uthevede ns1 FQDN med din EGEN FQDN, og erstatt den andre «nyc3.example.com» med ditt eget domene. Hver gang du redigerer en sonefil, bør du øke serieverdien før du starternamed prosessen – vi vil øke den til «3». Det skal se slik ut:

/etc/named/zones/db.10.128 – 1 av 3

deretter legger du til navneserverposter med følgende linjer (erstatt navnene med dine egne). Merk at den andre kolonnen angir at disse er» NS » – poster:

/ etc / named / zones / db.10.128-2 av 3
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

legg deretter til PTR poster for alle serverne DINE HVIS IP-adresser er på delnettet til sonefilen du redigerer. I vårt eksempel inkluderer dette alle våre verter fordi de er alle på 10.128.0.0/16 delnett. Merk at den første kolonnen består av de to siste oktettene av serverens private IP-adresser i omvendt rekkefølge. Pass på å erstatte navn OG private IP-adresser for å matche serverne dine:

/ etc / named / zones / db.10.128-3 av 3

Lagre og avslutt omvendt sonefil (gjenta denne delen hvis du må legge til flere omvendte sonefiler).

Vårt siste eksempel omvendt sonefil ser slik ut:

/ etc / named / zones / db.10.128-complete

Sjekk BIND Configuration Syntaks

Kjør følgende kommando for å sjekke syntaksen tilnamed.conf* filer:

  • sudo named-checkconf

hvis de navngitte konfigurasjonsfilene dine ikke har syntaksfeil, kommer du tilbake til shell-meldingen din og ser ingen feilmeldinger. Hvis det er problemer med konfigurasjonsfilene, se gjennom feilmeldingen Og Konfigurer Primær DNS-Server-delen, og prøv named-checkconf igjen.

kommandoennamed-checkzone kan brukes til å kontrollere riktigheten av sonefilene dine. Det første argumentet angir et sonenavn, og det andre argumentet angir den tilsvarende sonefilen, som begge er definert i named.conf.local.

for eksempel, for å sjekke «nyc3.example.com» forward zone configuration, kjør følgende kommando (endre navnene for å matche din fremover sone og fil):

  • sudo named-checkzone nyc3.example.com /etc/named/zones/db.nyc3.example.com

og for å sjekke «128.10.in-addr.arpa» omvendt sonekonfigurasjon, kjør følgende kommando (endre tallene for å matche omvendt sone og fil):

  • sudo named-checkzone 128.10.in-addr.arpa /etc/named/zones/db.10.128

når alle konfigurasjons-og sonefiler ikke har noen feil i dem, bør du være klar til å starte BIND-tjenesten PÅ NYTT.

Start BIND

Start BIND:

  • sudo systemctl start named

nå vil du aktivere det, så det vil starte på boot:

  • sudo systemctl enable named

din primære DNS-server er nå oppsett og klar til å svare PÅ DNS-spørringer. La oss fortsette å opprette den sekundære DNS-serveren.

Konfigurer Sekundær DNS-Server

i de fleste miljøer er det lurt å sette opp en sekundær DNS-server som vil svare på forespørsler hvis primær blir utilgjengelig. Heldigvis er den sekundære DNS-serveren mye enklere å konfigurere.

på ns2, rediger named.conf fil:

  • sudo vi /etc/named.conf

Merk: hvis du foretrekker å hoppe over disse instruksjonene, kan du kopiere ns1s named.conf fil og endre den for å lytte på ns2s private IP-adresse, og ikke tillate overføringer.

Over den eksisterendeoptions blokk, opprett en NY ACL-blokk kalt «klarert». Det er her vi vil definere liste over klienter som vi vil tillate rekursive DNS-spørringer fra (dvs.dine servere som er i samme datasenter som ns1). Ved hjelp av våre eksempel private IP-adresser, vil vi legge til ns1, ns2, host1 og host2 til vår liste over klarerte kunder:

/etc/named.conf — 1 av 4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

nå som vi har vår liste over klarerte DNS-klienter, vil vi redigereoptions blokken. Legg til den private IP-adressen til ns1 ilisten-on port 53 – direktivet, og kommenter listen-on-v6 – linjen:

/etc / navngitt.conf-2 av 4
options { listen-on port 53 { 127.0.0.1; 10.128.20.12; };# listen-on-v6 port 53 { ::1; };...

Endre allow-query direktivet fra «localhost»til » trusted»:

/etc/navngitt.conf-3 av 4
...options {... allow-query { trusted; }; # allows queries from "trusted" clients...

på slutten av filen legger du til følgende linje:

/etc / named.conf-4 av 4
include "/etc/named/named.conf.local";

lagre og avsluttnamed.conf. Ovennevnte konfigurasjon angir at bare dine egne servere (de» klarerte») vil kunne spørre DNS-serveren din.

Deretter konfigurerer vi den lokale filen, for å spesifisere VÅRE DNS-soner.

Lagre og avslutt named.conf.

rediger nånamed.conf.local fil:

  • sudo chmod 755 /etc/named
  • sudo vi /etc/named/named.conf.local

Definer slavesoner som tilsvarer hovedsonene på DEN primære DNS-serveren. Merk at typen er «slave», filen inneholder ikke en bane, og det er etmasters – direktiv som skal settes til den primære DNS-serverens private IP. Hvis du definerte flere omvendte soner i den primære DNS-serveren, må du legge til dem alle her:

/ etc / named / named.conf.lokal

lagre og avslutt named.conf.local.

Kjør følgende kommando for å sjekke gyldigheten av konfigurasjonsfilene dine:

  • sudo named-checkconf

NÅR DET sjekker ut, start BIND:

  • sudo systemctl start named

Aktiver BIND for å starte ved oppstart:

sudo systemctl enable named

nå har DU primære og sekundære dns-servere for privat Nettverksnavn og ip-adresseoppløsning. Nå må du konfigurere serverne dine for å bruke dine private DNS-servere.

Konfigurer DNS-Klienter

før alle serverne Dine I» trusted » ACL kan spørre DNS-serverne dine, må du konfigurere HVER AV DEM til å bruke ns1 og ns2 som navneservere. Denne prosessen varierer avhengig AV OS, men for De Fleste Linux-distribusjoner innebærer det å legge til navnetjenerne til/etc/resolv.conf – filen.

CentOS Klienter

På CentOS, RedHat, Og Fedora Linux VPS, bare redigereresolv.conf fil:

  • sudo vi /etc/resolv.conf

legg deretter til følgende linjer ØVERST i filen (erstatt ditt private domene og ns1 og ns2 private IP-adresser):

/etc/resolv.conf
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address

lagre og avslutt nå. Klienten din er nå konfigurert til å bruke DNS-serverne dine.

Ubuntu Klienter

På Ubuntu Og Debian Linux VPS, kan du redigerehead fil, som er prepended tilresolv.conf ved oppstart:

  • sudo vi /etc/resolvconf/resolv.conf.d/head

Legg til følgende linjer i filen (erstatt ditt private domene og ns1 og ns2 private IP-adresser):

/etc/resolvconf/resolv.conf.d/head
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address

kjør nå resolvconf for å generere en ny resolv.conf fil:

  • sudo resolvconf -u

klienten er nå konfigurert til Å bruke DNS servere.

Testklienter

Bruk nslookup

Forward Lookup

for eksempel kan vi utføre et forward lookup for å hente IP-adressen til host1.nyc3.example.com ved å kjøre følgende kommando:

  • nslookup host1

Spørring «host1» utvides til «host1.nyc3.example.com på grunn av search er alternativet satt til ditt private underdomene, OG DNS-spørringer vil forsøke å se på det underdomenet før de ser etter verten andre steder. Utgangen av kommandoen ovenfor vil se ut som følgende:

Output:
Server: 10.128.10.11Address: 10.128.10.11#53Name: host1.nyc3.example.comAddress: 10.128.100.101

Omvendt Oppslag

for å teste omvendt oppslag, spør DNS-serveren med host1s private IP-adresse:

  • nslookup 10.128.100.101

du bør se utdata som ser ut som følgende:

Output:
Server: 10.128.10.11Address: 10.128.10.11#5311.10.128.10.in-addr.arpa name = host1.nyc3.example.com.

hvis alle navnene og ip-adressene løses til de riktige verdiene, betyr det at sonefilene dine er konfigurert riktig. Hvis du mottar uventede verdier, må du kontrollere sonefilene på den primære DNS-serveren (f. eks. db.nyc3.example.com og db.10.128).

Gratulerer! Dine interne DNS-servere er nå satt opp riktig! Nå vil vi dekke opprettholde sonen poster.

Opprettholde DNS-Poster

Nå som du har en fungerende intern DNS, må DU opprettholde DNS-postene dine slik at de nøyaktig gjenspeiler servermiljøet ditt.

Legge Til Vert TIL DNS

når du legger til en vert i miljøet ditt (i samme datasenter), vil du legge det til DNS. Her er en liste over trinn som du må ta:

Primær Navneserver

  • forward zone file: Legg til en «a» – post for den nye verten, øk verdien Av «Serial»
  • Omvendt sonefil: Legg til EN «PTR» – post for den nye verten, øk verdien av «Serial»
  • Legg til den nye vertsens private IP-adresse til «trusted» ACL (named.conf.options)

Last Bind På Nytt:

  • sudo systemctl reload named

sekundær Navneserver

  • legg TIL DIN nye VERTS private ip-adresse til «trusted» acl (named.conf.options)

last deretter bind på nytt:

  • sudo systemctl reload named

Konfigurer Ny Vert for Å Bruke DNS

  • Konfigurer resolv.conf for å bruke DNS-serverne
  • Test ved hjelp av nslookup

Fjerne Vert FRA DNS

hvis du fjerner en vert fra miljøet ditt eller bare vil ta DET ut AV DNS, fjerner du bare alle tingene som ble lagt til da du la til serveren TIL DNS (dvs.omvendt av trinnene ovenfor).

Konklusjon

Nå kan du referere til serverens private nettverksgrensesnitt etter navn, i stedet FOR IP-adresse. Dette gjør konfigurering av tjenester og applikasjoner enklere fordi du ikke lenger trenger å huske de private IP-adressene, og filene blir lettere å lese og forstå. Nå kan du også endre konfigurasjonene dine for å peke på en ny server på ett sted, din primære DNS-server, i stedet for å måtte redigere en rekke distribuerte konfigurasjonsfiler, noe som letter vedlikeholdet.

Når du har din interne DNS satt opp, og konfigurasjonsfilene dine bruker private FQDNs for å angi nettverkstilkoblinger, er DET viktig at DNS-serverne dine er ordentlig vedlikeholdt. Hvis begge blir utilgjengelige, vil tjenestene og programmene som er avhengige av dem, slutte å fungere skikkelig. DERFOR anbefales DET å sette OPP DNS med minst en sekundær server, og for å opprettholde sikkerhetskopier av dem alle.

Related Posts

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *