Wyszukiwanie w witrynie

Jak zainstalować i skonfigurować serwer DNS z pamięcią podręczną z opcją „Niepowiązany” w RHEL/CentOS 7


Buforowanie serwerów nazw przy użyciu „Unbound” (jest to oprogramowanie serwera DNS sprawdzające, rekurencyjne i buforujące), w RHEL/CentOS 6.x (gdzie x to numer wersji), użyliśmy bind oprogramowanie do konfiguracji serwerów DNS.

W tym artykule będziemy używać oprogramowania do buforowania „bez ograniczeń” do instalowania i konfigurowania serwera DNS w systemach RHEL/CentOS 7.

Serwery pamięci podręcznej DNS są używane do rozwiązywania wszelkich otrzymywanych zapytań DNS. Jeśli serwer buforuje zapytanie i w przyszłości te same zapytania żądane przez dowolnego klienta, żądanie zostanie dostarczone z pamięci podręcznej DNS „niepowiązane”, można to zrobić w ciągu milisekund niż przy pierwszym rozwiązaniu.

Buforowanie będzie działać jedynie jako agent rozwiązujący zapytanie klienta od dowolnego z dostawców usług przesyłania dalej. Korzystanie z serwera buforującego skróci czas ładowania stron internetowych, utrzymując bazę danych pamięci podręcznej na niezwiązanym serwerze.

Konfiguracja mojego serwera i klienta

W celach demonstracyjnych użyję dwóch systemów. Pierwszy system będzie działał jako główny (podstawowy) serwer DNS, a drugi system będzie działał jako lokalny klient DNS.

Główny serwer DNS
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Maszyna Klienta
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

Krok 1: Sprawdź nazwę hosta systemu i adres IP

1. Przed skonfigurowaniem buforującego serwera DNS upewnij się, że dodałeś poprawną nazwę hosta i skonfigurowałeś poprawny statyczny adres IP dla swojego systemu, jeśli nie, ustaw statyczny adres IP systemu.

2. Po ustawieniu prawidłowej nazwy hosta i statycznego adresu IP możesz je zweryfikować za pomocą poniższych poleceń.

hostnamectl
ip addr show | grep inet

Krok 2: Instalacja i konfiguracja bez ograniczeń

3. Przed zainstalowaniem pakietu „Niezwiązanego” musimy zaktualizować nasz system do najnowszej wersji, po czym możemy zainstalować pakiet niezwiązany.

yum update -y
yum install unbound -y

4. Po zainstalowaniu pakietu wykonaj kopię niezwiązanego pliku konfiguracyjnego przed wprowadzeniem jakichkolwiek zmian w oryginalnym pliku.

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. Następnie użyj dowolnego ulubionego edytora tekstu, aby otworzyć i edytować plik konfiguracyjny „unbound.conf”.

vim /etc/unbound/unbound.conf

Po otwarciu pliku do edycji wprowadź następujące zmiany:

Interfejsy

Wyszukaj Interfejs i włącz interfejs, z którego będziemy korzystać lub jeśli nasz serwer ma wiele interfejsów, musimy włączyć interfejs 0.0.0.0.

Tutaj adres IP naszego serwera to 192.168.0.50, więc w tym interfejsie będę używać adresu niezwiązanego.

Interface 192.168.0.50
Włącz obsługę protokołu IPv4 i protokołów

Wyszukaj następujący ciąg i zaznacz go jako „Tak”.

do-ip4: yes
do-udp: yes
do-tcp: yes
Włącz rejestrowanie

Aby włączyć dziennik, dodaj zmienną jak poniżej, będzie ona rejestrować wszystkie niezwiązane działania.

logfile: /var/log/unbound
Ukryj tożsamość i wersję

Włącz następujący parametr, aby ukryć zapytania id.server i hostname.bind.

hide-identity: yes

Włącz następujący parametr, aby ukryć zapytania version.server i version.bind.

hide-version: yes
Kontrola dostępu

Następnie wyszukaj kontrolę dostępu, aby zezwolić. Ma to na celu umożliwienie klientom, którzy mogą wysyłać zapytania do tego niepowiązanego serwera.

Tutaj użyłem 0.0.0.0, co oznacza, że każdy wysyła zapytanie do tego serwera. Jeśli musimy odrzucić zapytanie dotyczące pewnego zakresu sieci, możemy określić, która sieć ma zostać odrzucona w przypadku niezwiązanych zapytań.

access-control: 0.0.0.0/0 allow

Uwaga: zamiast zezwolenia możemy zastąpić je parametrem allow_snoop, co umożliwi dodatkowe parametry, takie jak dig i obsługuje zarówno rekurencyjne, jak i nierekurencyjne.

Domena niepewna

Następnie wyszukaj niepewna domena. Jeśli nasza domena działa z kluczami sec DNS, musimy zdefiniować nasz serwer dostępny dla niezabezpieczenia domeny. Tutaj nasza domena będzie traktowana jako niebezpieczna.

domain-insecure: "tecmintlocal.com
Strefy wysunięte

Następnie zmień przesyłacze dla naszego żądanego zapytania, które nie zostało spełnione przez ten serwer. Przekieruje on do domeny głównej (.) i rozwiąże zapytanie.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Na koniec zapisz i zamknij plik konfiguracyjny za pomocą wq!.

6. Po wykonaniu powyższej konfiguracji sprawdź teraz plik unbound.conf pod kątem błędów, używając następującego polecenia.

unbound-checkconf /etc/unbound/unbound.conf

7. Po sprawdzeniu pliku bez żadnych błędów, możesz bezpiecznie zrestartować usługę „niepowiązaną” i włączyć ją przy uruchomieniu systemu.

systemctl start unbound.service
sudo systemctl enable unbound.service

Krok 3: Przetestuj lokalnie pamięć podręczną DNS

8. Teraz nadszedł czas, aby sprawdzić naszą pamięć podręczną DNS, wykonując „wiercenie” (zapytanie) w jednej domenie „india.com”. Na początku wykonanie polecenia „drążka” dla domeny „india.com” zajmie kilka milisekund, a następnie wykonaj drugie ćwiczenie i zanotuj Czas zapytania potrzebne do obu ćwiczeń.

drill india.com @192.168.0.50

Czy widzisz na powyższych wynikach, że rozwiązanie pierwszego zapytania zajęło prawie 262 ms, a rozpoznanie domeny drugiego zapytania zajęło 0 ms (india.com b>).

Oznacza to, że pierwsze zapytanie jest buforowane w naszej pamięci podręcznej DNS, więc kiedy po raz drugi uruchomimy zapytanie z naszej lokalnej pamięci podręcznej DNS, możemy poprawić prędkość ładowania stron internetowych.

Krok 4: Opróżnij Iptables i dodaj reguły zapory ogniowej

9. Nie możemy używać zarówno iptables, jak i firewalld w tym samym czasie na tej samej maszynie, jeśli to zrobimy, oba będą ze sobą kolidować, dlatego dobrym pomysłem będzie usunięcie reguł ipables. Aby usunąć lub opróżnić iptables, użyj następującego polecenia.

iptables -F

10. Po trwałym usunięciu reguł iptables, teraz dodaj usługę DNS na stałe do listy firewalld.

firewall-cmd --add-service=dns
firewall-cmd --add-service=dns --permanent

11. Po dodaniu reguł usługi DNS wypisz reguły i potwierdź.

firewall-cmd --list-all

Krok 5: Zarządzanie i rozwiązywanie problemów Bez ograniczeń

12. Aby uzyskać aktualny stan serwera, użyj następującego polecenia.

unbound-control status

Zrzucanie pamięci podręcznej DNS

13. Jeśli chcesz mieć zrzut informacji o pamięci podręcznej DNS w pliku tekstowym, możesz przekierować go do jakiegoś pliku, używając poniższego polecenia do wykorzystania w przyszłości.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Aby przywrócić lub zaimportować pamięć podręczną ze zrzuconego pliku, możesz użyć następującego polecenia.

unbound-control dump_cache < /tmp/DNS_cache.txt

Opróżnianie rekordów DNS

15. Aby sprawdzić, czy konkretny adres został rozpoznany przez naszych forwarderów na serwerze niezwiązanej pamięci podręcznej, użyj poniższego polecenia.

unbound-control lookup google.com

16. Czasami, jeśli nasz serwer pamięci podręcznej DNS nie odpowie na nasze zapytanie, w międzyczasie możemy opróżnić pamięć podręczną i usunąć informacje takie jak A, AAA , NS, SO, CNAME, MX, PTR itp. .. rekordy z pamięci podręcznej DNS. Możemy usunąć wszystkie informacje za pomocą flush_zone. Spowoduje to usunięcie wszystkich informacji.

unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Aby sprawdzić, które przekierowania są aktualnie używane do rozwiązania.

unbound-control list_forwards

Krok 6: Konfiguracja DNS po stronie klienta

18. Tutaj użyłem serwera CentOS 6 jako mojego komputera klienckiego, adres IP tego komputera to 192.168.0.100 i zamierzam to zrobić aby użyć mojego niezwiązanego adresu IP serwera DNS (tj. podstawowego DNS) w konfiguracji interfejsu.

Zaloguj się na komputerze Klienta i ustaw IP podstawowego serwera DNS na adres IP naszego niezwiązanego serwera.

Uruchom polecenie setup i wybierz konfigurację sieci z menedżera sieci TUI.

Następnie wybierz konfigurację DNS, wstaw adres IP niezwiązanego serwera DNS jako Podstawowy DNS, ale tutaj użyłem zarówno opcji Podstawowy, jak i Dodatkowy, ponieważ nie mam żadnego innego serwera DNS.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Kliknij OK –> Zapisz i zakończ –> Zakończ.

19. Po dodaniu adresów IP podstawowego i dodatkowego DNS nadszedł czas na ponowne uruchomienie sieci za pomocą następującego polecenia.

/etc/init.d/network restart

20. Teraz czas uzyskać dostęp do dowolnej witryny z komputera klienckiego i sprawdzić pamięć podręczną na niezwiązanym serwerze DNS.

elinks aol.com
dig aol.com

Wniosek

Wcześniej byliśmy przyzwyczajeni do konfigurowania serwera pamięci podręcznej DNS przy użyciu pakietu bind w systemach RHEL i CentOS. Teraz widzieliśmy, jak skonfigurować serwer pamięci podręcznej DNS przy użyciu niezwiązanego pakietu. Mam nadzieję, że to rozwiąże Twoje żądanie zapytania szybciej niż pakiet powiązań.