Kako postaviti lokalni DNS koristeći /etc/hosts datoteku u Linuxu


DNS (Domain Name System ili Service) je hijerarhijski decentralizirani sistem/usluga imenovanja koji prevodi imena domena u IP adrese na Internetu ili privatnoj mreži i serveru koji pruža takve usluga se zove DNS server.

Ovaj članak objašnjava kako podesiti lokalni DNS koristeći hosts datoteku (/etc/hosts) u Linux sistemima za rješavanje lokalne domene ili testiranje web stranice prije nego što počnete uživo.

Na primjer, možda ćete htjeti lokalno testirati web stranicu s prilagođenim imenom domene prije nego što objavite javno modificiranjem datoteke /etc/hosts na vašem lokalnom sistemu kako biste ime domene usmjerili na IP adresu lokalni DNS server koji ste konfigurisali.

/etc/hosts je datoteka operativnog sistema koja prevodi imena hostova ili imena domena u IP adrese. Ovo je korisno za testiranje promjena web stranica ili SSL podešavanja prije nego što web stranicu javno objavite.

Pažnja: Ova metoda će raditi samo ako domaćini imaju statičku IP adresu. Stoga osigurajte da ste postavili statičke IP adrese za vaše Linux hostove ili čvorove koji rade na drugim operativnim sistemima.

U svrhu ovog članka koristit ćemo sljedeće domene, imena hostova i IP adrese (koristite vrijednosti koje se primjenjuju na vaše lokalne postavke).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Razumijevanje Name Service Switch u Linuxu

Prije nego što krenete dalje, trebali biste razumjeti nekoliko stvari o drugoj važnoj datoteci koja je /etc/nsswitch.conf. Pruža funkciju Prebacivanje usluge imena koja kontrolira redoslijed kojim se traže usluge za traženje usluga imena.

Konfiguracija se zasniva na narudžbi; ako su datoteke prije dns-a, to znači da će sistem upitati datoteku /etc/hosts prije nego provjeri DNS za zahtjeve za servisom imena. Ali ako je DNS ispred datoteka, onda će proces traženja domene prvo konsultovati DNS prije bilo koje druge odgovarajuće usluge ili datoteke.

U ovom scenariju, želimo da upitamo uslugu “files”. Da biste provjerili narudžbu, otkucajte.

cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf

Konfigurišite DNS lokalno koristeći /etc/hosts datoteku u Linuxu

Sada otvorite datoteku /etc/hosts koristeći uređivač po izboru na sljedeći način

sudo vi /etc/hosts

Zatim dodajte redove ispod na kraj datoteke kao što je prikazano na snimku ekrana ispod.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Zatim testirajte da li sve radi kako treba, koristeći ping naredbu sa Hosta 1, možete pingovati Host 2 koristeći ime domene kao što je tako.

ping -c 4 centos.tecmint.lan 
OR
ping -c 4 centos

Na Host 2, postavili smo Apache HTTP server. Tako da možemo testirati da li usluga prevođenja imena radi na sljedeći način tako što ćemo otići na URL http://centos.tecmint.lan.

Važno: Da biste koristili imena domena na bilo kojem hostu na mreži, morate konfigurirati gornje postavke u njegovoj datoteci /etc/hosts.

Šta to znači, u gornjem primjeru, samo smo konfigurirali hosts datoteku Host 1 i možemo koristiti samo imena domena na njoj. Da bismo koristili ista imena na Hostu 2, moramo dodati adrese i imena u njegov host fajl.

Na kraju, trebali biste koristiti naredbu host ili naredbu nslookup da biste testirali da li usluga prevođenja imena zaista radi, ove komande samo postavljaju upite za DNS i zanemaruju sve konfiguracije u /etc/hosts i /etc/nsswitch .conf fajlovi.

Možda biste željeli pročitati i ove sljedeće povezane članke.

  1. Instalirajte i konfigurišite DNS server samo za keširanje u RHEL/CentOS 7
  2. Postavite osnovni DNS server za rekurzivno keširanje i konfigurirajte zone za domenu
  3. 8 Linux Nslookup naredbi za rješavanje problema DNS-a (Domain Name Server)
  4. Korisni primjeri naredbi 'host' za upite DNS pretraživanja

To je to! Podijelite s nama bilo kakva dodatna razmišljanja ili pitanja o ovoj temi, putem odjeljka za komentare ispod.