Diumenge, Abril 26, 2009 | Autor:

Confia en mi. Encara estem tractant amb expressions regulars – just en una rotonda (i vagament pràctica) camí. Aquesta és una llista bastant completa de com anar sobre el rentat caixets DNS durant l'ús d'expressions regulars per mostrar que els mètodes similars es desvien.

Per què volem per esborrar caixets DNS exactament?

Hi ha un nombre de raons per aclarir DNS caches, encara que crec que aquests són els més comuns:

  • Un intranet servei té un privmenjar (interna) Adreça IP quan a la xarxa de l'empresa, sinó que té una adreça IP pública per a l'accés extern. En intentar accedir a aquest servei des de l'exterior després d'accedir-hi des de l'interior, ha la possibilitat que hi hagués en memòria cau el privat (inaccessible) IP. Una bona solució a llarg termini és fer que el servei inaccessible excepte a través de VPN. Una solució més senzilla és deixar la feina a la feina. 😛
  • Un servei d'Internet o lloc web canvia la seva configuració de DNS i el seu escriptori / laptop està mirant a la “edat” ajust. En aquest cas, el nou ajust encara no té propagada. Administradors de Hosting vénen a través d'aquest cas molt sovint.
  • Privacitat: Si algú pot fer un seguiment del seu historial DNS llavors no seria massa difícil d'esbrinar quins llocs web que has estat veient. Encara que les pàgines individuals que ha vist no es pot seguir d'aquesta manera, els noms d'amfitrió, tal com “dogma.swiftspirit.co.za” o “google.com” serà a la memòria cau DNS, probablement en l'ordre que va obrir per primera cada lloc. Hi ha millors maneres de fer això, però. Un exemple és l'ús d'una xarxa Tor per a totes les peticions DNS.

Flushing de Windows’ Memòria cau de DNS, de línia d'ordres:

L'evidència suggereix que abans de Finestres 2000, Finestres Sistemes operatius no emmagatzemar en memòria cau els resultats de DNS. La ipconfig comandament, executar des del símbol del sistema, se li va donar un cert control sobre la memòria cau DNS i s'ha mantingut més o menys igual des.

Per accedir a l'indicador si s'utilitza Vista la no-Admin: Inici -> Programes -> Accessoris -> Feu clic “Indicador d'ordres” -> Executar com a administrador

En cas contrari: Inici -> Ra -> [cmd ] -> [ Okay ]

ipconfig / flushdns

Flush the DNS Resolver Cache in Windows

També és possible esborrar la memòria cau en Windows reiniciar la “Client DNS” o “Dnscache” servei.

Memòria cau DNS Flushing Mac OS X, des de l'intèrpret d'ordres:

Des Mac OS X, Poma Macbasats en UNIX-s han estat funcionant un, POSIX-compatible, sistema operatiu basat en NEXTSTEP, sí originalment que conté el codi de FreeBSD i NetBSD. Mac OS X utilitza lookupd o dscacheutil per gestionar la memòria cau de DNS, depenent de la versió.

Per arribar a la ràpida: Aplicacions -> Utilitats -> Terminal

(lookupd|dscacheutil) -flushCache

Què tenim aquí? Segons part 1, la barra vertical indica que ja sigui “lookupd” O “dscacheutil” són acceptables. La parèntesi indicar que el barra vertical només s'aplica a la “lookupd|dscacheutil” part de l'expressió. Per tant, la ” -flushCache” no és opcional i ha de ser inclòs en la comanda per tal que funcioni. Tingueu en compte que aquestes instruccions produeixen cap so llevat que hi ha un error.

Utilitzeu dscacheutil si utilitzeu Mac OS X 10.5 (Leopard) o més tard.

Mac OS X:

lookupd -flushcache

Mac OS X Leopard:

dscacheutil -flushcache

Use dscacheutil to flush the cache in Mac OS X Leopard

