Windows.  Virus.  Anteckningsböcker.  Internet.  kontor.  Verktyg.  Förare

Syftet med DNS är att översätta domännamn som är lätta att komma ihåg av människor till IP-adresser som datorer förstår, en process som kallas namnupplösning. Vad kommer installationen av vår egen cachande DNS-server att ge oss? Detta kommer att påskynda responsen från webbplatser lite + Linux tar inte NetBios-namn särskilt bra, och ibland måste du hitta datorer eller skrivare inuti lokalt nätverk, men jag vill göra det med namn.

Att komma ihåg IP-adresser är inte bekvämt, men att ständigt klättra till DHCP-serverloggen är inte heller vår metod. För sådana fall behövs DNS i det lokala nätverket. Installationen av bind9-paketet i sig är inte svårt, pluggar uppstår vanligtvis i konfigurationsstadiet, eftersom efter lättlästa konfigurationsfiler av systemet, faller en obegriplig syntax på en person, förresten, mycket lik programmeringsspråket C. servern kommer att fungera inuti det lokala nätverket, då är det inte meningsfullt att överföra den till en chroot-miljö och hela installationen tar väldigt lite tid. På detta kan den lyriska delen slutföras, vi går vidare till installation och konfiguration.

Installera Bind9 DNS-servern:

# apt - få installera bind9

När den är klar, nedladdad och installerad måste vi redigera dess konfigurationsfil:

# vim / etc / bind / named . konf. alternativ

Vi hittar avsnittet, det är i början konfigurationsfil förutom henne finns det inget annat...

optioner (katalogen "/var/cache/bind" ; // Om det finns en brandvägg mellan dig och namnservrar du vill ha// för att prata med kan du behöva fixa brandväggen för att tillåta flera// portar att prata. Se http://www.kb.cert.org/vuls/id/800113// Om din internetleverantör tillhandahållit en eller flera IP-adresser för stabil// namnservrar, du vill förmodligen använda dem som vidarebefordrare.// Avkommentera följande block, och sätt in adresserna ersätter// all-0's platshållare. // vidarebefordrare ( // 0.0.0.0; // ); auth - nxdomain no ; # överensstämmer med RFC1035 lyssna - på - v6 ( valfri ; ); );

Speditörsektionen ansvarar för vart DNS-begäran om namnupplösning kommer att skickas om den inte finns i den egna databasen. På sistone är jag inte alls nöjd, arbetet med dessa servrar hos leverantören kan kopplas till tredje part, till exempel Google, det är väldigt lätt att komma ihåg IP 8.8.

Vi redigerar avsnittet, först måste du ta bort kommentarer från det och lägga till tredjeparts DNS, om det finns ett behov av att lägga till flera servrar, till exempel om Google-servern inte motstår dina förfrågningar och avbrott :), då IP för andra servrar kan skrivas i en kolumn, då kan du uppnå större motståndskraft.

skotare ( 8.8.8.8 ; 193.58.251.251 ; //Rysk DNS-tjänst -SkyDNS};

I det här avsnittet är det bättre att ange IP-adressen för servern som du har angett i filen /etc/resolv.conf eller skriv in där i avsnittet namnserver denna IP. Vi sparar ändringarna och avslutar. Starta om servern och kontrollera. Rekryterar in kommandorad nslookup mail.ru
Bör utfärda:

Ej auktoritativt svar: Namn: mail. sv Adresser: 94.100.191.202

Detta tyder på att vår server inte är den huvudsakliga som servar denna zon (mail.ru), men förfrågningarna har lagts till i cachen!
Nu behöver vi skapa en DNS-zon för vårt nätverk så att maskiner kan hitta olika nätverkstjänster – det kan till exempel finnas nätverksskrivare, de kan vara antingen oberoende eller delade på andra arbetsstationer.
Vår zon kan kallas orgname -dvs. Organisationens namn.
Först och främst skapar vi en zon, för detta redigerar vi named.conf.local

# vim / etc / bind / named . konf. lokal

och lägg till följande:

zon "orgnamn" (skriv master ; fil "/etc/bind/db.orgname" ; );

Spara och avsluta
Nu måste vi skapa en zonkonfigurationsfil

# vim / etc / bind / db . orgnamn

och klistra in följande i den:
(Var vänlig uppmärksamma syntaxen för konfigurationsfilen, även prickar spelar roll)

@ IN SOA orgnamn . rot. orgnamn. (20101015 4h; uppdateringstid - 4 timmar 1h; upprepa varje timme 1w; hur länge ska information lagras - 1 vecka 1d); TTL (time to live) poster - 1 dag @ IN NS orgname . ; namnservernamn @ IN A 192.168.10.1 ; En - post - IP-adress för vår DNS-server som betjänar denna zon, @ betyder att detta är rotzonen. * IN CNAME @ skrivare IN A 192.168.10.25 ; Du kan skapa en DNS-post för en nätverksskrivare som finns på 192.168.10.25

Nu när du lägger till en ny nätverksenhet, du måste göra 2 saker:
1) Reservera en IP-adress för DHCP-server, hur du gör detta kan du läsa i artikeln - Att ställa in en DHCP-server
2) Skapa DNS-zon för denna IP, enhetsnamn I EN XXX.XXX.XXX.XXX. Var: enhetsnamn - enhetens nätverksnamn; XXX.XXX.XXX.XXX är dess IP-adress som är reserverad på DHCP-servern.

nu måste vi redigera filen resolv.conf

# vim / etc / resolv . konf

och skriv in där:

namnserver 127.0.0.1

allt som fanns där kunde kommenteras genom att lägga #
servern startar om

# starta om

Detta görs så att servern letar efter allt i sin egen databas, och först då kommer BIND att omdirigera förfrågningar till servern 8.8.8.8 vars IP anges i direktivet speditörer.
Nu kan du kontrollera om det fungerar:
Om testning görs från Windows:

pinga enhetsnamn. orgnamn

Om vi ​​testar från Linux:

pinga enhetsnamn. orgnamn - c 4

Pings bör gå till IP-adressen som du angav istället för XXX.XXX.XXX.XXX

Du kan också kontrollera hastigheten på bearbetningsförfrågningar med kommandot gräv

# dig @127.0.0.1 tut.by ;<<>> DiG 9.9.5-9+deb8u6-Debian<<>> @127.0.0.1 tut.by ; (1 server hittades);; globala alternativ: +cmd ;; fick svar: ;; ->>HUVUD<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

DNS (Domain Name System) är en viktig och ganska svår att konfigurera komponent som är nödvändig för driften av webbplatser och servrar. Många användare använder DNS-servrar som tillhandahålls av deras värdleverantör, men att ha dina egna DNS-servrar har vissa fördelar.

I den här handledningen kommer du att lära dig hur du installerar Bind9 och konfigurerar den som en cachning eller vidarebefordran DNS-server på en Ubuntu 14.04-server.

Krav

  • Förstå de grundläggande typerna av DNS-servrar. Detaljer finns i.
  • Två maskiner, varav åtminstone en kör Ubuntu 14.04. Den första maskinen kommer att konfigureras som en klient (IP-adress 192.0.2.100) och den andra maskinen som en DNS-server (192.0.2.1).

Du kommer att lära dig hur du konfigurerar en klientdator för att skicka frågor via en DNS-server.

Cachar DNS-server

Servrar av denna typ kallas även resolvers eftersom de bearbetar rekursiva frågor och vanligtvis kan slå upp DNS-data på andra servrar.

När en cachande DNS-server övervakar ett svar på en klientfråga, returnerar den svaret till klienten och lagrar det även i cachen under en tidsperiod som tillåts av TTL-värdet för motsvarande DNS-poster. Cachen kan sedan användas som en källa för svar på efterföljande förfrågningar för att påskynda den totala förfrågningsbehandlingstiden.

Nästan alla DNS-servrar i din nätverkskonfiguration kommer att cachelagras. En cachande DNS-server är ett bra val för många situationer. Om du inte vill lita på din värdleverantörs DNS-servrar eller andra offentliga DNS-servrar, ställ in din egen cachande DNS-server. Ju kortare avståndet är från DNS-servern till klientdatorerna, desto kortare tid tar det att betjäna DNS-frågor.

Omdirigera DNS-server

Ur klientens synvinkel kommer en vidarebefordran DNS-server att se nästan identisk ut med en cachningsserver, men mekanismerna och arbetsbelastningen är helt olika.

En DNS-server för vidarebefordran har samma fördelar som en cacheserver. Den kör dock inte någon rekursiv fråga. Istället omdirigerar den alla förfrågningar till en extern resolver och cachar sedan resultaten för efterföljande förfrågningar.

Detta gör att vidarebefordringsservern kan betjäna förfrågningar från sin cache utan att behöva behandla rekursiva förfrågningar. Den här servern hanterar alltså endast enstaka förfrågningar (omdirigerade klientförfrågningar) och inte hela rekursionsproceduren. Detta kan vara en fördel i miljöer med begränsad extern bandbredd, där du ofta behöver byta cachningsservrar, och i situationer där du behöver omdirigera lokala förfrågningar till en server och externa förfrågningar till en annan.

