Søndag, 26 apr, 2009 | Author:

Tro mig. Vi er stadig beskæftiger sig med regexes – bare i en rundkørsel (og vagt praktisk) vej. Dette er en temmelig omfattende liste over hvordan man skylle DNS cache, mens du bruger regexes at vise, hvor lignende metoder afviger.

Hvorfor ønsker vi at rydde DNS caches præcis?

Der er en række grunde til at rydde DNS caches, selvom jeg tror, ​​at disse er de mest almindelige:

  • En intranet tjeneste har en privspiste (intern) IP-adresse når du er på virksomhedens netværk, men det har en offentlig IP-adresse til udendørs adgang. Når du forsøger at få adgang til denne service fra uden for efter at få adgang til det fra inde, der er en chance for, at du ville have cached den private (utilgængelige) IP. En god langsigtet løsning er at gøre tjeneste umulig undtagen via VPN. En enklere løsning er at forlade arbejdet på arbejdspladsen. 😛
  • En internet service eller hjemmeside ændrer deres DNS-indstillinger og dit skrivebord / laptop ser på “gammel” indstilling. I dette tilfælde, den nye indstilling har ikke endnu formeret. Hosting Admins stødt på dette tilfælde meget ofte.
  • Privacy: Hvis nogen kan spore din DNS historie så ville det ikke være for svært at regne ud, hvilke websteder, du har vist. Selvom de enkelte sider, du har set ikke kan spores på denne måde, de værtsnavne, såsom “dogma.swiftspirit.co.za” eller “google.com” vil være i DNS cache, sandsynligvis i den rækkefølge du først adgang hvert websted. Der er bedre måder at gøre dette selv. Et eksempel er at bruge en Tor netværk for alle DNS-anmodninger.

Flushing Windows’ DNS cache, fra kommandoprompten:

Meget tyder på, at der forud for Windows 2000, Windows OS'er ikke cache DNS resultater. Den ipconfig kommando, løbe fra kommandoprompten, fik en vis kontrol over DNS cache og er forblevet nogenlunde det samme siden.

For at komme til prompt, hvis du bruger Udsigt som ikke-Admin: Start -> Programmer -> Tilbehør -> Højreklik “Kommandoprompt” -> Kør som administrator

Ellers: Start -> Ra -> [cmd ] -> [ OK ]

ipconfig / flushdns

Flush the DNS Resolver Cache in Windows

Det er også muligt at rydde cachen i Windows ved genstarte den “DNS-klient” eller “Dnscache” tjeneste.

Flushing Mac OS X DNS cache, fra shell prompt:

Siden Mac OS X, Æble Macs har kørt en Unix-baserede, POSIX-kompatibel, styresystem baseret på Næste skridt, selv oprindeligt indeholder kode fra FreeBSD og NetBSD. Mac OS X bruger lookupd eller dscacheutil at styre DNS cache, afhængigt af versionen.

For at komme til prompt: Applikationer -> Hjælpeprogrammer -> Terminal

(lookupd|dscacheutil) -flushcache

Hvad har vi her? Som for del 1, den lodret streg indikerer, at enten “lookupd” OR “dscacheutil” er acceptable. Den parentes angiver, at lodret streg gælder kun for “lookupd|dscacheutil” del af udtrykket. Således, den ” -flushcache” ikke er frivillig og skal indgå i kommandoen for at det at arbejde. Bemærk, at disse kommandoer producerer ingen udgang, medmindre der er en fejl.

Brug dscacheutil hvis du bruger Mac OS X 10.5 (Leopard) eller senere.

Mac OS X:

lookupd -flushcache

Mac OS X Leopard:

dscacheutil -flushcache

Use dscacheutil to flush the cache in Mac OS X Leopard

Der er også en GUI værktøj, DNS Højtryksspuler, der bruger automatisk den rigtige kommando til rådighed.

Flushing Linux / Unix’ DNS cache, fra shell prompt:

NB. Hvis du ikke allerede har enten binder (med caching opslag aktiveret), nscd, eller dnsmasq installeret og kører på din * nix-baserede desktop / server, du sandsynligvis ikke cache DNS overhovedet og der er intet til at skylle. In that case you will be utilising your DNS server for every web request, probably slowing your web experience.* If so, I recommend at least installing nscd as it is the easiest to set up. **

Flushing nscd’s cache

As with the Mac OS command, this produces absolutely no output unless there is an error:

(|sudo )(|/usr/sbin/)nscd -i hosts
  • Use sudo if you’re not already root otherwise the first selection is blank.
  • Specify /usr/sbin/ if nscd is not already within thepath”. If your distribution has nscd in a strange place, locate it first:
locate -r bin/nscd$

Notice that the abovebin/nscd$is itself a regular expression. 🙂

Using nscd, invalidate thehostscache, logged in as a user:
sudo nscd -i hosts
Using nscd, invalidate thehostscache, logged in as root:
nscd -i hosts
Using nscd, invalidate thehostscache, logged in as root, specifying the full path:
/usr/sbin/nscd -i hosts

Flushing bind’s cache

To flush bind’s cache, udsteder vi en kommando via rndc. Brug sudo hvis du ikke allerede er root:

(|sudo )rndc flush

Genstart af cacheing tjenester også virker!

Her er hvordan at genstarte en af ​​caching dæmoner:

