Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

Celem DNS jest tłumaczenie nazw domen, które są łatwe do zapamiętania przez ludzi, na adresy IP zrozumiałe dla komputerów, co jest procesem zwanym rozpoznawaniem nazw. Co da nam instalacja własnego buforującego serwera DNS? Przyspieszy to trochę reakcję stron + Linux nie przyjmuje zbyt dobrze nazw NetBios, ale czasami trzeba znaleźć w środku komputery lub drukarki sieć lokalna, ale chcę to zrobić po imieniu.

Zapamiętywanie adresów IP nie jest wygodne, ale ciągłe przechodzenie do dziennika Działanie DHCP serwery również nie są naszą metodą. W takich przypadkach potrzebujesz DNS w sieci lokalnej. Sama instalacja pakietu bind9 nie jest trudna; błędy pojawiają się zwykle na etapie jego konfiguracji, ponieważ Po łatwo czytelnych plikach konfiguracyjnych systemu człowiek ma do czynienia z niezrozumiałą składnią, która, nawiasem mówiąc, jest bardzo podobna do języka programowania S. serwer będzie działał w sieci lokalnej, nie ma sensu przenosić go do środowiska chroot, a cała konfiguracja zajmuje bardzo mało czasu. Na tym można zakończyć część liryczną, przejdźmy do instalacji i konfiguracji.

Zainstalujmy serwer DNS Bind9:

# apt — pobierz instalację bind9

Po zakończeniu, pobraniu i instalacji musimy edytować jego plik konfiguracyjny:

#vim /etc/bind/nazwany. konf. opcje

Znajdujemy sekcję, jest na samym początku plik konfiguracyjny poza nią nie ma tam nic innego...

opcje (katalog "/var/cache/bind"; // Jeśli między tobą a wybranymi serwerami nazw znajduje się zapora sieciowa// aby porozmawiać, może być konieczne naprawienie zapory sieciowej, aby umożliwić korzystanie z wielu//porty do rozmów. Zobacz http://www.kb.cert.org/vuls/id/800113// Jeśli Twój dostawca usług internetowych podał jeden lub więcej adresów IP dla wersji stabilnej// serwery nazw, prawdopodobnie chcesz używać ich jako serwerów przesyłania dalej.// Odkomentuj następujący blok, i wstaw zamiana adresów// symbol zastępczy samych 0. // forwardery ( // 0.0.0.0; // ); auth - nxdomain no; # zgodny z RFC1035 Listen - on - v6 (any; ); );

Sekcja forwarderów odpowiada za to, gdzie zostanie wysłane żądanie DNS dotyczące rozpoznania nazwy, jeśli nie znajduje się ono w jej własnej bazie danych. Ostatnio wcale nie jestem zadowolony, praca tych serwerów z dostawcą jest powodem, dla którego można łączyć serwery innych firm, np. Google, bardzo łatwo zapamiętać IP 8.8.8.8, będę go używać jako przykład konfiguracji, ale nikt nie przeszkadza Ci używać tych, które najbardziej Ci się podobają.

Edytujmy sekcję, najpierw usuń z niej komentarze i dodaj DNS strony trzeciej, jeśli zajdzie potrzeba dodania kilku serwerów, na przykład w przypadku serwer Google'a nie wytrzyma twoich żądań i ulegnie awarii :), wtedy adres IP innych serwerów można zapisać w kolumnie, wtedy możesz osiągnąć większą odporność na awarie.

spedytorzy(8.8.8.8; 193.58.251.251; //Rosyjska usługa DNS -SkyDNS};

W tej sekcji lepiej wpisać adres IP serwera, który podałeś w pliku /etc/resolv.conf lub wpisz go w sekcji serwer nazw tego IP. Zapisz zmiany i wyjdź. Zrestartuj serwer i sprawdź. Rekrutacja w godz wiersz poleceń nslookup mail.ru
Powinien wyprowadzić:

Odpowiedź nieautorytatywna: Imię i nazwisko: mail. ru Adresy: 94.100.191.202

Sugeruje to, że nasz serwer nie jest głównym serwerem obsługującym tę strefę (mail.ru), ale dodał żądania do pamięci podręcznej!
Teraz musimy stworzyć strefę DNS dla naszej sieci, aby maszyny mogły znajdować różne usługi sieciowe - mogą tam być np. drukarki sieciowe, mogą być niezależne lub współdzielone na innych stacjach roboczych.
Naszą strefę można nazwać organname – czyli tzw. nazwa organizacji.
Przede wszystkim tworzymy strefę, w tym celu będziemy edytować o nazwie.conf.local

#vim /etc/bind/nazwany. konf. lokalny

i dodaj do niego następujące informacje:

strefa „nazwa organizacji” (wpisz master ; plik „/etc/bind/db.orgname” ; );

Zapisz i wyjdź
Teraz musimy utworzyć plik konfiguracyjny strefy

# vim /etc/bind/db. nazwa organu

i wklej do niego następujące informacje:
(Proszę zwrócić szczególną uwagę na składnię pliku konfiguracyjnego, nawet kropki mają znaczenie)

@IN Nazwa organizacji SOA.

źródło. nazwa organu. (20101015 4h; czas aktualizacji - 4 godziny 1h; powtarzanie co godzinę 1w; jak długo przechowywać informacje - 1 tydzień 1d); TTL (czas życia) rekordu wynosi 1 dzień w nazwie organizacji IN NS. ; nazwaserwera nazw @ IN A 192.168.10.1 ;
A - rekord - adres IP naszego serwera DNS obsługującego tę strefę, @ oznacza, że ​​jest to strefa root.
* W CNAME @ drukarka IN A 192.168.10.25 ; Możesz utworzyć rekord DNS dla drukarki sieciowej znajdującej się pod adresem 192.168.10.25 Teraz, dodając nowy

urządzenie sieciowe

, musisz zrobić 2 rzeczy:

1) Zarezerwuj adres IP na serwerze DHCP, o tym, jak to zrobić, przeczytasz w artykule - Konfiguracja serwera DHCP

2) Utwórz

