Zondag, 26 april, 2009 | Auteur:

Geloof me. We zijn nog steeds te maken met reguliere expressies – net op een rotonde (en vaag praktische) manier. Dit is een vrij uitgebreid overzicht van hoe om te gaan blozen DNS-caches tijdens het gebruik van reguliere expressies te tonen waar soortgelijke methoden afwijken.

Waarom willen we DNS caches precies duidelijk?

Er zijn een aantal redenen wissen DNS caches, hoewel ik denk dat dit de meest voorkomende:

  • Een intranet dienst heeft een privaten (intern) IP-adres wanneer op het bedrijfsnetwerk, maar het heeft een openbaar IP-adres voor toegang van buitenaf. Wanneer u probeert toegang te krijgen tot deze dienst van buiten nadat de toegang tot het van binnen, er is een kans dat u zou hebben in de cache van de private (ontoegankelijk) IP. Een goede oplossing voor de lange termijn is om de dienst ontoegankelijk behalve via VPN. Een eenvoudigere oplossing is om het werk op het werk te verlaten. 😛
  • Een internet service of website verandert hun DNS-instellingen en uw desktop / laptop is te kijken naar de “oud” omgeving. In dit geval, de nieuwe instelling heeft nog niet gepropageerd. Hosting Admins gekomen over deze zaak heel vaak.
  • Privacy: Als iemand uw DNS geschiedenis kan volgen dan zou het niet al te moeilijk zijn om erachter te komen welke websites je hebt het bekijken. Hoewel de afzonderlijke pagina's die u hebt bekeken niet kan worden gevolgd op deze manier, de hostnames, zoals “dogma.swiftspirit.co.za” of “google.com” zal worden in de DNS-cache, waarschijnlijk in de volgorde eerst werd geopend elke site. Er zijn betere manieren om dit wel te doen. Een voorbeeld is een Tor netwerk voor DNS verzoeken.

Vlissingen Windows’ DNS cache, vanaf de command prompt:

Er zijn aanwijzingen dat voorafgaand aan Windows 2000, Windows OS's leverde geen resultaten DNS cache. De ipconfig commando, lopen vanaf de opdrachtprompt, kreeg enige controle over de DNS-cache en heeft ongeveer hetzelfde gebleven sinds.

Om de vraag te krijgen als met behulp van Uitzicht de niet-Admin: Start -> Programma's -> Accessoires -> Klik met de rechtermuisknop “Command Prompt” -> Uitvoeren als Administrator

Anders: Start -> Run -> [cmd ] -> [ OK ]

ipconfig / flushdns

Flush the DNS Resolver Cache in Windows

Het is ook mogelijk om de cache in Windows wissen door herstarten de “DNS Client” of “Dnscache” service.

Vlissingen Mac OS X DNS-cache, van shellprompt:

Sinds Mac OS X, Appel Macs zijn het runnen van een Unix-gebaseerde, POSIX-compliant, besturingssysteem gebaseerd op Nextstep, zelf oorspronkelijk code bevattende FreeBSD en NetBSD. Mac OS X toepassingen lookupd of dscacheutil om de DNS cache te beheren, afhankelijk van de versie.

Om de vraag te krijgen: Toepassingen -> Utilities -> Terminal

(lookupd|dscacheutil) -flushcache

Wat hebben we hier? Per deel 1, de verticale balk betekent dat dat “lookupd” OR “dscacheutil” aanvaardbaar. De Haakje geven aan dat de verticale balk geldt alleen de “lookupd|dscacheutil” deel van de uitdrukking. Dus, de ” -flushcache” is niet vrijblijvend en moeten worden opgenomen in de opdracht om het te laten werken. Merk op dat deze commando's produceren geen uitvoer, tenzij er een fout.

Gebruik dscacheutil als u Mac OS X 10.5 (Luipaard) of hoger.

Mac OS X:

lookupd-flushcache

Mac OS X Leopard:

dscacheutil-flushcache

Use dscacheutil to flush the cache in Mac OS X Leopard

Er is ook een GUI, DNS Flusher, die gebruik maakt van automatisch beschikbaar op de juiste commando.

Vlissingen Linux / Unix’ DNS cache, van shellprompt:

N.B. Als u nog niet hebt ofwel binden (met caching lookup ingeschakeld), nscd, of dnsmasq geïnstalleerd en actief is op uw * nix-gebaseerde desktop / server, bent u waarschijnlijk niet caching DNS helemaal en er is niets te spoelen. 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:

(|zuiden )(|/usr/sbin/)nscd -i hosts
  • Use zuiden 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 thehosts” cache, logged in as a user:
sudo nscd -i hosts
Using nscd, invalidate thehosts” cache, logged in as root:
nscd -i hosts
Using nscd, invalidate thehosts” cache, logged in as root, specifying the full path:
/usr / sbin / nscd -i hosts

Het spoelen van de cache bind's

Cache bind's spoelen, we geven een commando via rndc. Gebruik sudo als je niet al wortel:

(|zuiden )rndc flush

Het opnieuw starten van de cacheing diensten werkt ook!

Hier ziet u hoe een van de caching daemons opnieuw:

(|zuiden )(service |/etc /(rc . d|rc  .d / init . d|init . d)/)(binden|dnsmasq|nscd) restart

Dat begint te moeilijk te lezen krijgen. *** Gelukkig heb ik in detail uitgelegd:

  • Net als bij de vorige opdracht, sudo gebruiken als je niet al wortel.
  • De tweede selectie heeft de eerste optie “service “. Dat geldt vooral voor Red Hat / CentOS en Fedora systemen.
  • De “/etc /(rc . d|rc .d / init . d|init . d)/” moet verder worden uitgebreid. Dit is voor de meeste andere systemen. Algemeen, de rc.d is voor als je met behulp van een BSD-stijl systeem (bij voorbeeld: Arch Linux, FreeBSD, of OpenBSD). De beste manier om zeker te weten welk commando te gebruiken is om 'te vinden’ de juiste nscd of dnsmasq path. De meeste Unix-smaken, zelfs Solaris, gebruiken nscd:
lokaliseren-r  .d / nscd $ ; lokaliseren -r  .d / dnsmasq $ ; lokaliseren -r  .d / rndc $
  • De laatste keuze is tussen “binden”, “nscd”, en “dnsmasq”. Dit is volledig afhankelijk is geïnstalleerd en in gebruik.
  • De laatste van de patroon, ” restart”, wordt de opdracht gegeven om de controle script van de daemon.

Boog, met dnsmasq, de cache daemon herstarten, logged in as root:

/etc / rc.d / dnsmasq restart

Boog, met nscd, de cache daemon herstarten, ingelogd als gebruiker:

sudo /etc/rc.d/nscd restart

CentOS / Red Hat, met nscd, de daemon herstarten, als root:

dienst nscd restart

nscdrestart

Spoel interne DNS cache Mozilla Firefox:

Mozilla Firefox houdt zijn eigen DNS-cache voor de prestaties. Firefox 2 zou slechts cache 20 contacten voor maximaal 60 seconden. De standaardinstelling vanaf Firefox 3 lijkt te zijn 512 contacten voor maximaal 60 minuten die veel meer redelijk lijkt voor elke dag browsen. Als uw desktop heeft een ingebouwde cache (die de meeste nu doen) dan is hier de cache is eigenlijk overbodig. Ik ben niet bewust van enige andere browsers die DNS-caching uitvoeren.

Ik heb een paar oplossingen gevonden voor wanneer u het nodig om de cache te legen. Het lijkt er zijn vele manieren om dit te doen maar deze zijn het makkelijkst, die ik in volgorde van voorkeur hebt gezet.:

  1. Installeer de Firefox DNS Flusher Addon – biedt een knop om de cache leeg.
  2. Installeer de DNS Cache Addon – biedt een toggle die de DNS-cache Schakelt.
  3. Cache wissen (wist browser cache en DNS Cache): Kiezen Tools -> Duidelijk Private Datum; Deselecteer alle selectievakjes behalve voor Ceendat; Klikken [ Privegegevens nu ].
  4. Handmatig doen wat DNS Cache doet: stelt u de volgende 2 over:config opties “network.dnsCacheExpiration” en “network.dnsCacheEntries” aan 0 en dan terug naar de standaard.

Ik had een slechte cached plaat en ik ontruimde cachegeheugen van mijn browser. Maar zijn nog steeds geeft me de verkeerde info. Wat geeft?

Vanwege de manier waarop DNS propagatie werkt, je bij voorkeur moet de DNS-servers op te spoelen alle DNS hosts tussen uzelf en de “gezaghebbende” gastheer, te beginnen met de gastheer die het dichtst bij de gezaghebbende gastheer (het verst van je browser).

Als voorbeeld, als je een router die is caching DNS, cache van de router te resetten voordat de DNS-cache van uw besturingssysteem herstarten, en slechts dan moet je de cache aan Firefox te wissen. De reden is dat zelfs als je alleen je OS en Firefox caches wissen, uw desktop is nog steeds aan de router te vragen voor zijn slecht opnemen toch.

Wat als mijn DNS-server is een server op het net buiten mijn controle?

Je zou tijdelijk proberen met behulp van een andere nameserver, misschien zelfs een openbaar open server. OpenDNS toont wat goede informatie over hoe dit te doen. Indien u graag, je moet ook in staat zijn om relevante informatie uit uw eigen ISP te krijgen over hun oplossen van DNS-servers. Een lokale voorbeeld (Zuid-Afrika) is SAIX die lijsten hun het oplossen van DNS-servers.

* Waarschijnlijk de reden waarom Firefox heeft een DNS cache ingebouwd ****
** “((pacman|yoghurt) -S|te voorschijn komen|(yum|geschiktheid|apt-get) installeren) nscd” en dan zorgen dat de service wordt toegevoegd aan de startup scripts. Raadpleeg de installatie-documentatie van je distributie.
*** Ik ben op zoek naar een syntax highlighting plugin die kan werken met reguliere expressies
**** Ik heb gelezen verklaringen dat het netwerk opnieuw op te starten(in|) dienst wist ook de DNS-cache maar ik heb geen enkel bewijs dat dit waar is gezien. Als iemand een voorbeeld waar dit waar is, gelieve me met de details.
Delen
Categorie: netwerken, web
U kunt alle reacties op dit bericht volgen via de RSS 2.0 voeden. U kunt een reactie achterlaten, of trackback vanaf je eigen site.

2 Reacties

  1. 1
    Stef 

    Groot artikel-noodzaak deze .. lol..

  2. 2
    John Hall 

    Thanks mate, goede uitleg hielp me een beetje meer begrijpen. Het is een beetje een mijnenveld of wat ook ik ben op Ubuntu 10.04 en werkt dat voor, ok nogmaals bedankt John.

Laat een reactie achter » Log in