Steg 1 Installera Bind på en DNS-server

Bind-paketet finns i det officiella Ubuntu-förrådet. Uppdatera paketindexet och installera Bind med apt manager. Du måste också installera ett par beroenden.

sudo apt-get uppdatering
sudo apt-get installera bind9 bind9utils bind9-doc

Efter det kan du börja konfigurera servern. Cachingserverns konfiguration kan användas som en mall för att konfigurera en vidarebefordranserver, så den cachande DNS-servern måste konfigureras först.

Steg 2: Konfigurera en cachande DNS-server

Först måste du konfigurera Bind som en cachande DNS-server. Denna konfiguration kommer att få servern att rekursivt söka upp svar på klientfrågor på andra DNS-servrar. Den kommer sekventiellt att fråga alla relevanta DNS-servrar tills den hittar ett svar.

Bind-konfigurationsfiler lagras i /etc/bind-katalogen.

De flesta av filerna behöver inte redigeras. Huvudkonfigurationsfilen heter named.conf (named och bind är två namn för samma applikation). Den här filen refererar till filerna named.conf.options, named.conf.local och named.conf.default-zones.

För att konfigurera en cachande DNS-server behöver du bara redigera named.conf.options.

sudo nano named.conf.options

Den här filen ser ut så här (kommentarer utelämnade för enkelhetens skull):

alternativ (
katalog "/var/cache/bind";
dnssec-validering auto;

lyssna-på-v6 (alla;);
};

För att ställa in en cachningsserver måste du skapa en åtkomstkontrolllista, eller ACL.

Du måste skydda DNS-servern som behandlar rekursiva frågor från inkräktare. DNS-förstärkningsattacker är särskilt farliga eftersom de kan involvera servern i distribuerade överbelastningsattacker.

DNS-förstärkningsattacker är ett sätt att få ner servrar och webbplatser. För att göra detta försöker angripare hitta offentliga DNS-servrar som bearbetar rekursiva frågor. De förfalskar offrets IP-adress och skickar en fråga som kommer att returnera ett mycket stort svar till DNS-servern. I det här fallet returnerar DNS-servern för mycket data till offrets server som svar på en liten begäran, vilket ökar angriparens tillgängliga bandbredd.

Att vara värd för en offentlig rekursiv DNS-server kräver noggrann konfiguration och administration. För att förhindra att servern hackas, konfigurera en lista med IP-adresser eller nätverksintervall som servern kan lita på.

Lägg till ett acl-block före alternativblocket. Skapa en etikett för ACL-gruppen (i den här handboken kallas gruppen goodclients).