(|sudo )(tjeneste |/etc /(rc  .D|rc  .D / init  .D|Heat  d)/)(binder|dnsmasq|nscd) genstart

Det er begyndt at få svært ved at læse. *** Heldigvis har jeg forklaret i detaljer:

  • Som med den forrige kommando, bruge sudo hvis du ikke allerede er root.
  • Det andet valg har den første mulighed “tjeneste “. Det gælder først og fremmest til Red Hat / CentOS og Fedora-systemer.
  • Den “/etc /(rc .D|rc .D / init .D|Heat d)/” bør udvides yderligere. Dette er for de fleste andre systemer. Generelt, den rc.d er hvis du bruger en BSD-stil init-system (for eksempel: Arch Linux, FreeBSD, eller OpenBSD). Den bedste måde at vide med sikkerhed, hvilken kommando for at bruge er at "lokalisere’ den korrekte nscd eller dnsmasq path. De fleste Unix-varianter, selv Solaris, bruge nscd:
locate -r \.d/nscd$ ; locate -r \.d/dnsmasq$ ; locate -r \.d/rndc$
  • The last choice is between “binder”, “nscd”, og “dnsmasq”. This depends entirely on which is installed and in use.
  • The last of the pattern, ” genstart”, is the instruction given to the daemon’s control script.

Arch, using dnsmasq, restarting the cache daemon, logged in as root:

/etc/rc.d/dnsmasq restart

Arch, using nscd, restarting the cache daemon, logged in as user:

sudo /etc/rc.d/nscd restart

CentOS / Red Hat, using nscd, restarting the daemon, as root:

service nscd restart

nscdrestart

Flush Mozilla Firefox’s internal DNS cache:

Mozilla Firefox keeps its own DNS cache for performance. Firefox 2 would cache only 20 entries for up to 60 seconds. The default setting as of Firefox 3 appears to be 512 entries for up to 60 minutes which seems much more reasonable for every-day browsing. If your desktop has a built-in cache (which most now do) then the cache here is actually redundant. Jeg er ikke bekendt med andre browsere, der gennemfører DNS caching.

Jeg har fundet et par løsninger til når du har brug for at rydde cachen. Det synes der er mange måder at gøre dette men disse er den nemmeste, som jeg har lagt i prioriteret rækkefølge.:

  1. Installer Firefox DNS Højtryksspuler Addon – Giver en knap til at skylle cache.
  2. Installer DNS Cache Addon – giver en toggle som deaktiverer eller aktiverer DNS cache.
  3. Ryd cache (rydder browserens cache samt DNS Cache): Vælg TREDSKABER -> Ryd Private data; Fravælg alle afkrydsningsfelter undtagen Caat; Klik [ Fjern private oplysninger nu ].
  4. Gøre manuelt hvad DNS Cache gør: indstille følgende 2 cirka:config optioner “network.dnsCacheExpiration” og “network.dnsCacheEntries” til 0 og derefter tilbage til standard.

Jeg havde en dårlig cached rekord og jeg ryddet min browsers cache. Men dens stadig giver mig den forkerte info. Hvad giver?

På grund af hvordan DNS formering værker, du helst behov for at tømme DNS på alle DNS værter mellem dig selv og “authoritive” vært, begyndende med værten nærmest authoritive vært (længst væk fra din browser).

Som et eksempel, hvis du har en router, der caching DNS, nulstille routeren cache, før du genstarter DNS cache dit operativsystem, og kun derefter skal du rydde cachen i Firefox. Årsagen er, at selvom du kun rydde din OS og Firefox 'caches, skrivebordet stadig vil bede routeren for sin dårlig record alligevel.

Hvad hvis min DNS-server er en server på nettet uden for min kontrol?

Du kunne prøve midlertidigt at bruge en anden navneserver, måske endda en offentligt åbne server. OpenDNS viser nogle gode oplysninger om, hvordan dette. Hvis du gerne vil, bør du også kunne få relevante oplysninger fra din egen internetudbyder om deres løsning af DNS-servere. En lokal eksempel (Sydafrika) er Saix hvilken lister deres løsning af DNS-servere.

* Sandsynligvis grunden Firefox har en DNS cache indbygget ****
** “((Pacman|yoghurt) -S|dukke|(yum|fitness|apt-get) installere) nscd” og derefter sikre, at tilføjes service til startup scripts. Se din distributions installation dokumentation.
*** Jeg leder efter en syntaksfremhævning plugin, der kan arbejde med regex
**** Jeg har læst udtalelser om, at genstart nettet(ING|) tjenesten rydder også DNS ​​cache men jeg har ikke set nogen dokumentation for, at dette er sandt. Hvis nogen har et eksempel, hvor dette er sandt, venligst give mig med detaljer.
Del
Kategori: netværk, web
Du kan følge alle svar til dette indlæg via RSS 2.0 foder. Du kan efterlade et svar, eller styrekugle fra dit eget site.

2 Responses

  1. 1
    Stef 

    Stor artikel-behov this..lol..

  2. 2
    John Hall 

    Tak mate, god forklaring hjalp mig til at forstå lidt mere. Dens lidt af et minefelt eller hvad også jeg er på Ubuntu 10.04 og det virker på, at, ok tak igen John.

Efterlad et svar » Log ind