També hi ha una eina d'interfície gràfica d'usuari, DNS esbandida, que utilitza automàticament la comanda correcte disponible.

Flushing Linux / Unix’ Memòria cau de DNS, des de l'intèrpret d'ordres:

N.B. Si no té ja sigui bind (amb recerca de caching habilitat), nscd, o dnsmasq instal lat i funcionant en el seu * nix basat en escriptori / servidor, vostè està probablement no l'emmagatzematge en memòria cau de DNS en absolut i no hi ha res per eliminar. En aquest cas, vostè va a utilitzar el servidor DNS per a cada sol·licitud Web, probablement alentir la seva experiència a la xarxa. * Si és així, Recomano almenys instal·lant nscd ja que és el més fàcil de configurar. **

Memòria cau de Flushing nscd

Igual que amb la comanda Mac OS, això produeix absolutament cap sortida a menys que hi hagi un error:

(|sudo )(|/usr / sbin /)amfitrions nscd -i
  • Ús sudo si encara no es troba arrel en cas contrari la primera selecció està en blanc.
  • Especifiqueu / usr / sbin / si nscd no està ja dins de la “camí”. Si la seva distribució ha nscd en un lloc estrany, localitzar primer:
localitzar bin -r / $ nscd

Observeu que l'anteriorment “bin / $ nscd” és en si mateixa una expressió regular. 🙂

Utilitzant nscd, invalidar la “hosts” cache, connectat com usuari:
amfitrions -i nscd sudo
Utilitzant nscd, invalidar la “hosts” cache, connectat com a root:
amfitrions nscd -i
Utilitzant nscd, invalidar la “hosts” cache, connectat com a root, especificant la ruta completa:
/usr / sbin / nscd -i amfitrions

Rentat memòria cau de bind

Per buidar la memòria cau del bind, emetem una ordre a través de rndc. Usar suo si no està ja arran:

(|sudo )res rndc

Reinici dels serveis de cache també funciona!

Heus aquí com reiniciar qualsevol dels dimonis d'emmagatzematge en memòria cau:

(|sudo )(servei |/etc /(rc  .d|rc  .d / init  .d|init  .d)/)(bind|dnsmasq|nscd) Reprendre

Això està començant a tenir difícil de llegir. *** Per sort m'he explicat amb detall:

  • Igual que amb la comanda anterior, utilitzar sudo si no estàs i arran.
  • La segona selecció té la primera opció “servei “. Això s'aplica principalment als sistemes de Red Hat / CentOS i Fedora.
  • La “/etc /(rc .d|rc .d / init .d|init .d)/” necessita ser ampliat. Això és per a la majoria dels altres sistemes. Generalment, la rc.d és perquè si vostè està utilitzant un sistema d'inici a l'estil BSD (per exemple: Arch Linux, FreeBSD, o OpenBSD). La millor manera de saber amb seguretat la comanda a utilitzar és "localitzar’ el nscd correcta o dnsmasq camí. La majoria dels sabors de Unix, fins i tot Solaris, utilitzar nscd:
localitzar -r  .d / $ nscd ; localitzar -r  .d / dnsmasq $ ; localitzar -r  .d / rndc $
  • L'última opció és entre “bind”, “nscd”, i “dnsmasq”. Això depèn totalment de que està instal·lada i en ús.
  • L'últim de la pauta, ” Reprendre”, és la instrucció donada a script de control del dimoni.

Arc, utilitzant dnsmasq, reiniciar el dimoni de memòria cau, connectat com a root:

/etc / rc.d / reiniciar dnsmasq

Arc, utilitzant nscd, reiniciar el dimoni de memòria cau, connectat com usuari:

restart sudo /etc/rc.d/nscd

CentOS / Red Hat, utilitzant nscd, reiniciar el dimoni, com a root:

Reiniciar servei nscd

nscdrestart

Esbandida memòria cau DNS intern de Mozilla Firefox:

Mozilla Firefox manté la seva pròpia memòria cau de DNS per al rendiment. Firefox 2 seria emmagatzemar en memòria cau només 20 entrades per a un màxim de 60 segon. La configuració per defecte com del Firefox 3 sembla ser 512 entrades per a un màxim de 60 minuts que sembla molt més raonable per a la navegació de tots els dies. Si el teu escriptori té un cau incorporada (que la majoria ara fer) a continuació, la memòria cau aquí és en realitat redundant. No estic al corrent de qualsevol altre navegador que implementen l'emmagatzematge en memòria cau de DNS.

He trobat algunes solucions per quan es necessita per esborrar la memòria cau. Sembla que hi ha moltes maneres de fer això, però aquests són els més fàcils, que jo he posat en ordre de preferència.:

  1. Instal · leu el Firefox DNS esbandida Addon – proporciona un botó per buidar la memòria cau.
  2. Instal · leu el DNS memòria cau Addon – proporciona una palanca que activa o desactiva la memòria cau de DNS.
  3. Esborrar la memòria cau (esborra la memòria cau del navegador, així com DNS cau): Seleccioneu TINES -> Clar Private Data; Anul·li la selecció de totes les caselles, excepte per a C01:00que; Feu clic a [ Esborrar dades privades ara ].
  4. Manual de fer el que fa de caché DNS: establir el següent 2 sobre:config Opcions “network.dnsCacheExpiration” i “network.dnsCacheEntries” a 0 i després tornar a la configuració per defecte.

Jo tenia un registre en memòria cau malament i em vaig aclarir la memòria cau del navegador. Però la seva encara donar-me la informació equivocada. El que dóna?

A causa de com funciona la propagació de DNS, que preferentment ha de netejar el DNS a tot Hosts DNS entre vostè i la “authoritive” acollida, començant amb l'amfitrió més proper al host authoritive (més lluny del seu navegador).

Com un exemple, si vostè té un router que l'emmagatzematge en memòria cau de DNS, restablir la memòria cau del router abans de reiniciar la memòria cau de DNS del seu sistema operatiu, i només a continuació, d'esborrar la memòria cau del Firefox. La raó és que, fins i tot si només s'esborri el seu sistema operatiu i les memòries cau del Firefox, l'escriptori és encara va a demanar el router per a la seva mal registre de totes maneres.

Què passa si el meu servidor DNS és un servidor a la xarxa per fora del meu control?

Vostè podria tractar d'usar temporalment un servidor de noms diferent, possiblement, fins i tot un públicament oberta servidor. OpenDNS mostra una bona informació sobre com fer-ho. Per, també ha de ser capaç d'obtenir la informació pertinent del seu propi ISP respecte als seus servidors DNS resolen. Un exemple local (Sud-àfrica) és Saix que llistes seus servidors DNS resolen.

* Probablement la raó per la qual Firefox té un cau de DNS incorporada ****
** “((Pacman|iogurt) -S|emergir|(nyam|aptitud|apt-get) instal · lar) nscd” i després assegurar-se que el servei s'afegeix als scripts d'inici. Consulteu la documentació d'instal lació de la seva distribució.
*** Estic buscant a una sintaxi plugin de destacar que pot treballar amb expressions regulars
**** He llegit les declaracions que el reinici de la xarxa(ing|) servei també esborra la memòria cau DNS però no he vist cap evidència que això és cert. Si algú té un exemple en el qual això és cert, per favor em proporcioni els detalls.
Compartir
Pots seguir qualsevol resposta a aquesta entrada a través de la RSS 2.0 alimentació. Vostè pot deixar una resposta, o trackback des del teu propi lloc.

2 Respostes

  1. 1
    Stef 

    Great article-need this..lol..

  2. 2
    John Hall 

    Thanks mate, good explanation helped me understand a little more. Its a bit of a minefield or what also I’m on Ubuntu 10.04 and it works on that to, ok thanks again John.

Deixa un comentari » Inicia la sessió