acl bra kunder(
};
alternativ(
. . .

Lista i detta block de IP-adresser eller nätverk som kommer att ha åtkomst till denna DNS-server. Eftersom servern och klienten körs på /24-undernätet kan du begränsa åtkomsten till det undernätet. Du måste också avblockera localhost och localnets, som ansluter automatiskt.

acl bra kunder(
192.0.2.0/24;
lokal värd;
lokala nät;
};
alternativ(
. . .

Du har nu säkra klient-ACL. Du kan börja ställa in förfrågningsupplösningen i alternativblocket. Lägg till följande rader:

alternativ (
katalog "/var/cache/bind";
rekursion ja;

. . .

Alternativblocket aktiverar uttryckligen rekursion och ställer sedan in alternativet tillåt-fråga för att använda ACL. Du kan också använda ett annat alternativ för att referera till en ACL-grupp, till exempel tillåt-rekursion. Med rekursion aktiverad kommer tillåt-rekursion att definiera en lista över klienter som kan använda rekursiva tjänster.

Men om alternativet tillåt-rekursion inte är inställt, faller Bind tillbaka till listan tillåt-fråga-cache, sedan till tillåt-fråga-listan och slutligen till standardlistorna för lokala nät och lokala värdar. Eftersom vi bara sätter upp en cachningsserver (den har inga egna zoner och vidarebefordrar inte förfrågningar), kommer tillåt-förfrågningslistan alltid endast att gälla rekursion. Detta är det mest allmänna sättet att definiera en ACL.

Spara och stäng filen.

Det här är alla inställningar som behöver läggas till i konfigurationsfilen för cachning av DNS-servern.

Notera S: Om du bara vill använda den här typen av DNS, fortsätt med att kontrollera konfigurationerna, starta om tjänsten och konfigurera din klient.

Steg 3: Konfigurera en DNS-server för vidarebefordran

Om din infrastruktur är mer lämpad för en vidarebefordran DNS-server kan du justera inställningen lite.

För tillfället ser filen named.conf.options ut så här:

acl bra kunder(
192.0.2.0/24;
lokal värd;
lokala nät;
};
alternativ(
katalog "/var/cache/bind";
rekursion ja;
tillåt-fråga ( goodclients; );
dnssec-validering auto;
auth-nxdomain no; # överensstämmer med RFC1035
lyssna-på-v6 (alla;);
};

Du kan använda samma ACL för att begränsa en DNS-server till en specifik lista med klienter. Detta kräver dock en liten konfigurationsändring så att servern inte längre försöker köra rekursiva frågor.

Ändra inte rekursion till nej. Vidarebefordranservern stöder rekursiva tjänster. För att ställa in en omdirigeringsserver måste du skapa en lista över cachningsservrar som den kommer att omdirigera förfrågningar till.

Detta görs i options()-blocket. Först måste du skapa ett nytt vidarebefordrarblock i det, som lagrar IP-adresserna för de rekursiva namnservrarna som du vill vidarebefordra förfrågningar till. I det här fallet kommer dessa att vara Googles DNS-servrar (8.8.8.8 och 8.8.4.4):

. . .
alternativ(
katalog "/var/cache/bind";
rekursion ja;
tillåt-fråga ( goodclients; );
speditörer (

8.8.8.8;

8.8.4.4;

};
. . .

Den resulterande konfigurationen ser ut så här:

acl bra kunder(
192.0.2.0/24;
lokal värd;
lokala nät;
};
alternativ(
katalog "/var/cache/bind";
rekursion ja;
tillåt-fråga ( goodclients; );
speditörer (
8.8.8.8;
8.8.4.4;
};
endast framåt;
dnssec-validering auto;
auth-nxdomain no; # överensstämmer med RFC1035
lyssna-på-v6 (alla;);
};

Den sista ändringen gäller parametern dnssec. Med den aktuella konfigurationen och beroende på inställningarna för DNS-servrarna som förfrågningar omdirigeras till, kan följande fel dyka upp i loggarna:

Jun 25 15:03:29 cache named: error (chase DS-servrar) löser "in-addr.arpa/DS/IN": 8.8.8.8#53
Jun 25 15:03:29 cache named: error (ingen giltig DS) löser "111.111.111.111.in-addr.arpa/PTR/IN": 8.8.4.4#53

För att undvika dem måste du ändra värdet på dnssec-valideringsparametern till yes och uttryckligen aktivera dnssec.

. . .
endast framåt;
dnssec-aktivera ja;
dnssec-validering ja;
auth-nxdomain no; # överensstämmer med RFC1035
. . .

Spara och stäng filen. Konfigurationen av DNS-servern för vidarebefordran är klar.

Steg 4: Kontrollera inställningarna och starta om Bind

Nu måste vi se till att inställningarna fungerar som förväntat.

För att kontrollera syntaxen för konfigurationsfiler, skriv:

sudo named-checkconf

Om det inte finns några fel i filerna kommer kommandoraden inte att visa någon utdata.

Om du får ett felmeddelande, korrigera det och kontrollera igen.

Du kan sedan starta om Bind-demonen för att uppdatera inställningarna.

sudo service bind9 omstart

Efter att du behöver kontrollera serverloggarna. Kör kommandot på servern:

sudo tail -f /var/log/syslog

Öppna nu en ny terminal och börja konfigurera klientdatorn.

5: Klientkonfiguration

Logga in på klientdatorn. Kontrollera att klienten var listad i ACL-gruppen för den konfigurerade DNS-servern. Annars kommer DNS-servern att vägra betjäna frågor från denna klient.

Redigera filen /etc/resolv.conf för att peka servern till namnservern.

Ändringar som görs här kommer bara att kvarstå tills en omstart, vilket är bra för testning. Om du är nöjd med resultatet av testinställningen kan du göra dessa inställningar permanenta.

Öppna filen med sudo i en textredigerare:

sudo nano /etc/resolv.conf

Filen måste lista de DNS-servrar som kommer att användas för att lösa frågor. För att göra detta, använd namnserverdirektivet. Kommentera alla aktuella poster och lägg till radens namnserver som pekar på din DNS-server:

namnserver 192.0.2.1
#namnserver 8.8.4.4
#namnserver 8.8.8.8
# namnserver 209.244.0.3

Spara och stäng filen.

Nu kan du skicka en testförfrågan för att se till att den löser sig korrekt.

Du kan använda ping för detta:

ping -c 1
PING google.com (173.194.33.1) 56(84) byte med data.
64 byte från sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 tid=63,8 ms
--- pingstatistik ---
1 paket överfört, 1 mottaget, 0% paketförlust, tid 0ms
rtt min/avg/max/mdev = 63.807/63.807/63.807/0.000ms

För att påskynda webbsurfandet cachar Windows-operativsystemet DNS-serversvar. Omedelbart efter ankomsten av ett svar på definitionen av ett numeriskt värde från DNS-servern, placerar Windows automatiskt denna adress i lokal lagring. När en webbläsare begär en adress från en URL letar Windows först upp den i butiken och om den hittar den returnerar den omedelbart resultatet utan att gå till Internetleverantörens DNS-servrar. Lokal cache ökar hastigheten och sparar trafik.

Rensa den lokala DNS-cachen

Om informationen är skadad eller IP-adressen ändras medan adressen lagras i lokal lagring, kommer webbläsaren inte att kunna öppna webbplatsen. Detta händer inte särskilt ofta. Lyckligtvis finns det ett sätt att rensa den lokala cachen för att åtgärda problemet omedelbart.

Windows har ett verktyg ipconfig, som har alternativet /flushdns för att rensa alla cachade poster. Om du vill rensa den lokala cachen, i kommandoradsfönstret ( StartProgram(Alla program) - StandardKommandorad) bör du ange kommandot ipconfig /flushdns och tryck på Enter-tangenten.

För att se alla DNS-poster i lokal lagring kan du använda alternativet /displaydns kommandon ipconfig. För att göra detta anger du kommandot i kommandoradsfönstret ipconfig / visasdns och tryck på Enter-tangenten. Alla register över cachade DNS-svar visas i fönstret.

Ställa in cachetiden

Vanligtvis lagrar Windows adresser i högst 86400 sekunder (1 dag), men du kan begränsa lagringstiden till en annan gräns. För att göra detta, öppna registerredigeraren (vid kommandotolken, skriv regedit och tryck på Enter). I den vänstra rutan i redigeraren finns ett träd med registernycklar som ser ut som mappar på en hårddisk. I det här trädet bör sökvägen öppnas genom att klicka på motsvarande mappexpansionsikoner (plustecken). HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters, ställ sedan markören på mappen i det här trädet Parametrar. Innehållet i denna nyckel (mapp) kommer att visas i det högra området i registerredigeraren.

DWORD-värdet för parametern MaxCacheTtl Anger tidsgränserna för lagring av svar i sekunder. Det kan ändras till något annat. Om parameter MaxCacheTtl nej, det betyder att standardgränsen är satt till 86400 sekunder. För att ändra det, skapa en parameter MaxCacheTtl DWORD-typ med ett värde lika med den obligatoriska gränsen. Parameter MaxCacheTtl begränsar endast lagringstiden för positiva svar, d.v.s. när det var möjligt att bestämma ip-adressen genom domännamnet.

Om leverantörens DNS-server returnerade ett negativt svar (det gick inte att fastställa adressen) lagras det också i lokal lagring. Vanligtvis lagras ett sådant svar i 15 minuter. Detta innebär att om det under besöket på sidan inte var möjligt att fastställa dess ip-adress, kommer sidan att vara omöjlig att besöka inom 15 minuter, även om den blir tillgänglig under denna tid. För att undvika detta bör du minska lagringstiden för negativa svar eller inaktivera deras lagring helt och hållet. För att ställa in retentionstiden måste du justera (eller skapa om den saknas) DWORD-parametern MaxNegativeCacheTtl, vilket begränsar tidsgränsen för att lagra negativa svar. För att inaktivera deras lagring räcker det att ställa in lagringstiden till noll.

Inaktivera tillfälligt DNS Response Caching

Om du tillfälligt vill inaktivera adresscachelagring i lokal lagring, måste du ange kommandot på kommandoraden nätstopp dnscache(eller sc stoppa dnscache) och tryck på Enter. För att slå på den igen, skriv in kommandot på kommandoraden net start dnscache(eller scStart dnscache) och tryck på Retur eller starta om datorn.

En DNS-cache är en temporär databas som lagrar information om tidigare DNS-uppslagningar. Med andra ord, när du besöker en webbplats kommer ditt operativsystem och din webbläsare att hålla register över domänen och motsvarande IP-adress. Detta eliminerar behovet av upprepade frågor till fjärranslutna DNS-servrar och låter ditt operativsystem eller webbläsare snabbt lösa webbadresser.

I vissa situationer, till exempel nätverksfelsökning eller efter att du har bytt DNS-lösare, måste du tömma DNS-cachen. Detta kommer att rensa de cachade DNS-posterna och utföra en efterföljande sökning för att lösa domänen baserat på de nyligen konfigurerade DNS-inställningarna.

Den här artikeln ger instruktioner om hur du rensar DNS-cachen på olika sätt operativsystem och webbläsare.

Rensa/ta bort DNS-cache i Windows

Processen för att rensa DNS-cachen är densamma för alla versioner av Windows. Du måste öppna en kommandotolk med administratörsrättigheter och köra ipconfig /flushdns.

Windows 10 och Windows 8

För att rensa DNS-cachen i Windows 10 och 8, följ dessa steg:

  1. Skriv cmd i Windows sökfält.
  2. ipconfig /flushdns

    Windows 7

    Följ dessa steg för att rensa DNS-cachen i Windows 7:

    1. Klicka på Start-knappen.
    2. Skriv cmd i söktextrutan på startmenyn.
    3. Högerklicka på Kommandotolken och välj Kör som administratör. Detta öppnar ett kommandotolksfönster.
    4. Vid kommandotolken skriver du följande rad och trycker på Enter:

      ipconfig /flushdns

      Om det lyckas kommer systemet att returnera följande meddelande:

      Windows IP-konfiguration har tömt DNS Resolver Cache.

    Spola/ta bort DNS-cache i Linux

    Linux saknar DNS-caching på OS-nivå om inte en cachningstjänst som Systemd-Resolved, DNSMasq eller Nscd är installerad och körs. Processen för att rensa DNS-cachen skiljer sig beroende på vilken distribution och cachingtjänst du använder.

    Systemd löst

    De flesta moderna Linux-distributioner, såsom , använder en systemaktiverad tjänst för att cachelagra DNS-poster.

    För att ta reda på om tjänsten körs, kör:

    sudo systemctl är aktivt systemd-resolved.service

    Om tjänsten körs kommer kommandot att skriva ut aktivt, annars kommer du att se inaktiv.

    För att tömma Systemd Resolved DNS-cachen måste du ange följande kommando.

    sudo systemd-resolve --flush-cacher

    Om det lyckas returnerar kommandot inget meddelande.

    Dnsmasq

    Dnsmasq är en lätt DHCP- och DNS-namncacheserver.

    Om ditt system använder DNSMasq som cacheserver måste du starta om Dnsmasq-tjänsten för att rensa DNS-cachen:

    sudo systemctl starta om dnsmasq.service

    sudo service dnsmasq omstart

    nscd

    Nscd är en cachingdemon och är det föredragna DNS-cachingsystemet för de flesta RedHat-baserade distributioner.

    Om ditt system använder Nscd måste du starta om Nscd-tjänsten för att rensa DNS-cachen:

    sudo systemctl starta om nscd.service

    sudo service nscd omstart

    Rensa/ta bort DNS-cache på MacOS

    Kommandot för att rensa cacheminnet i MacOS är något annorlunda beroende på vilken version du använder. Kommandot måste köras som en användare med systemadministratörsrättigheter (sudo-användare).

    För att rensa DNS-cachen på MacOS, följ dessa steg:

    1. Öppna Finder.
    2. Gå till Program > Verktyg > Terminal. Detta öppnar ett terminalfönster.
    3. Vid kommandotolken skriver du följande rad och trycker på Enter:

      sudo killall -HUP mDNSResponder

      Skriv in ditt sudo-lösenord och tryck på Enter igen. Om det lyckas returnerar systemet inga meddelanden.

    För mer tidiga versioner MacOS-kommandot för att rensa cacheminnet är annorlunda.

    MacOS-versionerna 10.11 och 10.9

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    macOS version 10.10

    sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcache

    MacOS version 10.6 och 10.5

    sudo dscacheutil -flushcache

    Rensa/ta bort webbläsarens DNS-cache

    De flesta moderna webbläsare har en inbyggd DNS-klient som förhindrar dubbletter av förfrågningar varje gång du besöker en webbplats.

    Google Chrome

    För att rensa DNS-cachen Google Chrome, gör följande:

    1. Öppna en ny flik och skriv in adressfält Chrome: chrome://net-internals/#dns.
    2. Klicka på knappen Rensa värdcache.

    Om detta inte fungerar för dig kan du försöka rensa cacheminnet och cookies.

    1. Tryck på CTRL+Skift+Del för att öppna dialogrutan Rensa webbläsardata.
    2. Välj ett tidsintervall. Välj "Hela tiden" för att radera allt.
    3. Markera rutorna " Småkakor och andra webbplatsdata" och "Cachade bilder och filer".
    4. Klicka på knappen Rensa data.

    Denna metod bör fungera för alla Chrome-baserade webbläsare inklusive Chromium, Vivaldi och Opera.

    firefox

    För att rensa Firefox DNS-cache, följ dessa steg:

    1. I det övre högra hörnet klickar du på hamburgerikonen ☰ för att öppna Firefox-menyn:
    2. Klicka på länken ⚙ Alternativ (Inställningar).
    3. Klicka på fliken "Sekretess och säkerhet" eller "Sekretess" till vänster.
    4. Rulla ner till Historik-sektionen och klicka på knappen Rensa historik....
    5. Välj ett tidsintervall att rensa. Välj "Alla" för att ta bort allt.
    6. Markera alla fält och klicka på Rensa nu.

    Om detta inte fungerar för dig, prova nästa metod och inaktivera DNS-cachen tillfälligt.

    1. Öppna en ny flik och skriv about:config i Firefox adressfält.
    2. Leta upp network.dnsCacheExpiration, ställ in värdet tillfälligt till 0 och klicka på OK. Efter det ändrar du standardvärdet och klickar på OK.
    3. Leta upp network.dnsCacheEntries, ställ in värdet tillfälligt till 0 och klicka på OK. Ändra sedan standardvärdet och klicka på OK.

    Slutsats

    Har du lärt dig hur du rensar eller rensar DNS-cachen i driften Windows-system, Linux och macOS.

    Linux och MacOS kan använda dig-kommandot för att fråga DNS och felsöka DNS-problem.

    Om du har några frågor eller feedback, lämna gärna en kommentar.

artem

30.10.2013

10379

Konfigurera en cachande DNS-server för att lösa problemet med att hänga chan_sip.so.

Asterisk SIP-modulen löser DNS-namn synkront, om DNS-servern, av någon anledning, slutar svara, slutar SIP-modulkoden att exekvera innan DNS-begäran timeout. Resultatet av detta är att alla klienter och leverantörer som är anslutna via SIP inte fungerar, klienter kan inte registrera sig och ringa.
Sätt att lösa problemet:
1. Ange inte DNS-namn i parametern 'värd' för SIP-peers och i SIP-registreringsrader, ange endast IP-adresser (låter dig helt eliminera möjligheten till problem, men är inte möjligt med vissa leverantörer).
2. Konfigurera en cachande DNS-server på Asterisk-värden.

Den här artikeln kommer att beskriva hur du löser problemet med BIND DNS-servern (instruktionen är korrekt för CentOS 5-6)

Konfigurera BIND DNS-servern

1. Installera BIND, kopiera inställningsmallar och standard zonfiler

mums installera bind bind-chroot
cp /etc/localtime /var/named/chroot/etc

cp /usr/share/doc/bind-*/sample/etc/named.root.hints /var/named/chroot/etc
cp /usr/share/doc/bind-*/sample/etc/named.rfc1912.zones /var/named/chroot/etc
cp /usr/share/doc/bind-*/sample/etc/named.conf /var/named/chroot/etc

cp /usr/share/bind-*/sample/var/named/localdomain.zone /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/localhost.zone /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.broadcast /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.ip6.local /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.local /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.root /var/named/chroot/var/named
cp /usr/share/bind-*/sample/var/named/named.zero /var/named/chroot/var/named

2. Redigera BIND config /var/named/chroot/etc/named.conf

Du måste göra följande ändringar i konfigurationen:

> Lägg till en rad i alternativsektionen:

Du kan ange dina DNS-servrar. Om du inte anger den här raden kommer BIND att fråga rot-DNS-servrarna, vilket är långsammare

> Tillåt rekursiva frågor för view-zone 'localhost_resolver' (ersätt 'rekursion nej' med 'rekursion ja', om detta inte görs kommer värden själv inte att kunna göra rekursiva frågor via DNS-servern). Rekursiva frågor och cachefrågor för andra zoner kan inaktiveras

> Kommentera eller ta bort avsnitten som ansvarar för att ställa in interna zoner och DDNS, eftersom de kommer bara inte att vara det

Lista över den resulterande konfigurationen:

//
// Exempel på named.conf BIND DNS-server 'named' konfigurationsfil
// för Red Hat BIND-distributionen.
// Se BIND Administrator's Reference Manual (ARM) för detaljer, i:
// file:///usr/share/doc/bind-*/arm/Bv9ARM.html
// Se även BIND Configuration GUI: /usr/bin/system-config-bind and
// dess manual.
alternativ
{
// Dessa alternativ bör användas försiktigt eftersom de inaktiverar port
// randomisering
// query-source port 53;
// query-source-v6 port 53;

// Lägg filer som namngivna får skriva i data/katalogen:
katalog "/var/named"; // standard
dump-fil "data/cache_dump.db";
statistik-fil "data/named_stats.txt";
memstatistics-filen "data/named_mem_stats.txt";
max-cache-storlek 2097152;

skotare ( 8.8.8.8; 8.8.4.4; );
};
//skogsavverkning
//{
/* Om du vill aktivera felsökning, t.ex. med kommandot 'rndc trace',
* named kommer att försöka skriva filen 'named.run' i $katalogen (/var/named).
* Som standard tillåter inte SELinux policy att named ändrar katalogen /var/named,
* så lägg standardfelsökningsloggfilen i data/ :
*/
// kanal default_debug(
// filen "data/named.run";
// svårighetsgrad dynamisk;
// };
//};
// Alla BIND 9-zoner är i en "vy", vilket gör att olika zoner kan betjänas
// till olika typer av klientadresser och för att ställa in alternativ för grupper
// zoner.
// Som standard, om named.conf inte innehåller några "view"-satser, är alla zoner i
// "default"-vy, som matchar alla klienter.
// Om named.conf innehåller någon "view"-sats, så MÅSTE alla zoner vara i en vy;
// så det rekommenderas att börja använda vyer för att undvika att behöva omstrukturera
// dina konfigurationsfiler i framtiden.
visa "localhost_resolver"
{
/* Den här vyn ställs in namngiven för att vara en lokalvärd-resolver (endast cachning av namnserver).
* Om allt du vill ha är en caching-endast namnserver, behöver du bara definiera denna vy:
*/
match-klienter (localhost;);
match-destinationer (localhost;);
rekursion ja;

/* dessa är zoner som innehåller definitioner för alla lokala värdar
* namn och adresser, som rekommenderas i RFC1912 – dessa namn bör
* ENDAST serveras till lokala värdklienter:
*/
inkludera "/etc/named.rfc1912.zones";
};
visa "internt"
{
/* Den här vyn kommer att innehålla zoner som du bara vill visa till "interna" klienter
som ansluter via dina direktanslutna LAN-gränssnitt – "lokalnät" .
*/
match-klienter (lokalnät;);
matchdestinationer (lokalnät;);
rekursion nej;

Tillåt-query-cache (ingen;);

// alla vyer måste innehålla rottipszonen:
inkludera "/etc/named.root.hints";

// inkluderar "named.rfc1912.zones";
// du bör inte skicka dina rfc1912-namn till klienter som inte är lokala värdar.

// Dessa är dina "auktoritativa" interna zoner, och skulle förmodligen göra det
// inkluderas också i vyn "localhost_resolver" ovan:

//zon "my.internal.zone" (
// maskinskrivare;
// filen "my.internal.zone.db";
//};
//zon "my.slave.internal.zone" (
// typ slav;
// filen “slaves/my.slave.internal.zone.db”;
// masters ( /* lägg huvudnamnserver-IP här */ 127.0.0.1; ) ;
// // placera slavzoner i katalogen slaves/ så namngiven kan uppdatera dem
//};
//zon "my.ddns.internal.zone" (
// maskinskrivare;
// allow-update (nyckel ddns_key; );
// filen "slaves/my.ddns.internal.zone.db";
// // placera dynamiskt uppdateringsbara zoner i katalogen slaves/ så namngiven kan uppdatera dem
//};
};
//nyckel ddns_key
//{
// algoritm hmac-md5;
// hemlighet "använd /usr/sbin/dns-keygen för att generera TSIG-nycklar";
//};
visa "extern"
{
/* Den här vyn kommer att innehålla zoner som du bara vill visa till "externa" klienter
* som har adresser som inte finns på dina direktanslutna LAN-gränssnittsundernät:
*/
match-klienter (alla;);
match-destinationer (alla;);

rekursion nej;
// du skulle förmodligen vilja förneka rekursion till externa klienter, så du gör det inte
// slutar med att tillhandahålla gratis DNS-tjänst till alla användare

allow-query-cache (ingen; );
// Inaktivera uppslagningar för alla cachade data och rottips

// alla vyer måste innehålla rottipszonen:
inkludera "/etc/named.root.hints";

// Dessa är dina "auktoritativa" externa zoner, och skulle förmodligen göra det
// innehåller poster för bara dina webb- och e-postservrar:

//zon "my.external.zone" (
// maskinskrivare;
// filen "my.external.zone.db";
//};
};

3. Kör BIND, slå på start vid systemstart

tjänst som heter start

Om fel görs i konfigurationssyntaxen eller om några filer saknas, kommer ett felmeddelande att skrivas ut till konsolen och skrivas till /var/log/messages-loggen

Om du upptäcker ett fel, välj en textbit och tryck på Ctrl + Retur
DELA MED SIG: