Jak skonfigurować lokalny DNS przy użyciu pliku /etc/hosts w systemie Linux
DNS (System lub usługa nazw domen) to hierarchiczny zdecentralizowany system/usługa nazewnictwa, który tłumaczy nazwy domen na adresy IP w Internecie lub sieci prywatnej oraz serwer, który udostępnia takie usługa nazywa się serwerem DNS.
W tym artykule wyjaśniono, jak skonfigurować lokalny DNS przy użyciu pliku hosts (/etc/hosts) w systemach Linux w celu rozpoznania domeny lokalnej lub przetestowania witryny przed publikacją.
Na przykład możesz chcieć przetestować witrynę lokalnie z niestandardową nazwą domeny przed jej publicznym udostępnieniem, modyfikując plik /etc/hosts w systemie lokalnym, tak aby wskazywał nazwę domeny na adres IP skonfigurowany lokalny serwer DNS.
/etc/hosts to plik systemu operacyjnego, który tłumaczy nazwy hostów lub nazw domen na adresy IP. Jest to przydatne do testowania zmian w witrynach internetowych lub konfiguracji protokołu SSL przed udostępnieniem witryny publicznie.
Uwaga: ta metoda zadziała tylko wtedy, gdy hosty mają statyczny adres IP. Dlatego upewnij się, że ustawiłeś statyczne adresy IP dla hostów lub węzłów z systemem Linux, na których działają inne systemy operacyjne.
Na potrzeby tego artykułu będziemy używać następujących domen, nazw hostów i adresów IP (użyj wartości mających zastosowanie do ustawień lokalnych).
Domain: tecmint.lan
Host 1: ubuntu.tecmint.lan 192.168.56.1
Host 2: centos.tecmint.lan 192.168.56.10
Zrozumienie przełącznika usługi nazw w systemie Linux
Zanim przejdziesz dalej, powinieneś poznać kilka rzeczy na temat innego ważnego pliku, jakim jest /etc/nsswitch.conf. Zapewnia funkcję Przełączanie usług nazw, która kontroluje kolejność, w jakiej usługi są odpytywane o wyszukiwanie usług nazw.
Konfiguracja opiera się na zamówieniu; jeśli pliki są wcześniejsze niż dns, oznacza to, że system zapyta plik /etc/hosts przed sprawdzeniem DNS pod kątem żądań usługi nazw. Jeśli jednak DNS znajduje się przed plikami, proces wyszukiwania domeny najpierw skonsultuje się z DNS, a następnie z innymi odpowiednimi usługami lub plikami.
W tym scenariuszu chcemy wysłać zapytanie do usługi „pliki”. Aby sprawdzić zamówienie wpisz.
cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf
Skonfiguruj lokalnie DNS za pomocą pliku /etc/hosts w systemie Linux
Teraz otwórz plik /etc/hosts za pomocą wybranego edytora w następujący sposób
sudo vi /etc/hosts
Następnie dodaj poniższe linie na końcu pliku, jak pokazano na zrzucie ekranu poniżej.
192.168.56.1 ubuntu.tecmint.lan
192.168.56.10 centos.tecmint.lan
Następnie sprawdź, czy wszystko działa dobrze zgodnie z oczekiwaniami, używając polecenie ping z Host 1. Możesz pingować Host 2, używając jego nazwy domeny, np. Więc.
ping -c 4 centos.tecmint.lan
OR
ping -c 4 centos
Na Hoście 2 skonfigurowaliśmy serwer Apache HTTP. Możemy więc również sprawdzić, czy usługa tłumaczenia nazw działa w następujący sposób, wchodząc na adres URL http://centos.tecmint.lan.
Ważne: aby używać nazw domen na dowolnym hoście w sieci, musisz skonfigurować powyższe ustawienia w jego pliku /etc/hosts.
Co to oznacza, w powyższym przykładzie skonfigurowaliśmy tylko plik hosts Hosta 1 i możemy używać na nim tylko nazw domen. Aby używać tych samych nazw na Hoście 2, musimy dodać adresy i nazwy również do jego pliku hosts.
Na koniec powinieneś użyć polecenia hosta lub polecenia nslookup, aby sprawdzić, czy usługa tłumaczenia nazw faktycznie działa. Polecenia te wysyłają tylko zapytania do DNS i przeoczają wszelkie konfiguracje w /etc/hosts i /etc/nsswitch pliki .conf.
Możesz także przeczytać następujące powiązane artykuły.
- Zainstaluj i skonfiguruj serwer DNS obsługujący tylko buforowanie w RHEL/CentOS 7
- Skonfiguruj podstawowy serwer DNS z buforowaniem rekurencyjnym i skonfiguruj strefy dla domeny
- 8 poleceń Nslookup systemu Linux do rozwiązywania problemów z DNS (serwerem nazw domen)
- Przydatne przykłady poleceń „hosta” do wysyłania zapytań do wyszukiwań DNS
Otóż to! Podziel się z nami dodatkowymi przemyśleniami lub pytaniami na ten temat w sekcji komentarzy poniżej.