Det er få tilskudd til nettverket ditt som vil gjøre som øyeblikkelig av en ytelse som å sette opp en caching DNS server. Alle datamaskiner på det lokale segmentet av nettverket gjør hundrevis - om ikke tusenvis - av DNS-spørringer, og hvis du videre hver og en av dem til en server på den andre siden av WAN pipe, er du bare kaste bort båndbredde. Ikke bare er caching DNS-tjenester enkle å sette opp, du selv har flere alternativer for å gjøre det under Linux.
Som alltid, plukke den beste tilnærmingen starter med å se på din lokale nettverkskonfigurasjon. Hvis du bare har én boks å bekymre deg, kan du installere en caching DNS-server på den boksen som fanger opp alle spørsmål før de kommer til nettverkskortet. Hvis du har flere maskiner, kan du installere DNS-serveren ved inngangsporten, og dele en buffer mellom alle maskinene, videre påskynde navneløsing. Videre, hvis gateway maskinen er også en Dynamic Host Configuration Protocol (DHCP) server, er klientsiden setup enda enklere. Til slutt, hvis du har vertsnavn for lokal-området servere og stasjonære, bør du gå videre og sette opp caching DNS-serveren til å svare for dem, også, heller enn å prøve å opprettholde /etc /vertsfiler - tross alt, så lenge som du sparer tid, du kan like godt spare ditt eget i tillegg til DNS-klienter '.... Den mest populære caching DNS valg for små til medium distribusjoner er dnsmasq, som både er en lett DNS-server og en lett DHCP server. Det er GPL-lisensiert og er en standard pakke i moderne Linux-distribusjoner. Hvis din distro ikke gir det, skjønt, kan du laste ned og installere kilde uten for mye bråk; det er ingen store eksterne pakkeavhengigheter. En mindre kjent, men like gyldig alternativ er pdnsd (som synes å stå for enten " proxy DNS " eller " permanent DNS " avhengig av hvor du ser). Pdnsd har fordelen av å skrive sin cache av søkeresultatene til disk, slik at de kan bli frelst fra en sesjon til en annen. På den annen side, ikke pdnsd ikke hensyn til DHCP, så tjener et helt nettverk vil kreve en annen programvarepakke. The Lone Resolver Selv om det er vanligvis referert til som en nettverkstjeneste, hvis du bare har en eneste Linux-boks, kan du sette opp dnsmasq å kjøre som " server " selv om " klient " å sende forespørsler er den samme maskin. Uten dnsmasq kjører, ser en Linux-maskin i filen /etc/resolv.conf for en ordnet liste over DNS-servere til å spørre. Statisk konfigurerte maskiner kan legge servere til denne filen manuelt; DHCP-klient-maskiner har filen oppdateres automatisk når de får en ny leieavtale fra sin DHCP server. Når du har installert dnsmasq, åpne filen /etc/dnsmasq.conf som root. Det er flere dusin konfigurasjonsmuligheter - alle av dem godt dokumentert - men det tar bare noen få å få satt opp for normal bruk. Nær toppen, uncomment ut lytte-adresse = direktivet og legg til localhost adressen 127.0.0.1: lytte-adresse = 127.0.0.1. Dette forteller dnsmasq å lytte for DNS-spørringer som kommer på den lokale maskinen. Hvis du opprettholder en statisk resolv.conf, åpner du den i en editor og legge navnetjener 127.0.0.1 til toppen. Den lokalt kjører kopi av dnsmasq vil nå motta alle DNS-spørringer først, og cache resultatene. Alternativt, hvis datamaskinen er en DHCP-klient - og hvis du installerer dnsmasq på den, du antagelig ikke har tilgang til DHCP server Anmeldelser - du trenger å endre en annen fil i stedet. Åpne din DHCP konfigurasjonsfil - typisk /etc/dhcp3/dhclient.conf. Så enten uncomment eller (hvis det ikke er tilstede) legge linjen foranstilte domene-navneservere 127.0.0.1;. Sørg for å inkludere den avsluttende semikolon. Dette forteller DHCP-klient for å legge 127.0.0.1 til hodet på linje når DHCP-serveren sender over listen av DNS-servere. De medfølgende servere kan være for Internett-leverandøren eller at-store offentlige DNS-servere, men uansett hva de er, vil den lokale dnsmasq serveren få spørsmål først, slik at cache. Uansett hvilken konfigurasjon du bruker, starter dnsmasq med /etc/rc.d/dnsmasq start. Du kan bruke " grave " kommandoen til å sende en DNS-spørring fra kommandolinjen; ved å kjøre den to ganger på rad, kan du se hvor mye kortere rapportert " spør tid " er for den andre, blir lagret, svare. I min test, grave www.linux.com tok 132 ms uncached og falt til 1 ms gang bufrede. I tillegg til farts gevinster, men caching søkeresultatene holder lokalt din nettleser og andre programmer fra timingen ut når en av ISP DNS-servere er plutselig ikke kan nås. Det er ingen reell måte å teste for det scenarioet, men de fleste av oss håper å unngå det uansett. LAN Selv om du kan kjøre dnsmasq på hver maskin på det lokale nettverket, kjører en enkelt forekomst av det som svar og bufrer alle maskinens DNS-spørringer er enklere, og resulterer i færre henvendelser blir videresendt oppstrøms. Først setter man opp maskinen som server. Men i tillegg til å spesifisere 127.0.0.1 som lytte-adresse i /etc/dnsmasq.conf, må du også legge til en lytt-adresselinjen for serverens lokale IP-adresse, for eksempel lytte-adresse = 192.168.1.101. Hvis serveren er en gateway maskin med mer enn ett nettverkskort, bør du også være sikker på å binde dnsmasq bare til det lokale grensesnittet, ved uncommenting " grensesnitt " linjen og spesifisere adapter: grensesnitt = eth0. Du kan deretter konfigurere klientene individuelt. For alle ikke-DHCP-klienter, kan du bare legge til serveren maskinens IP til /etc/resolv.conf, f.eks navnetjener 192.168.1.101. Hvis DHCP-klientene bruker en egen DHCP-server, kan du også legge til foranstilte domene-navneservere 192.168.1.101; til sine /etc/dhcp3/dhclient.conf filer. Ting er enda enklere hvis du bruker dnsmasq som både DNS og DHCP-serveren, skjønt. For å aktivere DHCP, åpen /etc/dnsmasq.conf og uncomment " dhcp-range = " linje. Denne linjen tar to nødvendige og ett valgfritt argument. De nødvendige argumentene er start- og sluttadressene til DHCP leieavtaler for serveren til å dele ut; dersom det er ønskelig at du kan eventuelt legge til en leieavtale tid som den tredje. For eksempel, dhcp-range = 192.168.0.100,192.168.0.200,23h. Det kan også bidra til å uncomment " utvide-verter " og " domain = " linjer; dermed føyer hva domenet du spesifisere etter domain = til navn på lokale nettverk verter - " .local " for eksempel er entydig. Hvis du har noen statisk konfigurerte verter (si, servere) og noen DHCP-klienter (si, bærbare datamaskiner), gir dnsmasq.conf du flere muligheter til å sette statiske vertsnavn - etter IP-adresse, med hardware MAC-adresse, av hostname verten rapporter for seg selv. I denne typen blandet miljø, til å bruke utvide-verter tack .local på vertsnavn kan bidra til å forhindre ulykker som å ha DNS-spørringer om en lokal maskin videre oppstrøms og ut til en offentlig DNS-server som ikke vet hva de skal gjøre med dem. Bruke pdnsd Instruksjonene ovenfor brukes dnsmasq som eksempel, men du kan også utføre de fleste av de samme trinnene (med unntak av den integrerte DHCP server, selvfølgelig) ved hjelp av disk-caching pdnsd. På klientsiden, konfigurasjons detaljene er den samme: du legge til DNS-serverens IP-adresse til /etc/resolv.conf eller riktig " foranstilte " linje til /etc/dhcp3/dhclient.conf. Konfigurering av server er ikke vanskeligere; det bare bruker en litt annen syntaks. I /etc/pdnsd.conf, ville du angi IP-adressen til å lytte på for DNS-spørringer med server_IP = 192.168.1.101, og grensesnittet for å høre på med grensesnitt = eth0. Du trenger ikke å fortelle pdnsd hvor du finner de oppstrøms DNS-servere til å videresende rekursive spørringer til; den enkleste måten er med en fil = /etc /resolv.conf linje, men du kan også angi andre DNS-servere individuelt. Til slutt kan du enten bruke standardplassering for den fila, er /var /cache /pdnsd, eller angi en annen plassering med cache_dir = /noen /katalog /sti /til /din /valg. Får Jobb Når du begynner å spille rundt med dnsmasq og /eller pdnsd, kan du tenke på noen bruksområder for disse tjenestene utover det vi har dekket her. Den mest åpenbare, kanskje, er å konfigurere enten for IPv6-adresser. Begge støtter den; relevante eksempel linjer bare ikke ble vist med IPv6 dummy adresser for klarhet. Men det er faktisk mer; dnsmasq, for eksempel, har spesiell støtte for virtuelle private nettverk (VPN), som du kan ha dnsmasq direkte spørsmål for visse domener (som selskapets) til en bestemt server, heller enn å videresende dem ut på Internett på frifot. Du kan også sette opp dnsmasq å muliggjøre en lokal-nettverk-bare posttjenesten bruke en lokal MX-posten. Det er mye mer der det kommer fra, men la oss innse det - de fleste av oss ønsker å stille-og-glem DNS-tjeneste, slik at vi kan bruke mer av vår surfing tid faktisk leser de nettstedene som interesserer oss, og mer av vår gratis tid på å tenke seg virkelig gode vertsnavn for alle disse LAN-klienter .... Anmeldelser