Opsætning af en videresende DNS-server på Debian

Domain Name System (DNS) er et hierarkisk distribueret navngivningssystem til computere, tjenester eller enhver ressource, der er forbundet til internettet eller et privat netværk. Det forbinder forskellige oplysninger med domænenavne, der er tildelt hver af de deltagende enheder. Mest fremtrædende oversætter den mere let gemte domænenavne til de numeriske IP-adresser, der er nødvendige for at lokalisere og identificere datatjenester og -enheder med de underliggende netværksprotokoller. Ved at levere en verdensomspændende, distribueret katalogtjeneste er Domain Name System en væsentlig bestanddel af internetets funktionalitet.

Videresendelse af DNS-server

En speditør er en DNS-server (Domain Name System) på et netværk, der videresender DNS-forespørgsler til eksterne DNS-navne til DNS-servere uden for det pågældende netværk. Du kan også videresende forespørgsler efter specifikke domænenavne ved hjælp af betingede forwarders.

Opsætning af Forwarder DNS Server

Linux DistroDebian 8.2 Jessie
Server IP10.42.0.109

Så i dette indlæg vil vi oprette en videresend DNS-server i vores Debian-server ved hjælp af BIND9, vi skal installere det i vores server ved at skrive:

# apt-get install bind bind9 bind9utils
[Email protected]: ~ # apt-get install bind xNUMX bind9utils Læse pakke lister ... Udført Building dependence tree Læs tilstandsoplysninger ... Udført Foreslåede pakker: bind9-doc resolvconf Følgende nye pakker vil blive installeret: bind9 bind9utils 9 opgraderet, 0 nyinstalleret, 2 for at fjerne og 0 ikke opgraderet. Behov for at få 0 kB arkiver. Efter denne operation vil 481 kB ekstra diskplads blive brugt. Få: 1,458 http://security.debian.org/ jessie / opdateringer / hovedbinder1utils amd9 64: 1.dfsg-9.9.5 + deb9u8 [5 kB] Få: 167 http://security.debian.org/ jessie / opdateringer / hovedbinding2 amd9 64: 1.dfsg-9.9.5 + deb9u8 [5 kB] Fetched 314 kB i 481s (8 kB / s) Forkonfiguration af pakker ... Valg af tidligere ikke valgt pakkebinding58.8utils. (Læsning database ... 9 filer og mapper i øjeblikket installeret.) Forbereder at udpakke ... / bind35694utils_9% 1a3.dfsg-9.9.5 + deb9u8_amd5.deb ... Udpakning bind 64utils (9: 1.dfsg-9.9.5 + deb9u8) .. . Vælger tidligere ikke valgt pakke bind5. Forberedelse til at pakke ud ... / bind9_9% 1a3.dfsg-9.9.5 + deb9u8_amd5.deb ... Udpakning af bind64 (9: 1.dfsg-9.9.5 + deb9u8) ... Behandler udløsere til man-db (5-2.7.0.2). . Processing triggers for systemd (5-215 + deb17u8) ... Behandlingsudløsere til ufw (2-0.33) ... Konfiguration af bind2utils (9: 1.dfsg-9.9.5 + deb9u8) ... Konfiguration af bind5 (9: 1.dfsg-9.9.5 + deb9u8) ... Tilføjelse af gruppe `bind '(GID 5) ... Udført. Tilføjelse af systembruger `bind '(UID 119) ... Tilføjelse af ny bruger` bind' (UID 111) med gruppe `bind '... Ikke oprette hjemmekatalog` / var / cache / bind'. skrev nøglefil "/etc/bind/rndc.key" # Behandler udløsere for systemd (111-215 + deb17u8) ... Behandler udløsere til ufw (2-0.33) ...
[Email protected]: ~ #

Nu er installationen færdig, vi skal redigere konfigurationsfilerne, som er /etc/bind/named.conf.options som som standard ser sådan ud

muligheder {mappe "/ var / cache / bind"; // Hvis der er en firewall mellem dig og navne, som du vil have // ​​at tale med, skal du muligvis reparere firewall'en for at tillade flere // porte at tale. Se http://www.kb.cert.org/vuls/id/800113 // Hvis din internetudbyder leverede en eller flere IP-adresser til stabile // navneservere, vil du sandsynligvis bruge dem som forwarders. // Uncomment den følgende blok, og indsæt de adresser, der erstatter // all-0s pladsholder. // forwarders {// 0.0.0.0; //}; // ================================================ ================== // Hvis BIND logs fejlmeddelelser om rodnøglen er udløbet, // skal du opdatere dine nøgler. Se https://www.isc.org/bind-keys // ================================== ======================================== dnssec-validering auto; auth-nxdomain nr; # overensstemmelse med RFC1035 listen-on-v6 {any; }; };

Så begynder vi vores modifikation i en situation, hvor vi kun accepterer DNS-forespørgsler fra klienter på vores netværk og nogle specifikke IP'er, ville vi forudbestille denne linje til filen

acl allowed_clients {localhost; 10.42.0.0 / 24; };

Vi har oprettet en liste over IP'er for at acceptere DNS forespørgsler fra, nu går vi ind i optioner blokere redigering af forwarders for at videresende DNS forespørgsler serveren kunne ikke løse lokalt til en ekstern DNS-server, og vi bruger Google DNS. Uanmeldt denne linje

// forwarders {// 0.0.0.0; //};

Til

Forwardere {8.8.8.8; 8.8.4.4; };

Da vi allerede har angivet med ACL, skal klienter acceptere forespørgsler fra, vi bruger det nu her i indstillingsblokken. Tilføjelse af disse linjer:

Forwardere {8.8.8.8; 8.8.4.4; }; rekursion ja; Tillad forespørgsel {allowed_clients; };

Enhver anmodning fra en klient, der ikke er til stede i allowed_clients ACL ville blive nægtet. Selvfølgelig kan det også gøres med IPTABLES også. Vores server er en videresend DNS-server, hvorfor ikke gøre det klart for serveren, at det er job at fremsende anmodninger, som den ikke kan løse til eksterne servere. Nu tilføjer vi denne linje:

Forwardere {8.8.8.8; 8.8.4.4; }; rekursion ja; Tillad forespørgsel {allowed_clients; }; kun fremad;

Gem filen, i slutningen named.conf.options skal se sådan ud:

acl allowed_clients {localhost; 10.42.0.0 / 24; }; muligheder {mappe "/ var / cache / bind"; // Hvis der er en firewall mellem dig og navne, som du vil have // ​​at tale med, skal du muligvis reparere firewall'en for at tillade flere // porte at tale. Se http://www.kb.cert.org/vuls/id/800113 // Hvis din internetudbyder leverede en eller flere IP-adresser til stabile // navneservere, vil du sandsynligvis bruge dem som forwarders. // Uncomment den følgende blok, og indsæt de adresser, der erstatter // all-0s pladsholder. Forwardere {8.8.8.8; 8.8.4.4; }; rekursion ja; Tillad forespørgsel {allowed_clients; }; kun fremad; // ================================================ ================== // Hvis BIND logs fejlmeddelelser om rodnøglen er udløbet, // skal du opdatere dine nøgler. Se https://www.isc.org/bind-keys // ================================== ======================================== dnssec-validering auto; auth-nxdomain nr; # overensstemmelse med RFC1035 listen-on-v6 {any; }; };

Kontrol af BIND-konfiguration

Vi er færdige med konfiguration, nu for at indstille vores DNS Server arbejder. Vi skal kontrollere, om vi har fejl i vores named.conf.options, skriver vi

# navngivet-checkconf

Hvis det ikke returnerer noget resultat, er vi gode til at gå. Genstart bind nu og sørg for at det virker

# systemctl genstart bind9
# systemctl status bind9
[Email protected]: / etc / bind # systemctl status bind9 ● bind9.service - BIND Domain Name Server Loaded: loaded (/lib/systemd/system/bind9.service; aktiveret) Drop-In: /run/systemd/generator/bind9.service. d └─50-insserv.conf- $ named.conf Aktiv: Aktiv (kører) siden Fri 2016-01-22 08: 34: 18 WAT; 5min siden Dokumenter: mand: navngivet (8) Proces: 2220 ExecStop = / usr / sbin / rndc stop (kode = afsluttet, status = 0 / SUCCESS) Hoved PID: 2225 (opkaldt) CGroup: /system.slice/bind9.service └─2225 / usr / sbin / navngivet -f -u binder Jan 22 08: 34: 18 debian-server ved navn [2225]: kommandokanal lytter på: 1 # 953 Jan 22 08: 34: 18 debian-server ved navn [ 2225]: managed-keys-zone: loaded serial 2 Jan 22 08: 34: 18 debian-server ved navn [2225]: zone 0.in-addr.arpa/IN: indlæst serielt 1 Jan 22 08: 34: 18 debian- server med navnet [2225]: zone 127.in-addr.arpa/IN: indlæst seriel 1 Jan 22 08: 34: 18 debian-server ved navn [2225]: zone 255.in-addr.arpa/IN: indlæst seriel 1 Jan 22 08: 34: 18 debian-server ved navn [2225]: zone localhost / IN: indlæst seriel 2 Jan 22 08: 34: 18 debian-server ved navn [2225]: alle zoner indlæst Jan 22 08: 34: 18 debian-server navngivet [2225]: running

Afprøvning af DNS Server på Client System

På klientsystem skal vi teste vores DNS-server, hvis den rent faktisk løser.

$ dig @10.42.0.109 unixmen.com
; << >> DiG 9.9.5-9 + deb8u5-Debian << >> @10.42.0.109 unixmen.com; (1-server fundet) ;; globale muligheder: + cmd ;; Fik svar: ;; - >> HEADER << - opcode: QUERY, status: NOERROR, id: 16997 ;; flag: qr rd ra; QUERY: 1, SVAR: 1, MYNDIGHED: 0, YDERLIGERE: 1 ;; OPT PSEUDOSECTION:; EDNS: version: 0, flag :; udp: 4096 ;; SPØRGSMÅL:; unixmen.com. I EN ;; SVAR AFSNIT: unixmen.com. 12032 I EN 158.69.30.189 ;; Forespørgselstid: 1 msec ;; SERVER: 10.42.0.109 # 53 (10.42.0.109) ;; NAR: Fri Jan 22 08: 48: 45 WAT 2016 ;; MSG STØRRELSE rcvd: 56

Det løst, betyder at det virker

Oprettelse af zoner

I vores netværk vil vi måske gerne løse et bestemt domæne lokalt (dvs. kun hvis du bruger DNS-serveren).

For det første vil vi forsøge at løse domænenavnet local.server på en klient og se output

$ vært local.server xnumx
Brug af domæneserver: Navn: 10.42.0.109-adresse: 10.42.0.109 # 53 Aliaser: Host local.server ikke fundet: 3 (NXDOMAIN)

Da det ikke kunne løse domænenavnet, hvilket er det vi skal løse.

Vi redigerer /etc/bind/named.conf.local og vi vil gerne løse local.server til en klient på samme netværk, tilføj denne linje til filen

zone "local.server" {type master; fil "/etc/bind/db.local.server"; };

Det er en master zone og zonen filen er /etc/bind/db.local.server som vi stadig er ved at skabe. Vi vil kopiere eksemplet filen som er db.empty til db.local.server

# cp /etc/bind/db.empty /etc/bind/db.local.server

Og så redigerer vi /etc/bind/db.local.server som som standard skal se ud som dette

; BIND omvendt datafil for tom rfc1918 zone; ; REDIGER IKKE DENNE FIL - den bruges til flere zoner. ; I stedet skal du kopiere den, redigere named.conf og bruge den kopi. ; $ TTL 86400 @ IN SOA localhost. root.localhost. (1; Serial 604800; Opdater 86400; Prøv igen 2419200; Udgå 86400); Negativ Cache TTL; @ IN NS localhost.

I den første linje skal du udskifte localhost. til local.server. så det ser ud som dette

@ I SOA local.server. root.localhost. (

Så begynder vi at tilføje poster, tilføjer disse linjer til filen

@ I EN 10.42.0.1-under IN CNAME @

Gem filen, i fuldstændig ser filen nu ud

; BIND omvendt datafil for tom rfc1918 zone; ; REDIGER IKKE DENNE FIL - den bruges til flere zoner. ; I stedet skal du kopiere den, redigere named.conf og bruge den kopi. ; $ TTL 86400 @ IN SOA local.server. root.localhost. (1; Serial 604800; Opdater 86400; Prøv igen 2419200; Udgå 86400); Negativ Cache TTL; @ IN NS localhost. @ I EN 10.42.0.1-under IN CNAME @

Genstart bind9 igen.

Afprøvning af zone

Vi har med succes tilføjet zoner, vi skal nu forsøge at kigge op på domænenavnet igen på klienten og se om det rent faktisk fungerer

[Email protected]: ~ $ vært local.server 10.42.0.109 Brug af domæneserver: Navn: 10.42.0.109 Adresse: 10.42.0.109 # 53 Aliaser: local.server har adresse 10.42.0.1
[Email protected]: ~ $ vært sub.local.server 10.42.0.109 Brug af domæneserver: Navn: 10.42.0.109 Adresse: 10.42.0.109 # 53 Aliaser: sub.local.server er et alias for local.server. local.server har adresse 10.42.0.1

Og ja, det lykkedes det local.server og det er CNAME sub.local.server

Nu har vi vores DNS Server arbejde!

Stillingen Opsætning af en videresende DNS-server på Debian dukkede først på Unixmen.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.