DNS (Domain Name System or Service) to hierarchiczny zdecentralizowany system nazewnictwa/usługa, która tłumaczy nazwy domen na adresy IP w Internecie lub sieci prywatnej, a serwer, który zapewnia taką usługę, nazywa się serwerem DNS.
w tym artykule wyjaśniono, jak skonfigurować lokalny DNS za pomocą pliku hosts (/etc / hosts) w systemach Linux do lokalnej rozdzielczości domeny lub przetestować witrynę przed uruchomieniem.
na przykład możesz chcieć przetestować witrynę lokalnie z niestandardową nazwą domeny przed publicznym uruchomieniem, modyfikując plik/etc / hosts w systemie lokalnym, aby wskazać nazwę domeny na adres IP lokalnego serwera DNS skonfigurowanego przez Ciebie.
/etc / hosts jest plikiem systemu operacyjnego, który tłumaczy nazwy hostów lub nazwy domen na adresy IP. Jest to przydatne do testowania zmian w witrynach lub konfiguracji SSL przed publicznym uruchomieniem witryny.
Uwaga: ta metoda będzie działać tylko wtedy, gdy hosty mają statyczny adres IP. Dlatego upewnij się, że masz ustawione statyczne adresy IP dla hostów lub węzłów linuksowych z innymi systemami operacyjnymi.
na potrzeby tego artykułu będziemy używać następujących domen, nazw hostów i adresów IP (użyj wartości, które odnoszą się do ustawień lokalnych).
Domain: tecmint.lanHost 1: ubuntu.tecmint.lan 192.168.56.1Host 2: centos.tecmint.lan 192.168.56.10
zrozumienie nazwy przełącznika usługi w Linuksie
zanim przejdziesz dalej, powinieneś zrozumieć kilka rzeczy na temat innego ważnego pliku, jakim jest/etc / nsswitch.conf. Zapewnia funkcjonalność przełączania usług nazw, która kontroluje kolejność zapytań usług o Wyszukiwanie usług nazw.
konfiguracja opiera się na kolejności; jeśli pliki są przed dns, oznacza to, że system zapyta plik/etc / hosts przed sprawdzeniem DNS w poszukiwaniu żądań usługi nazw. Ale jeśli DNS jest przed plikami, to proces wyszukiwania domeny najpierw skonsultuje DNS przed innymi odpowiednimi usługami lub plikami.
w tym scenariuszu chcemy odpytywać usługę „pliki”. Aby sprawdzić zamówienie, wpisz.
$ cat /etc/nsswitch.confOR$ grep hosts /etc/nsswitch.conf
Skonfiguruj DNS lokalnie za pomocą /etc/plik Hosts w Linuksie
teraz otwórz plik /etc/hosts za pomocą wybranego edytora w następujący sposób
$ sudo vi /etc/hosts
następnie dodaj linie poniżej do końca pliku, Jak pokazano na poniższym zrzucie ekranu.
192.168.56.1 ubuntu.tecmint.lan192.168.56.10 centos.tecmint.lan
następnie sprawdź, czy wszystko działa zgodnie z oczekiwaniami, używając polecenia ping z Hosta 1, Możesz pingować Hosta 2 używając jego nazwy domeny w ten sposób.
$ ping -c 4 centos.tecmint.lan OR$ ping -c 4 centos
na serwerze 2 mamy konfigurację serwera HTTP Apache. Możemy więc również sprawdzić, czy usługa tłumaczenia nazw działa w następujący sposób, przechodząc do URL http://centos.tecmint.lan.
ważne: aby używać nazw domen na dowolnym hoście w sieci, należy skonfigurować powyższe ustawienia w pliku/etc / hosts.
Co to oznacza, w powyższym przykładzie skonfigurowaliśmy tylko Plik hosts Host 1 i możemy używać tylko nazw domen na nim. Aby użyć tych samych nazw na Host 2, musimy dodać adresy i nazwy do jego pliku hosts, jak również.
na koniec powinieneś użyć polecenia host lub polecenia nslookup, aby sprawdzić, czy usługa tłumaczenia nazw rzeczywiście działa, te polecenia odpytywają tylko DNS i pomijają wszelkie konfiguracje w /etc / hosts i/etc / nsswitch.pliki konf.
Możesz również przeczytać poniższe powiązane artykuły.
- Zainstaluj i skonfiguruj serwer DNS Tylko do buforowania w RHEL/CentOS 7
- Skonfiguruj podstawowy rekurencyjny serwer DNS buforowania i skonfiguruj strefy dla domeny
- 8 poleceń Linux nslookup, aby rozwiązać problemy z DNS (Domain Name Server)
- przydatne przykłady poleceń 'host’ do wyszukiwania zapytań DNS