Strefa DNS
dla tego adresu IP wpisz nazwę urządzenia IN A XXX.XXX.XXX.XXX. Gdzie: nazwa_urządzenia to nazwa sieciowa urządzenia; XXX.XXX.XXX.XXX to jego adres IP zarezerwowany na serwerze DHCP.

teraz musimy edytować plik resolv.conf

#vim /etc/resolv. konf i wpisz tam:.
serwer nazw 127.0.0.1
wszystko, co tam było, można skomentować, wstawiając #

serwer uruchamia się ponownie

# ponowne uruchomienie

Zrobiono to tak, że serwer przeszukuje wszystko we własnej bazie danych i dopiero wtedy BIND będzie przekierowywał żądania do serwera 8.8.8.8 IP, którego IP jest zawarte w dyrektywie

spedytorzy

Teraz możesz sprawdzić funkcjonalność: Jeśli testowanie odbywa się w systemie Windows:

ping nazwa urządzenia. nazwa organu<<>Jeśli testujemy z Linuksa:<<>ping nazwa urządzenia. nazwa organu - c 4<<- 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

Pingi powinny być kierowane na podany adres IP, a nie XXX.XXX.XXX.XXX

Za pomocą polecenia możesz także sprawdzić szybkość przetwarzania żądań

kopać

  • # wykop @127.0.0.1 tut.by ;
  • > DiG 9.9.5-9+deb8u6-Debian

> @127.0.0.1 tut.by ; (znaleziono 1 serwer) ;; opcje globalne: +cmd ;; Mam odpowiedź: ;; ->> NAGŁÓWEK

Buforujący serwer DNS

Serwery tego typu nazywane są również programami rozpoznawania nazw, ponieważ przetwarzają zapytania rekurencyjne i zazwyczaj mogą wyszukiwać dane DNS na innych serwerach.

Kiedy buforujący serwer DNS monitoruje odpowiedź na zapytanie klienta, zwraca odpowiedź klientowi, a także przechowuje ją w pamięci podręcznej przez okres czasu dozwolony przez wartość TTL odpowiednich rekordów DNS. Pamięć podręczną można następnie wykorzystać jako źródło odpowiedzi na kolejne żądania, aby przyspieszyć ogólny czas przetwarzania żądań.

Prawie wszystkie serwery DNS w konfiguracji sieci będą serwerami buforującymi. Buforujący serwer DNS to dobry wybór w wielu sytuacjach. Jeśli nie chcesz polegać na serwerach DNS swojego dostawcy usług hostingowych ani innych publicznych serwerach DNS, skonfiguruj własny buforujący serwer DNS. Im mniejsza odległość między serwerem DNS a maszynami klienckimi, tym krótszy jest czas potrzebny na obsługę żądań DNS.

Przekazywanie serwera DNS

Z perspektywy klienta serwer DNS przekazujący będzie wyglądać niemal identycznie jak serwer buforujący, ale mechanizmy i obciążenie będą zupełnie inne.

Serwer DNS przekazujący ma te same zalety, co serwer buforujący. Jednak w rzeczywistości nie wykonuje żadnych zapytań rekurencyjnych. Zamiast tego przekazuje wszystkie żądania do zewnętrznego serwera rozstrzygającego, a następnie buforuje wyniki dla kolejnych żądań.

Dzięki temu serwer przekierowań może obsługiwać żądania ze swojej pamięci podręcznej bez konieczności przetwarzania żądań rekurencyjnych. Dlatego ten serwer przetwarza tylko pojedyncze żądania (przekierowane żądania klientów), a nie całą procedurę rekurencji. Może to być zaletą w środowiskach o ograniczonej przepustowości zewnętrznej, gdzie serwery buforujące wymagają częstej zmiany oraz w sytuacjach, gdy żądania lokalne muszą być kierowane do jednego serwera, a żądania zewnętrzne do drugiego.

1: Zainstaluj Bind na serwerze DNS

Pakiet Bind można znaleźć w oficjalnym repozytorium Ubuntu. Zaktualizuj indeks pakietu i zainstaluj Bind za pomocą menedżera apt. Musisz także zainstalować kilka zależności.

sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc

Następnie możesz rozpocząć konfigurowanie serwera. Konfigurację serwera buforującego można wykorzystać jako szablon do konfiguracji serwera przekazującego, dlatego należy najpierw skonfigurować buforujący serwer DNS.

2: Konfigurowanie buforującego serwera DNS

Najpierw musisz skonfigurować Bind jako buforujący serwer DNS. Ta konfiguracja zmusi serwer do rekurencyjnego wyszukiwania odpowiedzi na żądania klientów na innych serwerach DNS. Będzie sekwencyjnie wysyłać zapytania do wszystkich pasujących serwerów DNS, aż znajdzie odpowiedź.

Pliki konfiguracyjne powiązań są przechowywane w katalogu /etc/bind.

Większość plików nie wymaga edycji. Główny plik konfiguracyjny nosi nazwę Named.conf (named i bind to dwie nazwy tej samej aplikacji). Ten plik odwołuje się do plików o nazwie.conf.options, o nazwie.conf.local i o nazwie.conf.default-zones.

Aby skonfigurować buforujący serwer DNS, wystarczy zmodyfikować plik Name.conf.options.

sudo nano o nazwie.conf.options

Plik ten wygląda następująco (komentarze pominięto dla uproszczenia):

opcje (
katalog "/var/cache/bind";
automatyczna walidacja dnssec;

nasłuchiwanie na v6 (dowolny; );
};

Aby skonfigurować serwer buforujący, musisz utworzyć listę kontroli dostępu, czyli ACL.

Musisz chronić serwer DNS, który przetwarza zapytania rekurencyjne przed atakującymi. Ataki wzmacniające DNS są szczególnie niebezpieczne, ponieważ mogą zaangażować serwer w rozproszone ataki typu „odmowa usługi”.

Ataki wzmacniające DNS to jeden ze sposobów na wyłączenie serwerów i stron internetowych. W tym celu napastnicy próbują znaleźć publiczne serwery DNS, które przetwarzają zapytania rekurencyjne. Fałszują adres IP ofiary i wysyłają zapytanie, które zwróci bardzo dużą odpowiedź do serwera DNS. W tym przypadku serwer DNS zwraca zbyt dużo danych do serwera ofiary w odpowiedzi na małe żądanie, zwiększając dostępną przepustowość atakującego.

Hostowanie publicznego rekurencyjnego serwera DNS wymaga starannej konfiguracji i administracji. Aby zapobiec włamaniom do serwera, skonfiguruj listę adresów IP lub zakresów sieci, którym serwer może ufać.

Przed blokiem opcji dodaj blok acl. Utwórz etykietę dla grupy ACL (w tym samouczku grupa nazywa się goodclients).

acl dobrych klientów (
};
opcje (
. . .

W tym bloku wypisz adresy IP lub sieci, które będą miały dostęp do tego serwera DNS. Ponieważ serwer i klient działają w podsieci /24, można ograniczyć dostęp do tej podsieci. Musisz także odblokować localhost i localnets, które łączą się automatycznie.

acl dobrych klientów (
192.0.2.0/24;
lokalny host;
sieci lokalne;
};
opcje (
. . .

Masz teraz bezpieczną listę ACL klienta. Możesz rozpocząć konfigurowanie rozwiązywania żądań w bloku opcji. Dodaj do niego następujące linie:

opcje (
katalog "/var/cache/bind";
rekurencja tak;

. . .

Blok opcji jawnie włącza rekursję, a następnie konfiguruje opcję zezwolenia na zapytanie tak, aby korzystała z listy ACL. Możesz także użyć innego parametru, takiego jak zezwolenie-rekursja, aby odwołać się do grupy ACL. Gdy rekurencja jest włączona, zezwolenie na rekurencję zdefiniuje listę klientów, którzy mogą korzystać z usług rekursywnych.

Jeśli jednak nie ustawiono opcji Zezwól na rekurencję, Bind powróci do listy Zezwól na zapytanie-pamięć podręczną, następnie do listy Zezwól na zapytanie, a na koniec do domyślnych list sieci lokalnych i hostów lokalnych. Ponieważ konfigurujemy tylko serwer buforujący (nie ma on własnych stref i nie przekazuje dalej zapytań), lista dozwolonych zapytań będzie zawsze miała zastosowanie tylko do rekurencji. Jest to najczęstszy sposób definiowania listy ACL.

Zapisz i zamknij plik.

Są to wszystkie ustawienia, które należy dodać do pliku konfiguracyjnego buforującego serwera DNS.

Notatka: Jeśli chcesz używać tylko tego typu DNS, przejdź do sprawdzenia konfiguracji, uruchom ponownie usługę i skonfiguruj swojego klienta.

3: Konfigurowanie serwera DNS przekazującego

Jeśli Twoja infrastruktura jest bardziej dostosowana do serwera DNS przekazującego, możesz nieco dostosować konfigurację.

Obecnie plik o nazwie.conf.options wygląda następująco:

acl dobrych klientów (
192.0.2.0/24;
lokalny host;
sieci lokalne;
};
opcje (
katalog "/var/cache/bind";
rekurencja tak;
zezwolenie-zapytanie(dobrzy klienci;);
automatyczna walidacja dnssec;
auth-nxdomain no; # zgodny z RFC1035
nasłuchiwanie na v6 (dowolny; );
};

Możesz użyć tej samej listy ACL, aby ograniczyć serwer DNS do określonej listy klientów. Wymaga to jednak niewielkiej zmiany konfiguracji, aby serwer nie próbował już wykonywać zapytań rekurencyjnych.

Nie zmieniaj rekurencji na nie. Serwer przekierowujący nadal obsługuje usługi rekurencyjne. Aby skonfigurować serwer przekierowań, musisz utworzyć listę serwerów buforujących, do których będzie on przekierowywał żądania.

Odbywa się to w bloku opcji(). Najpierw musisz utworzyć w nim nowy blok forwarderów, w którym będą przechowywane adresy IP rekurencyjnych serwerów nazw, do których chcesz przekierowywać żądania. W tym przypadku będą to serwery Google DNS (8.8.8.8 i 8.8.4.4):

. . .
opcje (
katalog "/var/cache/bind";
rekurencja tak;
zezwolenie-zapytanie(dobrzy klienci;);
spedytorzy(

8.8.8.8;

8.8.4.4;

};
. . .

Wynikowa konfiguracja wygląda następująco:

acl dobrych klientów (
192.0.2.0/24;
lokalny host;
sieci lokalne;
};
opcje (
katalog "/var/cache/bind";
rekurencja tak;
zezwolenie-zapytanie(dobrzy klienci;);
spedytorzy(
8.8.8.8;
8.8.4.4;
};
tylko do przodu;
automatyczna walidacja dnssec;
auth-nxdomain no; # zgodny z RFC1035
nasłuchiwanie na v6 (dowolny; );
};

Ostatnia zmiana dotyczy parametru dnssec. Przy aktualnej konfiguracji i w zależności od ustawień serwerów DNS, do których przekierowywane są żądania, w logach mogą pojawiać się następujące błędy:

25 czerwca 15:03:29 pamięć podręczna o nazwie: błąd (prześcig serwerów DS) podczas rozwiązywania „in-addr.arpa/DS/IN”: 8.8.8.8#53
25 czerwca 15:03:29 Pamięć podręczna o nazwie: błąd (brak prawidłowego DS) podczas rozwiązywania „111.111.111.111.in-addr.arpa/PTR/IN”: 8.8.4.4#53

Aby ich uniknąć, musisz zmienić parametr dnssec-validation na tak i jawnie włączyć dnssec.

. . .
tylko do przodu;
Włącz dnssec tak;
weryfikacja dnssec tak;
auth-nxdomain no; # zgodny z RFC1035
. . .

Zapisz i zamknij plik. Konfiguracja serwera DNS przekazującego została zakończona.

4: Sprawdź ustawienia i uruchom ponownie Bind

Teraz musisz upewnić się, że ustawienia działają zgodnie z oczekiwaniami.

Aby sprawdzić składnię plików konfiguracyjnych wpisz:

sudo o nazwie-checkconf

Jeśli w plikach nie ma błędów, wiersz poleceń nie wyświetli żadnych wyników.

Jeśli pojawi się komunikat o błędzie, popraw go i przetestuj ponownie.

Następnie możesz ponownie uruchomić demona Bind, aby zaktualizować ustawienia.

Uruchom ponownie usługę sudo bind9

Następnie musisz sprawdzić logi serwera. Uruchom komendę na serwerze:

sudo tail -f /var/log/syslog

Teraz otwórz nowy terminal i rozpocznij konfigurowanie komputera klienckiego.

5: Konfiguracja klienta

Zaloguj się do komputera klienckiego. Sprawdź, czy klient został wymieniony w grupie ACL skonfigurowanego serwera DNS. W przeciwnym razie serwer DNS odmówi obsługi żądań od tego klienta.

Edytuj plik /etc/resolv.conf, aby wskazać serwerowi serwer nazw.

Wprowadzone tutaj zmiany będą obowiązywać tylko do ponownego uruchomienia komputera, co doskonale nadaje się do testowania. Jeśli jesteś zadowolony z wyników ustawień testowych, możesz ustawić te ustawienia na stałe.

Otwórz plik za pomocą sudo w edytorze tekstu:

sudo nano /etc/resolv.conf

Plik musi zawierać listę serwerów DNS, które będą używane do rozwiązywania zapytań. Aby to zrobić, użyj dyrektywy serwera nazw. Skomentuj wszystkie bieżące wpisy i dodaj linię serwera nazw wskazującą na Twój serwer DNS:

serwer nazw 192.0.2.1
# serwer nazw 8.8.4.4
# serwer nazw 8.8.8.8
# serwer nazw 209.244.0.3

Zapisz i zamknij plik.

Możesz teraz wysłać żądanie testowe, aby upewnić się, że zostało ono poprawnie rozwiązane.

Możesz do tego użyć polecenia ping:

ping -c 1 google.com
PING google.com (173.194.33.1) 56(84) bajtów danych.
64 bajty z sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 czas=63,8 ms
--- Statystyki pingów google.com ---
1 pakiet wysłany, 1 odebrany, 0% utraty pakietów, czas 0 ms
rt min/średni/maks./mdev = 63,807/63,807/63,807/0,000 ms

Aby przyspieszyć przeglądanie stron internetowych, system operacyjny Windows buforuje odpowiedzi serwera DNS. Natychmiast po nadejściu odpowiedzi z serwera DNS w celu ustalenia numeru system Windows automatycznie umieszcza ten adres w pamięci lokalnej. Gdy przeglądarka żąda adresu URL, system Windows najpierw szuka go w pamięci, a jeśli go znajdzie, natychmiast zwraca wynik bez kontaktowania się z serwerami DNS dostawcy usług internetowych. Lokalna pamięć podręczna zwiększa prędkość i oszczędza ruch.

Czyszczenie lokalnej pamięci podręcznej DNS

Jeżeli podczas przechowywania adresu w pamięci lokalnej informacje zostaną uszkodzone lub adres IP ulegnie zmianie, przeglądarka nie będzie mogła otworzyć witryny. To nie zdarza się zbyt często. Na szczęście istnieje sposób na wyczyszczenie lokalnej pamięci podręcznej i natychmiastowe rozwiązanie problemu.

System operacyjny Windows ma narzędzie ipconfig, który ma taką opcję /flushdns aby wyczyścić wszystkie wpisy w pamięci podręcznej. Jeśli chcesz wyczyścić lokalną pamięć podręczną, w oknie wiersza poleceń ( StartProgramy(Wszystkie programy) - StandardLinia poleceń) należy wpisać polecenie ipconfig /flushdns i naciśnij klawisz Enter.

Aby wyświetlić wszystkie rekordy DNS w pamięci lokalnej, możesz skorzystać z opcji /wyświetlacz zespoły ipconfig. Aby to zrobić, wpisz polecenie w oknie wiersza poleceń ipconfig / wyświetlanedns i naciśnij klawisz Enter. W oknie pojawią się wszystkie buforowane rekordy odpowiedzi DNS.

Ustawianie czasu przechowywania pamięci podręcznej

Zazwyczaj system Windows przechowuje adresy nie dłużej niż 86 400 sekund (1 dzień), ale czas przechowywania można ograniczyć do innego limitu. Aby to zrobić, musisz otworzyć edytor rejestru (w wierszu poleceń wpisz polecenie regedit i naciśnij Enter). W lewym panelu edytora znajduje się drzewo kluczy rejestru, które przypomina foldery na dysku twardym. W tym drzewie, klikając odpowiednie ikony rozwijania folderów (znak plus), należy otworzyć ścieżkę HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters, a następnie umieść kursor na folderze w tym drzewie Parametry. Zawartość tego klucza (folderu) pojawi się w prawym okienku edytora rejestru.

Wartość DWORD parametru MaxCacheTtl określa limity czasu przechowywania odpowiedzi w sekundach. Można go zmienić na dowolny inny. Jeżeli parametr MaxCacheTtl nie, oznacza to, że standardowy limit jest ustawiony na 86400 sekund. Aby to zmienić, musisz utworzyć parametr MaxCacheTtl wpisz DWORD z wartością równą wymaganemu limitowi. Parametr MaxCacheTtl Ogranicza jedynie czas przechowywania pozytywnych odpowiedzi, czyli wtedy, gdy możliwe było ustalenie adresu IP z nazwy domeny.

Jeśli serwer DNS dostawcy zwrócił odpowiedź negatywną (nie mógł ustalić adresu), jest on również przechowywany w pamięci lokalnej. Zazwyczaj odpowiedź ta jest przechowywana przez 15 minut. Oznacza to, że jeżeli podczas odwiedzania strony nie udało się ustalić jej adresu IP, to w ciągu 15 minut odwiedzenie strony nie będzie możliwe, nawet jeśli w tym czasie będzie ona dostępna. Aby tego uniknąć, należy skrócić czas przechowywania odpowiedzi negatywnych lub całkowicie wyłączyć ich przechowywanie. Aby ustawić czas przechowywania, należy dostosować (lub utworzyć, jeśli go brakuje) parametr DWORD MaxNegativeCacheTtl, co ogranicza maksymalny czas przechowywania odpowiedzi negatywnych. Aby wyłączyć ich przechowywanie, po prostu ustaw czas przechowywania na zero.

Tymczasowo wyłącz buforowanie odpowiedzi DNS

Jeśli chcesz tymczasowo wyłączyć buforowanie adresów w pamięci lokalnej, musisz wpisać polecenie w wierszu poleceń zatrzymanie sieci dnscache(Lub sc zatrzymaj dnscache) i naciśnij Enter. Aby włączyć go ponownie, wpisz polecenie w wierszu poleceń Netstart dnscache(Lub scstart dnscache) i naciśnij Enter lub uruchom ponownie komputer.

Pamięć podręczna DNS to tymczasowa baza danych przechowująca informacje o poprzednich wyszukiwaniach DNS. Innymi słowy, za każdym razem, gdy odwiedzasz witrynę internetową, Twój system operacyjny i przeglądarka internetowa rejestrują domenę i odpowiadający jej adres IP. Eliminuje to potrzebę powtarzania zapytań do zdalnych serwerów DNS i umożliwia systemowi operacyjnemu lub przeglądarce szybkie rozpoznawanie adresów URL witryn.

Jednak w niektórych sytuacjach, np. podczas rozwiązywania problemów z siecią lub po zmianie programów rozpoznawania nazw DNS, konieczne jest wyczyszczenie pamięci podręcznej DNS. Spowoduje to wyczyszczenie buforowanych rekordów DNS i wykonanie kolejnych wyszukiwań w celu rozpoznania domeny na podstawie nowo skonfigurowanych ustawień DNS.

W tym artykule znajdują się instrukcje dotyczące czyszczenia pamięci podręcznej DNS w inny sposób systemy operacyjne i przeglądarek internetowych.

Wyczyść/usuń pamięć podręczną DNS w systemie Windows

Proces czyszczenia pamięci podręcznej DNS jest taki sam dla wszystkich wersji systemu Windows. Musisz otworzyć wiersz poleceń z uprawnieniami administratora i uruchomić ipconfig /flushdns.

Windows 10 i Windows 8

Aby wyczyścić pamięć podręczną DNS w systemie Windows 10 i 8, wykonaj następujące kroki:

  1. Wpisz cmd w pasku wyszukiwania systemu Windows.
  2. ipconfig /flushdns

    Windows 7

    Aby wyczyścić pamięć podręczną DNS w systemie Windows 7, wykonaj następujące kroki:

    1. Kliknij przycisk Start.
    2. Wpisz cmd w polu tekstowym wyszukiwania w menu Start.
    3. Kliknij prawym przyciskiem myszy Wiersz poleceń i wybierz Uruchom jako administrator. Spowoduje to otwarcie okna wiersza poleceń.
    4. W wierszu poleceń wpisz następujący wiersz i naciśnij klawisz Enter:

      ipconfig /flushdns

      Jeśli się powiedzie, system zwróci następujący komunikat:

      Konfiguracja IP systemu Windows Pomyślnie opróżniono pamięć podręczną modułu rozpoznawania nazw DNS.

    Wyczyść/usuń pamięć podręczną DNS w systemie Linux

    Linux nie obsługuje buforowania DNS na poziomie systemu operacyjnego, chyba że jest zainstalowana i uruchomiona usługa buforowania, taka jak Systemd-Resolved, DNSMasq lub Nscd. Proces czyszczenia pamięci podręcznej DNS różni się w zależności od używanej usługi dystrybucji i buforowania.

    Rozwiązanie systemowe

    Większość nowoczesnych dystrybucji Linuksa, takich jak , korzysta z usługi systemowej do buforowania rekordów DNS.

    Aby sprawdzić, czy usługa jest uruchomiona, uruchom:

    sudo systemctl is-active systemd-resolved.service

    Jeśli usługa jest uruchomiona, polecenie zostanie wydrukowane jako aktywne, w przeciwnym razie wyświetli się komunikat nieaktywny.

    Aby wyczyścić pamięć podręczną Systemd Resolved DNS, musisz wprowadzić następujące polecenie.

    sudo systemd-resolve --flush-cache

    Jeśli się powiedzie, polecenie nie zwróci żadnego komunikatu.

    Dnsmasq

    Dnsmasq to lekki serwer buforujący nazwy DHCP i DNS.

    Jeśli Twój system używa DNSMasq jako serwera buforującego, aby wyczyścić pamięć podręczną DNS, musisz ponownie uruchomić usługę Dnsmasq:

    sudo systemctl uruchom ponownie dnsmasq.service

    Sudo ponowne uruchomienie usługi dnsmasq

    Nscd

    Nscd to demon buforujący i system buforujący DNS wybierany w większości dystrybucji opartych na RedHat.

    Jeśli Twój system korzysta z Nscd, będziesz musiał ponownie uruchomić usługę Nscd, aby wyczyścić pamięć podręczną DNS:

    sudo systemctl uruchom ponownie nscd.service

    sudo ponowne uruchomienie usługi nscd

    Wyczyść/usuń pamięć podręczną DNS w systemie MacOS

    Polecenie czyszczenia pamięci podręcznej w systemie MacOS różni się nieco w zależności od używanej wersji. Polecenie należy uruchomić jako użytkownik z uprawnieniami administratora systemu (użytkownik sudo).

    Aby wyczyścić pamięć podręczną DNS w systemie MacOS, wykonaj następujące kroki:

    1. Otwórz Findera.
    2. Wybierz kolejno Aplikacje > Narzędzia > Terminal. Spowoduje to otwarcie okna terminala.
    3. W wierszu poleceń wpisz następujący wiersz i naciśnij klawisz Enter:

      sudo killall -HUP mDNSResponder

      Wprowadź hasło sudo i ponownie naciśnij klawisz Enter. Jeśli operacja się powiedzie, system nie zwróci żadnych komunikatów.

    Aby uzyskać więcej wcześniejsze wersje Polecenie czyszczenia pamięci podręcznej systemu MacOS jest inne.

    Wersje MacOS 10.11 i 10.9

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    Wersja MacOS-u 10.10

    odkrywanie sudoutil mdnsflushcache odkrywanie sudoutil udnsflushcaches

    Wersje MacOS 10.6 i 10.5

    sudo dscacheutil -flushcache

    Wyczyść/usuń pamięć podręczną DNS przeglądarki

    Większość nowoczesnych przeglądarek internetowych ma wbudowanego klienta DNS, który zapobiega powielaniu zapytań przy każdej wizycie na stronie internetowej.

    GoogleChrome

    Aby wyczyścić pamięć podręczną DNS GoogleChrome wykonaj następujące kroki:

    1. Otwórz nową kartę i wpisz pasek adresu Chrome: chrome://net-internals/#dns.
    2. Kliknij przycisk Wyczyść pamięć podręczną hosta.

    Jeśli to nie zadziała, spróbuj wyczyścić pamięć podręczną i pliki cookie.

    1. Naciśnij klawisze CTRL+Shift+Del, aby otworzyć okno dialogowe Wyczyść dane przeglądania.
    2. Wybierz zakres czasu. Wybierz „Cały czas”, aby usunąć wszystko.
    3. Sprawdź „ Ciastka i inne dane witryny” oraz „Obrazy i pliki zapisane w pamięci podręcznej”.
    4. Kliknij przycisk „Wyczyść dane”.

    Ta metoda powinna działać we wszystkich przeglądarkach opartych na przeglądarce Chrome, w tym Chromium, Vivaldi i Opera.

    FireFox

    Aby wyczyścić pamięć podręczną DNS przeglądarki Firefox, wykonaj następujące kroki:

    1. W prawym górnym rogu kliknij ikonę hamburgera ☰, aby otworzyć menu Firefoksa:
    2. Kliknij link ⚙ Opcje (Preferencje).
    3. Kliknij zakładkę „Prywatność i bezpieczeństwo” lub „Poufność” po lewej stronie.
    4. Przewiń w dół do sekcji Historia i kliknij przycisk Wyczyść historię....
    5. Wybierz zakres czasu do wyczyszczenia. Wybierz opcję „Wszystkie”, aby wszystko usunąć.
    6. Zaznacz wszystkie pola i kliknij Wyczyść teraz.

    Jeśli to nie zadziała, wypróbuj następną metodę i tymczasowo wyłącz pamięć podręczną DNS.

    1. Otwórz nową kartę i wpisz about:config w pasku adresu przeglądarki Firefox.
    2. Znajdź network.dnsCacheExpiration, tymczasowo ustaw wartość na 0 i kliknij OK. Następnie zmień wartość domyślną i kliknij OK.
    3. Znajdź network.dnsCacheEntries, tymczasowo ustaw wartość na 0 i kliknij OK. Następnie zmień wartość domyślną i kliknij OK.

    Wniosek

    Nauczyłeś się, jak wyczyścić lub wyczyścić pamięć podręczną DNS podczas działania Systemy Windows, Linux i MacOS.

    Linux i MacOS mogą używać polecenia dig do wysyłania zapytań do DNS i rozwiązywania problemów z DNS.

    Jeśli masz jakieś pytania lub uwagi, nie wahaj się zostawić komentarza.

artem

30.10.2013

10379

Konfigurowanie buforującego serwera DNS w celu rozwiązania problemu z zawieszaniem się chan_sip.so.

Moduł Asterisk SIP synchronicznie rozpoznaje nazwy DNS; jeśli serwer DNS z jakiegoś powodu przestanie odpowiadać na żądania, kod modułu SIP przestaje być wykonywany przed upływem limitu czasu żądania DNS. W rezultacie wszyscy klienci i dostawcy połączeni za pośrednictwem protokołu SIP nie działają, klienci nie mogą się rejestrować ani wykonywać połączeń.
Sposoby rozwiązania problemu:
1. Nie podawaj nazw DNS w parametrze „host” peerów SIP, a w wierszach rejestracji SIP podawaj tylko adresy IP (pozwala to całkowicie wyeliminować możliwość wystąpienia problemu, ale u niektórych dostawców nie jest to możliwe).
2. Skonfiguruj buforujący serwer DNS na hoście Asterisk.

W tym artykule opisano, jak rozwiązać problem za pomocą BIND serwery DNS(instrukcje są poprawne dla CentOS 5-6)

Konfigurowanie serwera DNS BIND

1. Zainstaluj BIND, skopiuj szablony ustawień i standardowe pliki stref

mniam, zainstaluj 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. Edytuj konfigurację BIND /var/named/chroot/etc/named.conf

Należy wprowadzić następujące zmiany w konfiguracji:

> Dodaj następujący wiersz do sekcji opcji:

Możesz określić swoje serwery DNS. Jeśli nie określisz tej linii, BIND zapyta główne serwery DNS, co jest wolniejsze

> Zezwól na zapytania rekurencyjne dla strefy widoku „localhost_resolver” (zamień „rekursja nie” na „rekursja tak”; jeśli nie zostanie to zrobione, sam host nie będzie mógł wykonywać zapytań rekurencyjnych przez serwer DNS). Zapytania rekurencyjne i zapytania dotyczące pamięci podręcznej dla innych stref można wyłączyć

> Skomentuj lub usuń sekcje odpowiedzialne za konfigurację stref wewnętrznych i DDNS, ponieważ po prostu ich nie będzie

Lista wynikowej konfiguracji:

//
// Przykładowy plik konfiguracyjny o nazwie.conf BIND „nazwany” plik konfiguracyjny serwera DNS
// dla Dystrybucja Red Hat BIND.
// Aby uzyskać szczegółowe informacje, zobacz Podręcznik referencyjny administratora BIND (ARM), w:
// file:///usr/share/doc/bind-*/arm/Bv9ARM.html
// Zobacz także GUI konfiguracji BIND: /usr/bin/system-config-bind i
// jego instrukcja.
opcje
{
// Z tych opcji należy korzystać ostrożnie, ponieważ wyłączają port
//randomizacja
// port źródła zapytania 53;
// źródło-zapytania-v6 port 53;

// Umieść pliki, których nazwa jest dozwolona do zapisu w katalogu data/:
katalog „/var/named”; //domyślny
plik zrzutu „data/cache_dump.db”;
plik statystyk „data/named_stats.txt”;
plik memstatistics „data/named_mem_stats.txt”;
maksymalny rozmiar pamięci podręcznej 2097152;

spedytorzy ( 8.8.8.8; 8.8.4.4; );
};
//wycięcie lasu
//{
/* Jeśli chcesz włączyć debugowanie, np. za pomocą polecenia „rndc trace”,
* nazwane spróbuje zapisać plik „named.run” w katalogu $ (/var/named).
* Domyślnie polityka SELinux nie pozwala na modyfikację katalogu /var/named,
* więc umieść domyślny plik dziennika debugowania w data/ :
*/
// kanał default_debug (
// plik „data/named.run”;
// dotkliwość dynamiczna;
// };
//};
// Wszystkie strefy BIND 9 znajdują się w „widoku”, który umożliwia obsługę różnych stref
// do różnych typów adresów klientów i do ustawiania opcji dla grup
// stref.
// Domyślnie, jeśli plik Name.conf nie zawiera klauzul „widok”, wszystkie strefy znajdują się w pliku
// Widok „domyślny”, który pasuje do wszystkich klientów.
// Jeśli plik nazwany.conf zawiera klauzulę „widok”, wówczas wszystkie strefy MUSZĄ znajdować się w widoku;
// dlatego zaleca się rozpoczęcie od widoków, aby uniknąć konieczności restrukturyzacji
// Twoje pliki konfiguracyjne w przyszłości.
zobacz „localhost_resolver”
{
/* Ten widok ustawia name jako funkcję rozpoznawania nazw hostów lokalnych (serwer nazw buforujący tylko).
* Jeśli wszystko, czego potrzebujesz, to serwer nazw obsługujący tylko pamięć podręczną, wystarczy zdefiniować ten widok:
*/
match-clients(localhost;);
miejsca docelowe dopasowania (localhost;);
rekurencja tak;

/* są to strefy zawierające definicje wszystkich hostów lokalnych
* nazwy i adresy, zgodnie z zaleceniami RFC1912 – te nazwy powinny
* Obsługiwane TYLKO dla klientów localhost:
*/
dołącz „/etc/named.rfc1912.zones”;
};
zobacz „wewnętrzne”
{
/* Ten widok będzie zawierał strefy, które chcesz obsługiwać tylko dla klientów „wewnętrznych”.
które łączą się poprzez bezpośrednio podłączone interfejsy LAN – „sieci lokalne”.
*/
match-clients(sieci lokalne;);
miejsca docelowe dopasowania (sieci lokalne;);
rekurencja nie;

Zezwalaj na pamięć podręczną zapytań (brak; );

// wszystkie widoki muszą zawierać strefę wskazówek głównych:
dołącz „/etc/named.root.hints”;

// dołącz „named.rfc1912.zones”;
// nie powinieneś podawać nazw RFC1912 klientom innym niż localhost.

// To są Twoje „autorytatywne” strefy wewnętrzne i prawdopodobnie tak będzie
// być również uwzględnione w powyższym widoku „localhost_resolver”:

//strefa „moja.strefa wewnętrzna” (
// wpisz mistrz;
// plik „my.internal.zone.db”;
//};
//strefa „my.slave.internal.zone” (
// wpisz niewolnik;
// plik „slaves/my.slave.internal.zone.db”;
// masters ( /* wstaw tutaj adresy IP głównego serwera nazw */ 127.0.0.1; ) ;
// // umieść strefy slave w katalogu slaves/, aby nazwa mogła je aktualizować
//};
//strefa „moja.ddns.internal.zone” (
// wpisz mistrz;
// zezwolenie na aktualizację ( klucz ddns_key; );
// plik „slaves/my.ddns.internal.zone.db”;
// // umieść dynamicznie aktualizowalne strefy w katalogu slave/, aby nazwa mogła je aktualizować
//};
};
//klucz ddns_key
//{
// algorytm hmac-md5;
// sekret „użyj /usr/sbin/dns-keygen do wygenerowania kluczy TSIG”;
//};
zobacz „zewnętrzne”
{
/* Ten widok będzie zawierał strefy, które chcesz obsługiwać tylko dla klientów „zewnętrznych”.
* które mają adresy, które nie znajdują się w bezpośrednio podłączonych podsieciach interfejsu LAN:
*/
klienci dopasowania ( any; );
miejsca docelowe dopasowania ( any; );

rekurencja nie;
// prawdopodobnie chciałbyś zabronić rekurencji klientom zewnętrznym, więc tego nie robisz
// w efekcie zapewniamy bezpłatną usługę DNS wszystkim chętnym

Zezwól na zapytanie-cache (brak; );
// Wyłącz wyszukiwanie wszelkich danych w pamięci podręcznej i wskazówek dotyczących rootów

// wszystkie widoki muszą zawierać strefę wskazówek głównych:
dołącz „/etc/named.root.hints”;

// To są Twoje „autorytatywne” strefy zewnętrzne i prawdopodobnie tak będzie
// zawierają wpisy dotyczące tylko Twoich serwerów internetowych i pocztowych:

//strefa „moja.strefa.zewnętrzna” (
// wpisz mistrz;
// plik „my.external.zone.db”;
//};
};

3. Uruchom BIND, włącz uruchamianie przy uruchomieniu systemu

usługa o nazwie start

Jeśli występują błędy w składni konfiguracji lub brakuje jakichkolwiek plików, na konsolę zostanie wyświetlony komunikat o błędzie, który zostanie zapisany w dzienniku /var/log/messages



Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: